Memecahkan masalah penyiapan ADC

Halaman ini menjelaskan beberapa masalah umum yang mungkin Anda alami saat menggunakan Kredensial Default Aplikasi (ADC).

Untuk mengetahui informasi tentang cara kerja ADC, termasuk tempat dimana kredensial ditemukan, lihat Cara kerja Kredensial Default Aplikasi.

Kredensial pengguna tidak berfungsi

Jika permintaan API Anda menampilkan pesan error tentang kredensial pengguna yang tidak didukung oleh API ini, API tidak diaktifkan dalam project atau tidak ada project kuota yang ditetapkan, tinjau informasi berikut.

Ada dua jenis Google Cloud API:

  • API berbasis resourcemenggunakan project terkait dengan resource yang diakses untuk penagihan dan kuota.

  • API berbasis klienmenggunakan project terkait dengan akun yang mengakses resource untuk penagihan dan kuota.

Ketika Anda memberikan kredensial pengguna untuk mengautentikasi ke API berbasis klien, Anda harus menentukan project yang akan digunakan untuk penagihan dan kuota. Project ini disebut project kuota.

Ada sejumlah cara untuk menentukan project kuota, termasuk opsi berikut:

  • Perbarui ADC untuk menggunakan project yang berbeda sebagai project kuota:

    gcloud auth application-default set-quota-project YOUR_PROJECT
    
  • Jika Anda memanggil REST atau RPC API secara langsung, gunakan x-goog-user-project header HTTP untuk menentukan project kuota di setiap permintaan. Untuk mengetahui detailnya, lihat Menetapkan project kuota dengan permintaan REST.

Anda harus memiliki serviceusage.services.use izin IAM agar project dapat menetapkannya sebagai project penagihan. Izin serviceusage.services.use disertakan dalam peran IAM Service Usage Consumer. Jika Anda tidak memiliki izin serviceusage.services.use untuk project apa pun, hubungi administrator keamanan atau pemilik project yang dapat memberi Anda peran Service Usage Consumer dalam project tersebut.

Untuk mengetahui informasi lebih lanjut tentang project kuota, lihat Ringkasan project kuota. Untuk mengetahui informasi tentang cara tambahan dalam menetapkan project kuota, lihat Menetapkan project kuota.

Kredensial salah

Jika kredensial Anda tampaknya tidak memberikan akses yang Anda harapkan atau tidak ditemukan, periksa hal berikut:

  • Jika menggunakan gcloud CLI untuk mengakses Google Cloud di lingkungan lokal, pastikan Anda memahami kredensial yang Anda gunakan. Saat menggunakan CLI gcloud, Anda menggunakan kredensial yang Anda berikan ke gcloud CLI dengan menggunakan perintah gcloud auth login. Anda tidak menggunakan kredensial yang diberikan kepada ADC. Untuk mengetahui informasi lebih lanjut tentang kedua set kredensial ini, lihat Kredensial ADC dan kredensial gcloud.

  • Pastikan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS ditetapkan hanya jika Anda menggunakan kunci akun layanan atau file JSON lainnya untuk ADC. Kredensial yang ditunjukkan oleh variabel lingkungan lebih diutamakan daripada kredensial lainnya, termasuk untuk Workload Identity.

  • Pastikan akun utama yang membuat permintaan memiliki peran IAM yang diperlukan. Jika Anda menggunakan kredensial pengguna, peran tersebut harus diberikan ke alamat email yang terkait dengan Akun Google. Jika Anda menggunakan akun layanan, akun layanan tersebut harus memiliki peran yang diperlukan.

  • Jika Anda memberikan kunci API bersama permintaan API, kunci API akan lebih diutamakan daripada ADC di lokasi mana pun. Jika Anda telah menetapkan GOOGLE_APPLICATION_CREDENTIALS variabel lingkungan dan menggunakan kunci API, API mungkin menampilkan peringatan yang memberitahukan bahwa kredensial yang Anda berikan ke ADC diabaikan. Untuk menghentikan peringatan, batalkan GOOGLE_APPLICATION_CREDENTIALS variabel lingkungan.

Jenis kredensial tidak dikenal

Jika permintaan API menampilkan error yang menyertakan "Error pembuatan kredensial dari JSON. Jenis kredensial tidak dikenal", pastikan Anda menggunakan kredensial yang valid. File ID klien tidak didukung untuk memberikan kredensial bagi ADC.