OAuth (Otomotiv) kullanımı

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.

  1. 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
    
  2. 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.

  1. gcloud'da oturum açın:

    gcloud auth login
    

    gcloud, bir tarayıcı penceresi açıp sizden izin ister.

  2. Projenizi ayarlayın:

    gcloud config set project PROJECT_ID
    
  3. 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.