Halaman ini menunjukkan cara mengonfigurasi aplikasi untuk melakukan autentikasi ke Google Cloud API seperti Compute Engine API atau AI Platform API menggunakan Workload Identity Federation armada.
Apa yang dimaksud dengan Workload Identity Federation untuk fleet?
Dengan Workload Identity Federation, workload di cluster Anda dapat melakukan autentikasi ke Google Cloud tanpa mengharuskan Anda mendownload, merotasi secara manual, dan mengelola kredensial secara umum. Sebagai gantinya, workload melakukan autentikasi menggunakan token berumur pendek yang dibuat oleh Google Cloud.
Workload Identity Federation for GKE menyediakan kumpulan identitas workload seluruh project tempat aplikasi yang berjalan di cluster GKE mendapatkan identitas. Fleet Workload Identity Federation memperluas Workload Identity Federation untuk GKE ke semua cluster anggota fleet, terlepas dari apakah cluster berada dalam project yang berbeda atau berada di luar Google Cloud. Cluster terdaftar dengan Workload Identity Federation yang diaktifkan pada langganan fleet-nya akan mendapatkan identitas menggunakan kumpulan workload identity seluruh fleet, yang memungkinkan Anda mengonfigurasi autentikasi ke Google Cloud API dan ke layanan lain di seluruh fleet, bahkan di beberapa project.
Federasi Identitas Beban Kerja Flotte juga dapat digunakan oleh Agen Connect pada beberapa jenis cluster untuk melakukan autentikasi ke Google Cloud sebagai bagian dari keanggotaan fleet, dan diperlukan untuk menggunakan beberapa fitur GKE Enterprise yang berfungsi di seluruh project, seperti Cloud Service Mesh.
Workload Identity Federation pools dan kesamaan identitas
Dengan Workload Identity Federation fleet, setiap aplikasi di fleet Anda akan mendapatkan identitas gabungan yang berbeda yang dapat digunakan untuk melakukan autentikasi ke Google Cloud dan layanan lain yang Anda kembangkan. Aplikasi mendapatkan ID utama yang dapat dikenali IAM. ID ini menggunakan sintaksis berikut:
PREFIX://iam.googleapis.com/projects/FLEET_PROJECT_NUMBER/locations/global/workloadIdentityPools/FLEET_PROJECT_ID.svc.id.goog/SELECTOR
Sintaksis ini memiliki kolom berikut:
PREFIX
:principal
atauprincipalSet
IAM bergantung pada resource yang dipilih.FLEET_PROJECT_ID.svc.id.goog
: workload identity pool untuk fleet Anda. Setiap fleet memiliki satu workload identity pool tetap yang dibuat untuk Anda.FLEET_PROJECT_NUMBER
: nomor project dari project host fleet.SELECTOR
: pemilih resource. Untuk daftar pemilih yang didukung, lihat ID utama yang didukung.
Seluruh fleet berbagi workload identity pool fleet, sehingga Anda dapat memberi aplikasi di mana saja dalam fleet, termasuk di project atau cloud lain, akses ke resource yang sama tanpa perlu mengelola akses tersebut untuk setiap cluster. Seperti fitur lain yang diaktifkan fleet, Federasi Workload Identity fleet bergantung pada prinsip kesamaan, yaitu objek Kubernetes yang memiliki nama dan namespace yang sama di cluster yang berbeda diperlakukan sebagai hal yang sama.
Misalnya, jika Anda memiliki aplikasi dengan backend yang di-deploy di beberapa
cluster dalam fleet yang sama, dan yang perlu diautentikasi ke Google Cloud
API, Anda dapat mengonfigurasi aplikasi sehingga semua workload di namespace
backend
dapat mengakses API tersebut. Untuk mengetahui informasi selengkapnya tentang cara fleet menggunakan kesamaan,
termasuk kesamaan identitas, lihat
Cara kerja fleet.
Setelah mengaktifkan Federasi Workload Identity fleet, Anda dapat mereferensikan akun utama di fleet dalam kebijakan izin IAM dengan menentukan ID akun utama yang sesuai. Misalnya, Anda dapat mereferensikan ServiceAccount tertentu di namespace Kubernetes tertentu dalam kebijakan izinkan. Semua aplikasi yang menggunakan ServiceAccount tersebut kemudian dapat mengakses resource Google Cloud yang diterapkan kebijakan izin IAM.
Alur kredensial
Agar aplikasi di namespace tertentu dapat melakukan autentikasi menggunakan Workload Identity Federation armada, Anda harus melakukan hal berikut:
Deploy ConfigMap di namespace tersebut yang memiliki informasi berikut:
- Workload identity pool dan penyedia identitas untuk cluster Anda.
- Jalur di setiap Pod tempat Kubernetes memasang token ServiceAccount. Token ini adalah Token Web JSON (JWT) yang ditandatangani.
ConfigMap ini berfungsi sebagai file kredensial default aplikasi (ADC) untuk workload.
Buat kebijakan izin IAM yang memberikan akses pada resource Google Cloud tertentu kepada ID akun utama akun utama di cluster Anda, seperti ServiceAccount di namespace.
Pastikan beban kerja Anda di namespace memiliki konfigurasi berikut dalam spesifikasi Pod:
- Variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
ditetapkan ke jalur pemasangan ConfigMap di Pod. - Volume yang diproyeksikan yang berisi token ServiceAccount dan ConfigMap yang Anda buat, dipasang di jalur yang sama dengan yang Anda tentukan dalam variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
. - Pemasangan volume di penampung yang mereferensikan volume yang diproyeksikan.
- Variabel lingkungan
Saat workload melakukan panggilan Google Cloud API, langkah-langkah berikut akan terjadi:
- Library autentikasi Google Cloud menggunakan Kredensial Default Aplikasi (ADC) untuk menemukan kredensial. ADC memeriksa jalur yang Anda
tentukan dalam variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
untuk mencari token autentikasi. - Library autentikasi ADC menggunakan data di ConfigMap untuk menukar JWT ServiceAccount yang Anda pasang di Pod dengan token akses gabungan berumur pendek dari Layanan Token Keamanan yang mereferensikan ID utama beban kerja.
- ADC menyertakan token akses gabungan dengan permintaan API.
- Kebijakan izin IAM memberikan otorisasi kepada ID akun utama untuk melakukan operasi yang diminta pada resource Google Cloud.
ID akun utama yang didukung untuk Workload Identity Federation armada
Tabel berikut menjelaskan pemilih yang dapat Anda gunakan dalam kebijakan izin IAM untuk mereferensikan akun utama dalam fleet:
Jenis ID utama | Sintaks |
---|---|
Semua Pod yang menggunakan Akun Layanan Kubernetes tertentu | Pilih ServiceAccount berdasarkan namanya:
principal://iam.googleapis.com/projects/ Ganti kode berikut:
Pilih ServiceAccount menurut UID: principal://iam.googleapis.com/projects/ Ganti kode berikut:
|
Sebelum memulai
Pastikan Anda telah menginstal alat command line berikut:
- Google Cloud CLI versi terbaru, yang mencakup
gcloud
, alat command line untuk berinteraksi dengan Google Cloud. kubectl
Jika Anda menggunakan Cloud Shell sebagai lingkungan shell untuk berinteraksi dengan Google Cloud, alat ini akan diinstal untuk Anda.
- Google Cloud CLI versi terbaru, yang mencakup
Pastikan Anda telah melakukan inisialisasi gcloud CLI untuk digunakan dengan project Anda.
Menyiapkan cluster
Sebelum aplikasi di fleet Anda dapat menerima identitas gabungan, cluster tempat aplikasi tersebut berjalan harus terdaftar ke fleet Anda dan dikonfigurasi dengan benar untuk menggunakan Workload Identity Federation fleet. Bagian berikut menjelaskan cara menyiapkan Workload Identity Federation untuk berbagai jenis cluster.
GKE
Untuk cluster GKE, lakukan hal berikut:
- Aktifkan Federasi Workload Identity untuk GKE di cluster Google Kubernetes Engine, jika belum diaktifkan.
- Daftarkan cluster ke fleet.
Anda juga dapat mengaktifkan Workload Identity Federation untuk GKE selama proses pembuatan cluster dan pendaftaran fleet.
Cluster di luar Google Cloud
Jenis cluster berikut akan otomatis mengaktifkan Workload Identity Federation fleet dan terdaftar ke fleet Anda selama pembuatan cluster:
- Google Distributed Cloud (khusus software) di VMware
- Google Distributed Cloud (khusus software) di bare metal
- GKE on AWS
- GKE on Azure
Cluster terpasang
Cluster terlampir EKS dan AKS yang terdaftar menggunakan GKE Multi-Cloud API terdaftar dengan Workload Identity Federation fleet yang diaktifkan secara default. Cluster lain yang terpasang dapat didaftarkan dengan mengaktifkan Workload Identity Federation fleet jika memenuhi persyaratan yang diperlukan. Ikuti petunjuk untuk jenis cluster Anda di Mendaftarkan cluster.
Menggunakan Workload Identity Federation fleet dalam aplikasi
Langkah-langkah berikut menunjukkan cara mengonfigurasi beban kerja di cluster terdaftar untuk menggunakan Workload Identity Federation fleet:
Temukan nama workload identity pool dan penyedia identitas cluster Anda:
gcloud container fleet memberships describe MEMBERSHIP_ID \ --project=FLEET_PROJECT_ID \ --format="table(authority.identityProvider,authority.workloadIdentityPool,name)"
Ganti kode berikut:
MEMBERSHIP_ID
: nama keanggotaan cluster. Nama ini sering kali berupa nama cluster Anda.FLEET_PROJECT_ID
: project ID dari project host armada.
Outputnya mirip dengan hal berikut ini:
IDENTITY_PROVIDER: IDENTITY_PROVIDER WORKLOAD_IDENTITY_POOL: WORKLOAD_IDENTITY_POOL NAME: projects/FLEET_PROJECT_ID/locations/MEMBERSHIP_LOCATION/memberships/MEMBERSHIP_ID
Output ini berisi informasi berikut:
IDENTITY_PROVIDER
: penyedia identitas untuk cluster.MEMBERSHIP_LOCATION
: lokasi keanggotaan armada. Lokasi ini biasanya sama dengan lokasi cluster Anda.WORKLOAD_IDENTITY_POOL
: nama workload identity pool yang terkait dengan fleet Anda. Nilai ini memiliki sintaksisFLEET_PROJECT_ID.svc.id.goog
.
Buat namespace Kubernetes. Anda juga dapat menggunakan namespace yang ada, termasuk namespace
default
.kubectl create namespace NAMESPACE
Ganti
NAMESPACE
dengan nama namespace.Buat Akun Layanan Kubernetes baru di namespace. Anda juga dapat menggunakan ServiceAccount yang ada, termasuk ServiceAccount
default
di namespace.kubectl create serviceaccount KSA_NAME \ --namespace=NAMESPACE
Ganti
KSA_NAME
dengan nama ServiceAccount.Simpan manifes berikut sebagai
adc-config-map.yaml
. ConfigMap ini berisi konfigurasi ADC untuk workload.kind: ConfigMap apiVersion: v1 metadata: namespace: NAMESPACE name: my-cloudsdk-config data: config: | { "type": "external_account", "audience": "identitynamespace:WORKLOAD_IDENTITY_POOL:IDENTITY_PROVIDER", "subject_token_type": "urn:ietf:params:oauth:token-type:jwt", "token_url": "https://sts.googleapis.com/v1/token", "credential_source": { "file": "/var/run/secrets/tokens/gcp-ksa/token" } }
Men-deploy ConfigMap:
kubectl create -f adc-config-map.yaml
Simpan manifes berikut sebagai
workload-config.yaml
:apiVersion: v1 kind: Pod metadata: name: my-pod namespace: NAMESPACE spec: serviceAccountName: KSA_NAME containers: - name: sample-container image: google/cloud-sdk:slim command: ["sleep","infinity"] env: - name: GOOGLE_APPLICATION_CREDENTIALS value: /var/run/secrets/tokens/gcp-ksa/google-application-credentials.json volumeMounts: - name: gcp-ksa mountPath: /var/run/secrets/tokens/gcp-ksa readOnly: true volumes: - name: gcp-ksa projected: defaultMode: 420 sources: - serviceAccountToken: path: token audience: WORKLOAD_IDENTITY_POOL expirationSeconds: 172800 - configMap: name: my-cloudsdk-config optional: false items: - key: "config" path: "google-application-credentials.json"
Saat Anda men-deploy beban kerja ini, volume
gcp-ksa
di Pod akan berisi data berikut:- Data dalam ConfigMap yang Anda deploy sebagai file bernama
google-application-credentials.json
. File ini adalah file konfigurasi kredensial ADC. - Token Akun Layanan Kubernetes sebagai
token
. Kubernetes memasang JWT yang ditandatangani untuk ServiceAccount sebagai file token ServiceAccount yang diproyeksikan.
Penampung di Pod memasang volume
gcp-ksa
ke jalur/var/run/secrets/tokens/gcp-ksa
dan mengonfigurasi ADC untuk mencari file JSON konfigurasi kredensial di jalur tersebut.- Data dalam ConfigMap yang Anda deploy sebagai file bernama
Men-deploy workload:
kubectl apply -f workload-config.yaml
Alternatif: Meniru identitas akun layanan IAM
Atau, Anda dapat mengonfigurasi ServiceAccount Kubernetes di cluster untuk meniru akun layanan IAM dan melakukan tindakan resmi apa pun yang dapat dilakukan akun layanan IAM. Pendekatan ini dapat meningkatkan overhead pemeliharaan, karena Anda harus mengelola penyambungan akun layanan di IAM dan Kubernetes.
Dalam sebagian besar skenario, sebaiknya Anda langsung mereferensikan akun utama Kubernetes dalam kebijakan izin IAM untuk memberikan akses ke resource Google Cloud dengan mengikuti petunjuk di Menggunakan Federasi Workload Identity fleet dalam aplikasi.
Temukan nama workload identity pool dan penyedia identitas cluster Anda:
gcloud container fleet memberships describe MEMBERSHIP_ID \ --project=FLEET_PROJECT_ID \ --format="table(authority.identityProvider,authority.workloadIdentityPool,name)"
Ganti kode berikut:
MEMBERSHIP_ID
: nama keanggotaan cluster. Nama ini sering kali berupa nama cluster Anda.FLEET_PROJECT_ID
: project ID dari project host armada.
Outputnya mirip dengan hal berikut ini:
IDENTITY_PROVIDER: IDENTITY_PROVIDER WORKLOAD_IDENTITY_POOL: WORKLOAD_IDENTITY_POOL NAME: projects/FLEET_PROJECT_ID/locations/MEMBERSHIP_LOCATION/memberships/MEMBERSHIP_ID
Output ini berisi informasi berikut:
IDENTITY_PROVIDER
: penyedia identitas untuk cluster.MEMBERSHIP_LOCATION
: lokasi keanggotaan. Ini biasanya sama dengan lokasi cluster Anda.WORKLOAD_IDENTITY_POOL
: nama workload identity pool yang terkait dengan fleet Anda. Nilai ini memiliki sintaksisFLEET_PROJECT_ID.svc.id.goog
.
Buat akun layanan IAM yang dapat ditiru oleh aplikasi Anda. Anda juga dapat menggunakan akun layanan IAM yang ada.
gcloud iam service-accounts create IAM_SA_NAME \ --project=IAM_SA_PROJECT_ID
Ganti kode berikut:
IAM_SA_NAME
: nama untuk akun layanan IAM Anda.IAM_SA_PROJECT_ID
: project ID project yang berisi akun layanan IAM Anda. Hal ini dapat berbeda dengan project host fleet Anda.
Berikan izin apa pun yang diperlukan akun layanan IAM untuk mengakses Google Cloud API dengan menambahkan kebijakan izin IAM yang diperlukan. Anda dapat melakukannya dengan menggunakan
gcloud iam service-accounts add-iam-policy-binding
atau metode lain. Anda dapat mengetahui izin yang diperlukan untuk menggunakan Google Cloud API di setiap dokumentasi layanan, dan melihat daftar lengkap peran standar dengan izin yang diperlukan di Memahami peran.Buat Akun Layanan Kubernetes di namespace. Anda juga dapat menggunakan Akun Layanan Kubernetes yang ada dan namespace apa pun, termasuk Akun Layanan
default
dan namespacedefault
.kubectl create serviceaccount KSA_NAME \ --namespace=NAMESPACE
Ganti kode berikut:
KSA_NAME
: nama ServiceAccount.NAMESPACE
: nama namespace.
Buat kebijakan izin IAM yang memungkinkan Akun Layanan Kubernetes di namespace tertentu di cluster Anda meniru identitas akun layanan IAM:
gcloud iam service-accounts add-iam-policy-binding IAM_SA_NAME@IAM_SA_PROJECT_ID. \ --project=IAM_SA_PROJECT_ID \ --role=roles/iam.workloadIdentityUser \ --member="serviceAccount:WORKLOAD_IDENTITY_POOL[NAMESPACE/KSA_NAME]"
Ganti
WORKLOAD_IDENTITY_POOL
dengan nama kumpulan identitas beban kerja.Simpan manifes berikut sebagai
adc-config-map.yaml
. ConfigMap ini berisi konfigurasi ADC untuk workload.kind: ConfigMap apiVersion: v1 metadata: namespace: K8S_NAMESPACE name: my-cloudsdk-config data: config: | { "type": "external_account", "audience": "identitynamespace:WORKLOAD_IDENTITY_POOL:IDENTITY_PROVIDER", "service_account_impersonation_url": "https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/IAM_SA_NAME@GSA_PROJECT_ID.:generateAccessToken", "subject_token_type": "urn:ietf:params:oauth:token-type:jwt", "token_url": "https://sts.googleapis.com/v1/token", "credential_source": { "file": "/var/run/secrets/tokens/gcp-ksa/token" } }
Ganti kode berikut:
IAM_SA_NAME
: nama akun layanan IAM yang akan disamarkan.IAM_SA_PROJECT_ID
: project ID akun layanan IAM.
Simpan manifes berikut sebagai
workload-config.yaml
:apiVersion: v1 kind: Pod metadata: name: my-pod namespace: K8S_NAMESPACE spec: serviceAccountName: KSA_NAME containers: - name: my-container image: my-image command: ["sleep","infinity"] env: - name: GOOGLE_APPLICATION_CREDENTIALS value: /var/run/secrets/tokens/gcp-ksa/google-application-credentials.json volumeMounts: - name: gcp-ksa mountPath: /var/run/secrets/tokens/gcp-ksa readOnly: true volumes: - name: gcp-ksa projected: defaultMode: 420 sources: - serviceAccountToken: path: token audience: WORKLOAD_IDENTITY_POOL expirationSeconds: 172800 - configMap: name: my-cloudsdk-config optional: false items: - key: "config" path: "google-application-credentials.json"
Saat Anda men-deploy beban kerja ini, volume
gcp-ksa
di Pod akan berisi data berikut:- Data dalam ConfigMap yang Anda deploy sebagai file bernama
google-application-credentials.json
. File ini adalah file konfigurasi kredensial ADC. - Token Akun Layanan Kubernetes sebagai
token
. Kubernetes memasang JWT yang ditandatangani untuk ServiceAccount sebagai file token ServiceAccount yang diproyeksikan.
Penampung di Pod memasang volume
gcp-ksa
ke jalur/var/run/secrets/tokens/gcp-ksa
dan mengonfigurasi ADC untuk mencari file JSON konfigurasi kredensial di jalur tersebut.- Data dalam ConfigMap yang Anda deploy sebagai file bernama
Men-deploy workload:
kubectl apply -f workload-config.yaml
Memverifikasi penyiapan Workload Identity Federation untuk fleet
Di bagian ini, Anda akan membuat bucket Cloud Storage dan mengaksesnya dari Pod yang menggunakan Workload Identity Federation armada. Sebelum melakukan langkah-langkah ini, pastikan Anda telah mengonfigurasi Workload Identity Federation dengan mengikuti petunjuk di bagian Menggunakan Workload Identity Federation untuk fleet di aplikasi.
Bagian ini tidak menunjukkan cara memverifikasi Workload Identity Federation menggunakan metode peniruan identitas akun layanan IAM.
Temukan nomor project numerik Anda:
gcloud projects describe FLEET_PROJECT_ID \ --format="value(projectNumber)"
Outputnya mirip dengan hal berikut ini:
1234567890
Membuat bucket Cloud Storage:
gcloud storage buckets create gs://FLEET_PROJECT_ID-test-bucket \ --location=LOCATION
Ganti
LOCATION
dengan lokasi Google Cloud.Buat kebijakan izin IAM yang memberikan akses di bucket ke akun layanan yang Anda buat:
gcloud storage buckets add-iam-policy-binding gs://FLEET_PROJECT_ID-test-bucket \ --condition=None \ --role=roles/storage.objectViewer \ --member=principal://iam.googleapis.com/projects/FLEET_PROJECT_NUMBER/locations/global/workloadIdentityPools/FLEET_PROJECT_ID.svc.id.goog/subject/ns/NAMESPACE/sa/KSA_NAME
Ganti kode berikut:
FLEET_PROJECT_NUMBER
: nomor project numerik Anda.FLEET_PROJECT_ID
: project ID Anda.NAMESPACE
: nama namespace Kubernetes yang menjalankan Pod Anda dari bagian sebelumnya.KSA_NAME
: nama Kubernetes ServiceAccount yang digunakan Pod Anda dari bagian sebelumnya.
Buat sesi shell di Pod Anda:
kubectl exec -it pods/my-pod --namespace=NAMESPACE -- /bin/bash
Coba buat daftar objek dalam bucket:
curl -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/FLEET_PROJECT_ID-test-bucket/o"
Outputnya adalah sebagai berikut:
{ "kind": "storage#objects" }
Melakukan autentikasi dari kode Anda
Saat Anda menggunakan Library Klien Cloud, library autentikasi akan otomatis menggunakan ADC untuk mencari kredensial guna melakukan autentikasi ke layanan Google Cloud. Anda harus menggunakan Library Klien Cloud yang mendukung Workload Identity Federation. Berikut ini versi Library Klien Cloud minimum yang diperlukan, serta petunjuk cara memeriksa versi saat ini:
C++
Sebagian besar
Library Klien Google Cloud untuk C++
mendukung penggabungan identitas menggunakan objek ChannelCredentials
, yang
dibuat dengan memanggil grpc::GoogleDefaultCredentials()
. Untuk melakukan inisialisasi
kredensial ini, Anda harus membangun library klien dengan gRPC versi
1.36.0 atau yang lebih baru.
Library Klien Cloud Storage untuk C++ menggunakan REST API, bukan gRPC, sehingga tidak mendukung penggabungan identitas.
Go
Library klien untuk Go mendukung penggabungan identitas jika menggunakan modul golang.org/x/oauth2
versi
v0.0.0-20210218202405-ba52d332ba99 atau versi lebih baru.
Untuk memeriksa versi modul yang digunakan library klien Anda, jalankan perintah berikut:
cd $GOPATH/src/cloud.google.com/go
go list -m golang.org/x/oauth2
Java
Library klien untuk Java mendukung penggabungan identitas jika menggunakan artefak com.google.auth:google-auth-library-oauth2-http
versi 0.24.0
atau versi lebih baru.
Untuk memeriksa versi artefak yang digunakan library klien Anda, jalankan perintah Maven berikut di direktori aplikasi Anda:
mvn dependency:list -DincludeArtifactIds=google-auth-library-oauth2-http
Node.js
Library klien untuk Node.js mendukung penggabungan identitas jika menggunakan
paket google-auth-library
versi 7.0.2
atau versi lebih baru.
Untuk memeriksa versi paket yang digunakan library klien Anda, jalankan perintah berikut di direktori aplikasi Anda:
npm list google-auth-library
Saat membuat objek GoogleAuth
, Anda dapat menentukan project ID atau
mengizinkan GoogleAuth
untuk otomatis menemukan project ID. Untuk otomatis menemukan
project ID, akun layanan dalam file konfigurasi harus memiliki
peran Browser (roles/browser
), atau peran dengan izin yang setara,
di project Anda. Untuk mengetahui detailnya, lihat
README
untuk paket google-auth-library
.
Python
Library klien untuk Python mendukung penggabungan identitas jika menggunakan
paket google-auth
versi 1.27.0
atau versi lebih baru.
Untuk memeriksa versi paket yang digunakan library klien Anda, jalankan perintah berikut di lingkungan tempat paket diinstal:
pip show google-auth
Untuk menentukan project ID bagi klien autentikasi, Anda dapat menetapkan
variabel lingkungan GOOGLE_CLOUD_PROJECT
atau mengizinkan klien untuk otomatis
menemukan project ID. Untuk otomatis menemukan project ID,
akun layanan dalam file konfigurasi harus memiliki peran Browser (roles/browser
),
atau peran dengan izin yang setara, di project Anda. Untuk mengetahui detailnya, lihat
panduan pengguna untuk paket google-auth
.
Apa langkah selanjutnya?
Pelajari praktik terbaik untuk mengatur fleet saat menggunakan Workload Identity Federation fleet.