annotatePaths
isteklerinizi yetkilendirebilmek için ilişkili Google Cloud projesinin izin verilenler listesinde bir hizmet hesabı gerekir. Daha sonra, hizmet hesabının kimliğine bürünebilir ve isteklerde başlık olarak iletilen bir OAuth jetonu oluşturabilirsiniz.
Hizmet hesabı oluşturma
Yalnızca izin verilenler listesindeki hizmet hesaplarının annotatePaths
çağrısı yapmasına izin verildiğinden, hizmet hesabı kimliğine bürünme aracılığıyla hizmet hesabı olarak hareket etmeniz gerekir.
Hizmet hesabı oluşturma başlıklı makalede verilen talimatları uygulayın. Hizmet hesabı e-postası aşağıdaki genel biçimdedir:
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ünebilen kullanıcılar ekleme
Hizmet hesabının kimliğine bürünme yetkisine sahip 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.
Komutun başarısız olmasıyla ilgili sorunları giderme
Bu komut başarısız olursa proje sahibinden komutu sizin için çalıştırmasını veya şu 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ü bir OAuth jetonu oluşturma
annotatePaths
'i OAuth jetonu kullanarak kurmak istiyorsanız ancak jeton oluşturacak bir ortama sahip değilseniz gcloud CLI'ı kullanarak kısa ömürlü bir OAuth jetonu almak için bu bölümdeki prosedürü uygulayın. (Jetonun süresi bir saat içinde dolacak.) Daha fazla bilgi için Hizmet hesabı için kısa ömürlü kimlik bilgileri oluşturma bölümüne bakın. Aşağıdaki adımlar, bu talimatların kısaltılmış bir görünümüdür.
gcloud'da oturum açın:
gcloud auth login
gcloud, bir tarayıcı penceresi açıp 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ın ve aşağıdaki komutta 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"}'
CLI, 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 edin
Yetkilendirme sorunlarıyla karşılaşırsanız jetonu aşağıdaki URL'ye ekleyip OAUTH_TOKEN ayarını özelleştirerek OAuth jetonu izinlerinizi kontrol edebilirsiniz. (Bunu adres çubuğunuza yapıştırın.)
https://oauth2.googleapis.com/tokeninfo?access_token=OAUTH_TOKEN
Yanıtın kapsamı https://www.googleapis.com/auth/cloud-platform
olmalıdır. Aksi takdirde, kapsamı önceki bölümde gösterildiği gibi doğru şekilde ayarladığınızdan emin olun.
Üretim ortamlarında OAuth kullanma
OAuth'u üretim ortamında kullanma talimatları için Google'da kimlik doğrulama başlıklı makaleye bakın.
Sorun giderme
İsteğiniz, son kullanıcı kimlik bilgilerinin bu API tarafından desteklenmediğiyle ilgili bir hata mesajı döndürürse Kullanıcı kimlik bilgileri çalışmıyor bölümüne bakın.