OAuth (Otomotiv) kullanımı

İ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.

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

  1. gcloud'da oturum açın:

    gcloud auth login
    

    gcloud bir tarayıcı penceresi açar ve 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ı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.