İsteklerinizi annotatePaths
için yetkilendirmek istiyorsanız ilişkili Google Cloud projesi için izin verilenler listesinde bir hizmet hesabı gerekir. Daha sonra hizmet hesabının kimliğine bürünebilir ve isteklerde başlık olarak aktarılan bir OAuth jetonu oluşturabilirsiniz.
Hizmet hesabı oluşturun
Yalnızca izin verilenler listesindeki hizmet hesaplarının annotatePaths
öğesini çağırmasına izin verildiğinden, hizmet hesabı kimliğine bürünme yoluyla hizmet hesabı olarak işlem yapmanız gerekir.
Hizmet hesabı oluşturma başlıklı makalede verilen talimatları uygulayın. Hizmet hesabı e-postası aşağıdaki genel biçime sahiptir:
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Hizmet hesabı e-postasını Google işletme temsilcinize gönderin. Temsilciniz, bu hizmet hesabını
annotatePaths
çağrısı yapma yetkisi olan bir izin verilenler listesine ekler.
Hizmet hesabının kimliğine bürünebilecek kullanıcılar ekleyin
Hizmet hesabının kimliğine bürünme yetkisi olan bir kullanıcı ekleyin:
gcloud iam service-accounts add-iam-policy-binding \
SERVICE_ACCOUNT \
--member=user:USER_EMAIL \
--role=roles/iam.serviceAccountTokenCreator \
--project=PROJECT_ID
Cloud Console aracılığıyla hizmet hesabının kimliğine bürünme yetkisi olan kullanıcıları da ekleyebilirsiniz. Hizmet hesabı oluşturma başlıklı makaleye göz atın.
Komut başarısız olursa sorun giderme
Bu komut başarısız olursa proje sahibinden komutu sizin için çalıştırmasını veya aşağıdaki komutu çalıştırarak hizmet hesabında size roles/iam.serviceAccountAdmin
rolü vermesini isteyin:
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT \ --member=USER_EMAIL \ --role=roles/iam.serviceAccountAdmin \ --project=PROJECT_ID
Kısa ömürlü OAuth jetonu oluşturma
annotatePaths
hizmetini OAuth jetonu kullanarak kurmak istiyorsanız ancak jeton oluşturmak için kullanılacak bir ortam kurulumunuz yoksa gcloud KSA kullanarak kısa ömürlü bir OAuth jetonu almak için bu bölümdeki prosedürü kullanın. (Jetonun süresi bir saat içinde dolar.) Daha fazla bilgiyi Hizmet hesabı için kısa ömürlü kimlik bilgileri oluşturma bölümünde bulabilirsiniz. Aşağıdaki adımlar, bu talimatların daha kısa bir görünümüdür.
gcloud'da oturum açın:
gcloud auth login
gcloud bir tarayıcı penceresi açar ve sizden izin ister.
Projenizi ayarlayın:
gcloud config set project PROJECT_ID
print-access-token'ı kullanarak kısa ömürlü bir erişim jetonu alın:
gcloud auth print-access-token
Bu komut bir jeton döndürür. Jetonu kopyalayıp aşağıdaki komutun yardımıyla YOUR_ACCESS_TOKEN içine ekleyin:
curl -X POST \ https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT:generateAccessToken \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{"scope": ["https://www.googleapis.com/auth/cloud-platform"],"lifetime": "3600s"}'
KSA, artık
annotatePaths
'e istek gönderirken kullanabileceğiniz kısa ömürlü OAuth erişim jetonunu döndürür.
(İsteğe bağlı) OAuth jetonu izinlerini kontrol etme
Yetkilendirme sorunları yaşıyorsanız OAuth jetonu izinlerinizi kontrol etmek için jetonu aşağıdaki URL'ye ekleyip OAUTH_TOKEN öğesini özelleştirebilirsiniz. (Bunu adres çubuğunuza yapıştırın.)
https://oauth2.googleapis.com/tokeninfo?access_token=OAUTH_TOKEN
Yanıtın kapsamını https://www.googleapis.com/auth/cloud-platform
içermelidir. Görünmüyorsa, kapsamı önceki bölümde gösterildiği gibi doğru bir şekilde ayarladığınızdan emin olun.
Üretim ortamlarında OAuth kullanma
Üretim ortamında OAuth kullanma talimatları için Google'da Kimlik Doğrulama sayfasına göz atın.
Sorun giderme
İsteğiniz, son kullanıcı kimlik bilgilerinin bu API tarafından desteklenmediğine dair bir hata mesajı döndürürse Kullanıcı kimlik bilgileri çalışmıyor bölümüne göz atın.