Halaman ini menunjukkan cara mengonfigurasi aplikasi Anda untuk mengautentikasi Google Cloud API seperti Compute Engine API atau AI Platform API dengan menggunakan fleet Workload Identity Federation.
Apa itu fleet Workload Identity Federation?
Dengan Workload Identity Federation, workload di cluster Anda dapat melakukan autentikasi ke Google Cloud tanpa mengharuskan Anda mendownload, merotasi secara manual, dan umumnya mengelola kredensial. Sebagai gantinya, beban kerja mengotentikasi menggunakan token berumur singkat yang dihasilkan oleh Google Cloud.
Workload Identity Federation for GKE menyediakan kumpulan workload identity pool untuk seluruh project dari aplikasi yang berjalan di cluster GKE untuk mendapatkan identitas. Fleet Workload Identity Federation memperluas Workload Identity Federation untuk GKE ke semua anggota fleet klaster, terlepas dari apakah klaster tersebut berada dalam proyek yang berbeda atau di luar Google Cloud. Cluster yang terdaftar di Workload Identity Federation diaktifkan pada keanggotaan armada mereka mendapatkan identitas menggunakan jaringan workload identity pool, yang memungkinkan Anda mengonfigurasi autentikasi untuk Google Cloud API dan ke layanan lain di seluruh fleet Anda, bahkan di beberapa project.
Fleet Workload Identity Federation juga dapat digunakan oleh Hubungkan Agen di beberapa jenis cluster untuk melakukan autentikasi ke Google Cloud sebagai sebagai bagian dari keanggotaan fleet, dan diperlukan untuk menggunakan beberapa fitur GKE Enterprise yang berfungsi di seluruh project, seperti Cloud Service Mesh.
Kumpulan Workload Identity Federation dan kesamaan identitas
Dengan fleet Workload Identity Federation, setiap aplikasi di fleet Anda mendapatkan identitas gabungan yang berbeda yang dapat digunakan untuk mengotentikasi ke Google Cloud dan layanan lain yang Anda kembangkan. Aplikasi mendapatkan ID utama yang IAM dapat mengenalinya. 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
: IAMprincipal
atauprincipalSet
bergantung pada resource yang dipilih.FLEET_PROJECT_ID.svc.id.goog
: kumpulan identitas workload bagi armada Anda. Setiap fleet memiliki satu identitas workload tetap yang dibuat untuk Anda.FLEET_PROJECT_NUMBER
: jumlah project host fleet proyek.SELECTOR
: pemilih resource. Untuk daftar dukungan pemilih, lihat ID utama yang didukung.
Seluruh fleet berbagi kumpulan identitas workload fleet, sehingga Anda dapat memberikan aplikasi di mana saja dalam armada, termasuk dalam proyek atau {i>cloud<i} lain, akses ke sumber daya yang sama tanpa perlu mengelola akses untuk masing-masing . Seperti fitur yang diaktifkan fleet lainnya, Workload Identity Federation fleet mengandalkan prinsip kesamaan, di mana 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 di fleet yang sama, dan yang perlu melakukan autentikasi ke layanan
API, Anda dapat mengonfigurasi aplikasi sehingga semua beban kerja di backend
dapat mengakses API tersebut. Untuk informasi lebih lanjut tentang
bagaimana armada menggunakan kesamaan,
termasuk kesamaan identitas, melihat
Cara kerja fleet.
Setelah mengaktifkan Workload Identity Federation fleet, Anda dapat mereferensikan akun utama di fleet Anda di IAM memungkinkan kebijakan dengan menentukan ID utama. Misalnya, Anda dapat merujuk ke Akun Layanan tertentu di namespace Kubernetes tertentu dalam kebijakan yang diizinkan. Semua aplikasi yang menggunakan ServiceAccount tersebut kemudian dapat mengakses resource Google Cloud untuk mana kebijakan izin IAM diterapkan.
Alur kredensial
Agar aplikasi di namespace tertentu dapat melakukan autentikasi menggunakan fleet Workload Identity Federation, Anda harus melakukan tindakan berikut:
Deploy ConfigMap di namespace tersebut yang memiliki informasi berikut:
- Kumpulan workload identity dan penyedia identitas untuk .
- Jalur di setiap Pod tempat Kubernetes memasang token ServiceAccount. Token ini adalah JSON Web Token (JWT) yang ditandatangani.
ConfigMap ini berfungsi sebagai kredensial default aplikasi (ADC) untuk workload.
Buat kebijakan izin IAM yang memberikan akses ke instance Resource Google Cloud ke ID 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
disetel ke jalur pemasangan ConfigMap di Pod. - Volume yang diproyeksikan yang berisi token ServiceAccount dan
ConfigMap yang Anda buat, dipasang di jalur yang sama yang Anda tentukan di
variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
. - Pemasangan volume di container yang mereferensikan volume yang diproyeksikan.
- Variabel lingkungan
Saat beban kerja melakukan panggilan Google Cloud API, langkah-langkah berikut terjadi:
- Library autentikasi Google Cloud menggunakan setelan default aplikasi
kredensial (ADC) untuk menemukan kredensial. ADC memeriksa
jalur yang Anda
yang ditentukan dalam variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
untuk cari token otentikasi. - Library autentikasi ADC menggunakan data di ConfigMap untuk bertukar data JWT ServiceAccount yang Anda pasang di Pod untuk sementara token gabungan dari Layanan Token Keamanan yang mereferensikan akun utama ID workload.
- ADC menyertakan token gabungan dengan permintaan API.
- Kebijakan izin IAM memberikan otorisasi kepada ID utama untuk menjalankan operasi yang diminta pada resource Google Cloud.
ID utama yang didukung untuk fleet Workload Identity Federation
Tabel berikut menjelaskan {i> selector<i} yang dapat Anda gunakan dalam IAM mengizinkan kebijakan untuk mereferensikan akun utama dalam fleet:
Jenis ID utama | Sintaks |
---|---|
Semua Pod yang menggunakan ServiceAccount Kubernetes tertentu | Pilih ServiceAccount berdasarkan nama:
principal://iam.googleapis.com/projects/ Ganti kode berikut:
Pilih ServiceAccount berdasarkan UID: principal://iam.googleapis.com/projects/ Ganti kode berikut:
|
Sebelum memulai
Pastikan Anda telah menginstal alat command line berikut:
- Versi terbaru Google Cloud CLI, 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.
- Versi terbaru Google Cloud CLI, 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 tempatnya berjalan harus terdaftar ke fleet Anda dan dikonfigurasi dengan benar untuk menggunakan fleet Workload Identity Federation. Hal berikut bagian ini menjelaskan cara menyiapkan Workload Identity Federation fleet untuk berbagai jenis-jenis cluster.
GKE
Untuk cluster GKE, lakukan hal berikut:
- Mengaktifkan Workload Identity Federation untuk GKE di cluster Google Kubernetes Engine Anda, jika belum diaktifkan.
- Mendaftarkan cluster bagi armada.
Anda juga dapat mengaktifkan Workload Identity Federation untuk GKE selama pembuatan dan fleet cluster proses pendaftaran.
Cluster di luar Google Cloud
Jenis cluster berikut secara otomatis mengaktifkan fleet Workload Identity Federation dan terdaftar di fleet Anda selama cluster pembuatan:
- Google Distributed Cloud (khusus software) di VMware
- Google Distributed Cloud (khusus software) pada bare metal
- GKE on AWS
- GKE on Azure
Cluster terpasang
Cluster terlampir EKS dan AKS terdaftar menggunakan GKE Multi-Cloud API terdaftar di fleet Workload Identity Federation diaktifkan secara default. Cluster terpasang lainnya dapat terdaftar dengan fleet Workload Identity Federation diaktifkan jika memenuhi diperlukan persyaratan. Ikuti petunjuk untuk jenis cluster Anda di Mendaftarkan cluster.
Menggunakan Workload Identity Federation fleet di aplikasi
Langkah-langkah berikut menunjukkan cara mengonfigurasi beban kerja dalam cluster terdaftar untuk menggunakan Workload Identity Federation fleet:
Menemukan nama kumpulan dan identitas workload cluster Anda cloud Anda:
gcloud container fleet memberships describe MEMBERSHIP_ID \ --project=FLEET_PROJECT_ID \ --format="table(authority.identityProvider,authority.workloadIdentityPool,name)"
Ganti kode berikut:
MEMBERSHIP_ID
: cluster nama keanggotaan. Nama ini sering kali merupakan nama cluster Anda.FLEET_PROJECT_ID
: project ID fleet project host.
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 .MEMBERSHIP_LOCATION
: lokasi keanggotaan fleet. Lokasi ini biasanya sama dengan lokasi cluster Anda.WORKLOAD_IDENTITY_POOL
: nama kumpulan identitas workload yang terkait dengan fleet Anda. Nilai ini memiliki sintaksisFLEET_PROJECT_ID.svc.id.goog
.
Membuat namespace Kubernetes. Anda juga dapat menggunakan namespace yang ada, termasuk namespace
default
.kubectl create namespace NAMESPACE
Ganti
NAMESPACE
dengan nama namespace.Buat ServiceAccount Kubernetes baru di namespace. Anda juga dapat menggunakan ServiceAccount yang ada, termasuk
default
ServiceAccount di namespace.kubectl create serviceaccount KSA_NAME \ --namespace=NAMESPACE
Ganti
KSA_NAME
dengan nama AkunLayanan.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 workload ini, volume
gcp-ksa
di Pod berisi data berikut:- Data di ConfigMap yang Anda deploy sebagai file bernama
google-application-credentials.json
. File ini adalah File konfigurasi kredensial ADC. - Token ServiceAccount Kubernetes sebagai
token
. Kubernetes memasang JWT yang ditandatangani untuk ServiceAccount sebagai file token ServiceAccount yang diproyeksikan.
Container di Pod memasang volume
gcp-ksa
ke/var/run/secrets/tokens/gcp-ksa
dan mengonfigurasi ADC untuk mencari file JSON konfigurasi kredensial di jalur tersebut.- Data di 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 Kubernetes ServiceAccounts di cluster Anda untuk meniru identitas akun layanan IAM dan melakukan tindakan yang dapat dilakukan oleh akun layanan IAM. Pendekatan ini dapat meningkatkan overhead pemeliharaan, karena Anda harus mengelola pasangan menggunakan akun layanan di IAM dan Kubernetes.
Dalam sebagian besar skenario, sebaiknya Anda langsung mereferensikan Kubernetes akun utama di IAM mengizinkan kebijakan untuk memberikan akses ke resource Google Cloud dengan mengikuti petunjuk di Gunakan fleet Workload Identity Federation dalam aplikasi.
Menemukan nama kumpulan dan identitas workload cluster Anda cloud Anda:
gcloud container fleet memberships describe MEMBERSHIP_ID \ --project=FLEET_PROJECT_ID \ --format="table(authority.identityProvider,authority.workloadIdentityPool,name)"
Ganti kode berikut:
MEMBERSHIP_ID
: cluster nama keanggotaan. Nama ini sering kali merupakan nama cluster Anda.FLEET_PROJECT_ID
: project ID fleet project host.
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 .MEMBERSHIP_LOCATION
: lokasi keanggotaan. Lokasi ini biasanya sama dengan lokasi cluster Anda.WORKLOAD_IDENTITY_POOL
: nama kumpulan identitas workload yang terkait dengan fleet Anda. Nilai ini memiliki sintaksisFLEET_PROJECT_ID.svc.id.goog
.
Buat akun layanan IAM yang dapat digunakan aplikasi Anda meniru identitasnya. Anda juga dapat menggunakan layanan IAM yang ada menggunakan akun layanan.
gcloud iam service-accounts create IAM_SA_NAME \ --project=IAM_SA_PROJECT_ID
Ganti kode berikut:
IAM_SA_NAME
: nama untuk IAM Anda akun layanan Anda.IAM_SA_PROJECT_ID
: project ID project yang berisi akun layanan IAM Anda. Dapat berupa berbeda dari project host fleet Anda.
Memberi akun layanan IAM izin apa pun yang diperlukannya untuk mengakses Google Cloud API dengan menambahkan IAM yang diperlukan izinkan kebijakan. Anda dapat melakukannya dengan menggunakan
gcloud iam service-accounts add-iam-policy-binding
atau metode lain. Anda dapat mencari tahu izin yang diperlukan untuk menggunakan Google Cloud API di setiap dokumentasi layanan, dan melihat daftar lengkap peran bawaan dengan izin yang diperlukan dalam Memahami peran.Membuat ServiceAccount Kubernetes dalam namespace. Anda juga dapat menggunakan Kubernetes ServiceAccount yang ada dan namespace apa pun, termasuk
default
ServiceAccount dan namespacedefault
.kubectl create serviceaccount KSA_NAME \ --namespace=NAMESPACE
Ganti kode berikut:
KSA_NAME
: nama ServiceAccount.NAMESPACE
: nama namespace.
Membuat kebijakan izin IAM yang memungkinkan Kubernetes ServiceAccount 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 workload identity pool.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 IAM akun layanan untuk ditiru.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 workload ini, volume
gcp-ksa
di Pod berisi data berikut:- Data di ConfigMap yang Anda deploy sebagai file bernama
google-application-credentials.json
. File ini adalah File konfigurasi kredensial ADC. - Token ServiceAccount Kubernetes sebagai
token
. Kubernetes memasang JWT yang ditandatangani untuk ServiceAccount sebagai file token ServiceAccount yang diproyeksikan.
Container di Pod memasang volume
gcp-ksa
ke/var/run/secrets/tokens/gcp-ksa
dan mengonfigurasi ADC untuk mencari file JSON konfigurasi kredensial di jalur tersebut.- Data di ConfigMap yang Anda deploy sebagai file bernama
Men-deploy workload:
kubectl apply -f workload-config.yaml
Memverifikasi penyiapan Workload Identity Federation fleet
Di bagian ini, Anda akan membuat bucket Cloud Storage dan mengaksesnya dari Pod yang menggunakan Workload Identity Federation fleet. Sebelum Anda melakukan langkah-langkah ini, pastikan Anda mengonfigurasi Workload Identity Federation dengan mengikuti petunjuk dalam Menggunakan Workload Identity Federation fleet dalam aplikasi bagian.
Bagian ini tidak menunjukkan cara memverifikasi Workload Identity Federation menggunakan Metode peniruan akun layanan IAM.
Temukan nomor proyek 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 Google Cloud lokasi HTTP/HTTPS.Membuat kebijakan izin IAM yang memberikan akses pada 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
: proyek numerik Anda angkaFLEET_PROJECT_ID
: project ID Anda.NAMESPACE
: nama namespace Kubernetes yang menjalankan Pod Anda dari bagian sebelumnya.KSA_NAME
: nama Kubernetes ServiceAccount yang digunakan Pod dari bagian sebelumnya.
Buat sesi shell di Pod Anda:
kubectl exec -it pods/my-pod --namespace=NAMESPACE -- /bin/bash
Cobalah untuk membuat daftar objek dalam bucket:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/test-bucket/o"
Outputnya adalah sebagai berikut:
{ "kind": "storage#objects" }
Melakukan autentikasi dari kode
Saat Anda menggunakan Library Klien Cloud, perpustakaan otentikasi secara otomatis menggunakan ADC untuk mencari kredensial melakukan autentikasi ke layanan Google Cloud. Anda harus menggunakan Library Klien Cloud yang mendukung Workload Identity Federation. Berikut ini adalah persyaratan minimum Versi Library Klien Cloud, serta petunjuk cara memeriksa versi sekarang:
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 versi
7.0.2 atau yang lebih baru dari
paket google-auth-library
.
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.