Melakukan autentikasi ke API dan layanan dari workload fleet

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: IAM principal atau principalSet 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:

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

  2. Buat kebijakan izin IAM yang memberikan akses ke instance Resource Google Cloud ke ID utama akun utama di cluster Anda, seperti ServiceAccount di namespace.

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

Saat beban kerja melakukan panggilan Google Cloud API, langkah-langkah berikut terjadi:

  1. 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.
  2. 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.
  3. ADC menyertakan token gabungan dengan permintaan API.
  4. 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/PROJECT_NUMBER/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/subject/ns/NAMESPACE/sa/SERVICEACCOUNT

Ganti kode berikut:

  • PROJECT_NUMBER: proyek numerik Anda angka Untuk mendapatkan nomor project, lihat Mengidentifikasi project.
  • PROJECT_ID: Project ID Google Cloud Anda.
  • NAMESPACE: namespace Kubernetes.
  • SERVICEACCOUNT: ServiceAccount Kubernetes nama.

Pilih ServiceAccount berdasarkan UID:
principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/kubernetes.serviceaccount.uid/SERVICEACCOUNT_UID

Ganti kode berikut:

  • PROJECT_NUMBER: proyek numerik Anda angka Untuk mendapatkan nomor project, lihat Mengidentifikasi project.
  • PROJECT_ID: project ID Fleet Anda.
  • SERVICEACCOUNT_UID: UID ServiceAccount di server API.

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.

  • 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:

  1. Mengaktifkan Workload Identity Federation untuk GKE di cluster Google Kubernetes Engine Anda, jika belum diaktifkan.
  2. 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:

  1. 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 sintaksis FLEET_PROJECT_ID.svc.id.goog.
  2. Membuat namespace Kubernetes. Anda juga dapat menggunakan namespace yang ada, termasuk namespace default.

    kubectl create namespace NAMESPACE
    

    Ganti NAMESPACE dengan nama namespace.

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

  4. 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"
          }
        }
    
  5. Men-deploy ConfigMap:

    kubectl create -f adc-config-map.yaml
    
  6. 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:

    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.

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

  1. 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 sintaksis FLEET_PROJECT_ID.svc.id.goog.
  2. 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.
  3. 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.

  4. Membuat ServiceAccount Kubernetes dalam namespace. Anda juga dapat menggunakan Kubernetes ServiceAccount yang ada dan namespace apa pun, termasuk default ServiceAccount dan namespace default.

    kubectl create serviceaccount KSA_NAME \
        --namespace=NAMESPACE
    

    Ganti kode berikut:

    • KSA_NAME: nama ServiceAccount.
    • NAMESPACE: nama namespace.
  5. 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.

  6. 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.
  7. 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:

    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.

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

  1. Temukan nomor proyek numerik Anda:

    gcloud projects describe FLEET_PROJECT_ID \
        --format="value(projectNumber)"
    

    Outputnya mirip dengan hal berikut ini:

    1234567890
    
  2. Membuat bucket Cloud Storage:

    gcloud storage buckets create gs://FLEET_PROJECT_ID-test-bucket \
        --location=LOCATION
    

    Ganti LOCATION dengan Google Cloud lokasi HTTP/HTTPS.

  3. 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 angka
    • 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 dari bagian sebelumnya.
  4. Buat sesi shell di Pod Anda:

    kubectl exec -it pods/my-pod --namespace=NAMESPACE -- /bin/bash
    
  5. 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.