Cara kerja Kredensial Default Aplikasi

Halaman ini menjelaskan lokasi tempat Kredensial Default Aplikasi (ADC) mencari kredensial. Memahami cara kerja ADC dapat membantu Anda memahami kredensial mana yang digunakan ADC, dan cara ADC menemukannya.

Application Default Credentials (ADC) adalah strategi yang digunakan oleh library autentikasi Google untuk menemukan kredensial secara otomatis berdasarkan lingkungan aplikasi. Library autentikasi menyediakan kredensial tersebut untuk Library Klien Cloud dan Library Klien Google API. Saat menggunakan ADC, kode Anda dapat berjalan di lingkungan pengembangan atau produksi tanpa mengubah cara aplikasi Anda melakukan autentikasi ke layanan dan API Google Cloud.

Untuk informasi tentang cara memberikan kredensial ke ADC, lihat Menyiapkan Kredensial Default Aplikasi.

Urutan penelusuran

ADC menelusuri kredensial di lokasi berikut:

  1. Variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS
  2. Kredensial pengguna disiapkan menggunakan Google Cloud CLI
  3. Akun layanan terlampir, yang ditampilkan oleh server metadata

Urutan lokasi pemeriksaan ADC untuk kredensial tidak terkait dengan kelayakan relatif setiap lokasi. Untuk mendapatkan bantuan dalam memahami cara terbaik memberikan kredensial ke ADC, lihat Menyiapkan Kredensial Default Aplikasi.

Variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS

Anda dapat menggunakan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS untuk memberikan lokasi file JSON kredensial. File JSON ini dapat berupa salah satu dari jenis file berikut:

  • File konfigurasi kredensial untuk gabungan identitas tenaga kerja

    Dengan gabungan identitas tenaga kerja, Anda dapat menggunakan penyedia identitas eksternal untuk mengautentikasi dan memberi otorisasi kepada pengguna untuk mengakses resource Google Cloud. Untuk mengetahui informasi selengkapnya, lihat Workforce identity federation dalam dokumentasi Identity and Access Management (IAM).

  • File konfigurasi kredensial untuk workload identity federation

    Dengan penggabungan workload identity, Anda dapat menggunakan penyedia identitas eksternal untuk mengautentikasi dan memberi otorisasi beban kerja untuk mengakses resource Google Cloud. Untuk informasi lebih lanjut, lihat Autentikasi dengan menggunakan library klien, gcloud CLI, atau Terraform dalam dokumentasi Identity and Access Management (IAM).

  • Kunci akun layanan

    Kunci akun layanan menimbulkan risiko keamanan dan tidak direkomendasikan. Tidak seperti jenis file kredensial lainnya, kunci akun layanan yang disusupi dapat digunakan oleh pihak tidak bertanggung jawab tanpa informasi tambahan. Untuk informasi selengkapnya, lihat Praktik terbaik untuk menggunakan dan mengelola kunci akun layanan.

Kredensial pengguna yang diberikan menggunakan gcloud CLI

Anda dapat memberikan kredensial pengguna ke ADC dengan menjalankan perintah gcloud auth application-default login. Perintah ini menempatkan file JSON yang berisi kredensial yang Anda berikan (biasanya dari Akun Google Anda sendiri) di lokasi yang dikenal pada sistem file Anda. Lokasi bergantung pada sistem operasi Anda:

  • Linux, macOS: $HOME/.config/gcloud/application_default_credentials.json
  • Windows: %APPDATA%\gcloud\application_default_credentials.json

Kredensial yang Anda berikan ke ADC menggunakan gcloud CLI berbeda dengan kredensial gcloud Anda, yaitu kredensial yang digunakan gcloud CLI untuk melakukan autentikasi ke Google Cloud. Untuk informasi selengkapnya tentang kedua set kredensial ini, lihat kredensial gcloud CLI dan kredensial ADC.

Akun layanan yang dipasang

Banyak layanan Google Cloud memungkinkan Anda melampirkan akun layanan yang dapat digunakan untuk memberikan kredensial untuk mengakses Google Cloud API. Jika ADC tidak menemukan kredensial yang dapat digunakan dalam variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS atau lokasi yang dikenal untuk kredensial Akun Google, ADC akan menggunakan server metadata untuk mendapatkan kredensial layanan tempat kode dijalankan.

Menggunakan kredensial dari akun layanan terlampir adalah metode yang disarankan untuk menemukan kredensial di lingkungan produksi di Google Cloud. Untuk menggunakan akun layanan terlampir, ikuti langkah-langkah berikut:

  1. Buat akun layanan yang dikelola pengguna.
  2. Beri akun layanan tersebut peran IAM dengan hak istimewa terendah yang ada.
  3. Lampirkan akun layanan ke resource tempat kode Anda dijalankan.

Untuk bantuan dalam membuat akun layanan, lihat Membuat dan mengelola akun layanan. Untuk bantuan terkait cara melampirkan akun layanan, lihat Melampirkan akun layanan ke resource. Untuk mendapatkan bantuan dalam menentukan peran IAM yang diperlukan untuk akun layanan Anda, lihat Memilih peran bawaan.

Langkah berikutnya