Questo documento descrive come configurare e utilizzare l'autenticazione dei cluster Workload Identity per Google Distributed Cloud (solo software) su bare metal. Anziché le chiavi degli account di servizio, l'autenticazione dei cluster Workload Identity utilizza token di breve durata e la federazione di Workload Identity per creare e proteggere i cluster. Le credenziali di breve durata per l'account di servizio sono sotto forma di token di accesso OAuth 2.0. Per impostazione predefinita, i token di accesso scadono dopo 1 ora, ad eccezione dei token di estrazione delle immagini, che scadono dopo 12 ore.
L'autenticazione del cluster Workload Identity è disponibile solo per i cluster della versione 1.30 e successive.
Al contrario, la modalità con chiave, il metodo standard per creare e proteggere i cluster, utilizza le chiavi degli account di servizio scaricate. Quando crei un cluster autonomo (amministratore, ibrido o autonomo), specifica il percorso delle chiavi scaricate. Le chiavi vengono quindi archiviate come segreti nel cluster e in eventuali cluster di utenti gestiti. Per impostazione predefinita, le chiavi degli account di servizio non scadono e rappresentano un rischio per la sicurezza se non vengono gestite correttamente.
L'autenticazione cluster di Workload Identity offre due vantaggi principali rispetto all'utilizzo delle chiavi dell'account di servizio:
Maggiore sicurezza: le chiavi degli account di servizio comportano un rischio per la sicurezza se non vengono gestite correttamente. I token OAuth 2.0 e la Federazione delle identità per i carichi di lavoro sono considerati best practice alternative alle chiavi degli account di servizio. Per ulteriori informazioni sui token degli account di servizio, consulta Credenziali degli account di servizio di breve durata. Per maggiori informazioni sulla federazione di Workload Identity, consulta Federazione di Workload Identity.
Manutenzione ridotta: le chiavi dell'account di servizio richiedono una maggiore manutenzione. La rotazione e la protezione regolari di queste chiavi possono rappresentare un onere amministrativo significativo.
Anche se questa funzionalità è in anteprima, sono stati riscontrati alcuni limiti.
Prima di iniziare
Nelle sezioni seguenti, crei gli account di servizio e concedi i ruoli necessari per l'autenticazione del cluster Workload Identity. Le istruzioni di configurazione riportate in questo documento non sostituiscono quelle riportate in Configurare le risorse Google Cloud , ma sono necessarie oltre ai prerequisiti di installazione solo software di Google Distributed Cloud standard. Gli account di servizio richiesti per l'autenticazione dei cluster Workload Identity sono simili agli account di servizio descritti in Configurare le risorse Google Cloud , ma hanno un nome univoco, quindi non interferiscono con i cluster che utilizzano le chiavi degli account di servizio predefinite.
Questa pagina è rivolta ad amministratori, architetti e operatori che configurano, monitorano e gestiscono il ciclo di vita dell'infrastruttura tecnologica di base. Per approfondire i ruoli comuni e le attività di esempio a cui facciamo riferimento nei contenutiGoogle Cloud , consulta Ruoli e attività comuni degli utenti di GKE Enterprise.
La tabella seguente descrive gli account di servizio richiesti per l'autenticazione del cluster Workload Identity:
Service account | Finalità | Ruoli |
---|---|---|
ADMIN_SA |
Utilizza questo account di servizio per generare token. Ogni token ha i privilegi associati ai ruoli dell'account di servizio. |
roles/gkehub.admin roles/logging.admin roles/monitoring.admin roles/monitoring.dashboardEditor roles/iam.serviceAccountAdmin roles/iam.serviceAccountTokenCreator
|
baremetal-controller |
L'agente Connect
utilizza questo account di servizio per mantenere una connessione tra il cluster e
Google Cloud e per registrare i cluster in
un parco risorse.
Questo account di servizio aggiorna anche i token per l'account di servizio baremetal-gcr .
|
roles/gkehub.admin roles/monitoring.dashboardEditor roles/serviceusage.serviceUsageViewer
|
baremetal-cloud-ops |
L'agente Stackdriver utilizza questo account di servizio per esportare log e metriche dai cluster in Cloud Logging e Cloud Monitoring. |
roles/logging.logWriter roles/monitoring.metricWriter roles/stackdriver.resourceMetadata.writer roles/opsconfigmonitoring.resourceMetadata.writer roles/monitoring.dashboardEditor roles/monitoring.viewer roles/serviceusage.serviceUsageViewer roles/kubernetesmetadata.publisher
|
baremetal-gcr |
Google Distributed Cloud utilizza questo account di servizio per scaricare immagini container da Container Registry. | Nessuno |
Crea e configura gli account di servizio per l'autenticazione del cluster Workload Identity
Le sezioni seguenti contengono istruzioni per creare gli account di servizio richiesti e concedervi i ruoli necessari per l'autenticazione del cluster Workload Identity. Per un elenco dei service account e dei relativi ruoli obbligatori, consulta la tabella nella sezione precedente.
Creazione di account di servizio
Per creare gli account di servizio per l'autenticazione del cluster Workload Identity, segui questi passaggi:
Nella workstation di amministrazione, accedi a Google Cloud CLI:
gcloud auth login
Se vuoi, crea l'account di servizio amministrativo:
Il nome dell'account di servizio
ADMIN_SA
è arbitrario. Puoi anche utilizzare un account di servizio esistente, se dispone dei ruoli identificati nella tabella della sezione precedente, ma questa opzione non è consigliata perché viola il principio del privilegio minimo.gcloud iam service-accounts create ADMIN_SA \ --project=PROJECT_ID
Sostituisci
PROJECT_ID
con l'ID del tuo progetto Google Cloud.Crea gli account di servizio standard per l'autenticazione del cluster Workload Identity:
Gli account di servizio standard per l'autenticazione dei cluster Workload Identity hanno nomi predeterminati che possono essere personalizzati, se vuoi.
gcloud iam service-accounts create baremetal-controller \ --project=PROJECT_ID gcloud iam service-accounts create baremetal-cloud-ops \ --project=PROJECT_ID gcloud iam service-accounts create baremetal-gcr \ --project=PROJECT_ID
Sostituisci
PROJECT_ID
con l'ID del tuo progetto Google Cloud.
Aggiungere associazioni di criteri di Identity and Access Management per gli account di servizio
Aggiungi associazioni di criteri IAM per i ruoli richiesti per l'account di servizio
ADMIN_SA
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/gkehub.admin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/logging.admin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/monitoring.admin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/monitoring.dashboardEditor gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/iam.serviceAccountAdmin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/iam.serviceAccountTokenCreator
Aggiungi associazioni di criteri IAM per i ruoli richiesti per l'account di servizio
baremetal-controller
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:baremetal-controller@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/gkehub.admin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:baremetal-controller@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/monitoring.dashboardEditor gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:baremetal-controller@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/serviceusage.serviceUsageViewer
Aggiungi associazioni di criteri IAM per i ruoli richiesti per l'account di servizio
baremetal-cloud-ops
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/logging.logWriter gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/monitoring.dashboardEditor gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/monitoring.metricWriter gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/opsconfigmonitoring.resourceMetadata.writer gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/stackdriver.resourceMetadata.writer gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/monitoring.viewer gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/serviceusage.serviceUsageViewer gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/kubernetesmetadata.publisher
Concedi all'account di servizio
baremetal-controller
la possibilità di generare token di accesso per conto dell'account di serviziobaremetal-controller
:baremetal-gcr
gcloud iam service-accounts add-iam-policy-binding \ baremetal-gcr@PROJECT_ID.iam.gserviceaccount.com \ --member=serviceAccount:baremetal-controller@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/iam.serviceAccountTokenCreator
Configurare la federazione delle identità per i carichi di lavoro per i tuoi cluster
Per fornire Google Cloud l'accesso con la federazione delle identità per i carichi di lavoro per GKE, crei un Google Cloud criterio di autorizzazione IAM che concede l'accesso a una risorsa specifica a un principale corrispondente all'identità della tua Google Cloud applicazione. In questo caso, la federazione delle identità di carico di lavoro concede accesso a operatori specifici nel cluster. Per ulteriori informazioni su Workload Identity Federation per GKE, consulta Workload Identity Federation nella documentazione di IAM.
Aggiungi associazioni di criteri IAM per l'operatore del cluster
I seguenti comandi concedono all'account di servizio Kubernetes anthos-cluster-operator
la possibilità di rubare l'identità dell'account di servizio baremetal-controller
e di interagire con le risorse Google Cloud per conto del cluster:
Per ogni cluster configurato per l'autenticazione cluster Workload Identity (o pianificato per l'utilizzo dell'autenticazione cluster Workload Identity), incluso il cluster di bootstrap, concedi a
anthos-cluster-operator
nel cluster la possibilità di rubare l'identità dell'account serviziobaremetal-controller
:Nel seguente comando,
principalSet
è costituito dal pool di identità di carico di lavoro e da un account di servizio Kubernetes,anthos-cluster-operator
, nello spazio dei nomikube-system
.gcloud iam service-accounts add-iam-policy-binding \ baremetal-controller@PROJECT_ID.iam.gserviceaccount.com \ --member=principalSet://iam.googleapis.com/projects/PROJECT_NUM/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/attribute.fleetclusteridentity/projects/PROJECT_ID/locations/REGION/memberships/CLUSTER_NAME/ns/kube-system/sa/anthos-cluster-operator \ --role=roles/iam.workloadIdentityUser \ --project=PROJECT_ID
Sostituisci quanto segue:
PROJECT_NUM
: l'identificatore univoco per il tuo progetto generato automaticamente.REGION
: la posizione del parco risorse per il tuo cluster, che èglobal
per impostazione predefinita. Per ulteriori informazioni, consulta Località dell'appartenenza al parco veicoli.CLUSTER_NAME
: il nome del cluster. Per impostazione predefinita, il nome del cluster di bootstrap èbmctl-MACHINE_NAME
.
Verifica le associazioni dei criteri per l'account di servizio
baremetal-controller
:gcloud iam service-accounts get-iam-policy \ baremetal-controller@PROJECT_ID.iam.gserviceaccount.com
La risposta dovrebbe essere simile alla seguente:
bindings: - members: - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/bmctl-admin-ws/kube-system/anthos-cluster-operator - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/admin-cluster/kube-system/anthos-cluster-operator - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/user-cluster/kube-system/anthos-cluster-operator role: roles/iam.workloadIdentityUser etag: BwYoN3QLig0= version: 1
Aggiungi associazioni di criteri IAM per gli operatori di Google Cloud Observability
I seguenti comandi concedono ai seguenti account di servizio Kubernetes di Google Cloud Observability la possibilità di rubare l'identità dell'account di servizio baremetal-cloud-ops
e di interagire con le risorse Google Cloud per conto del cluster:
cloud-audit-logging
gke-metrics-agent
kubestore-collector
metadata-agent
stackdriver-log-forwarder
Per ogni cluster configurato per l'autenticazione del cluster Workload Identity (o pianificato per l'utilizzo dell'autenticazione del cluster Workload Identity), incluso il cluster di bootstrap, concedi agli operatori di Google Cloud Observability nel cluster la possibilità di rubare l'identità dell'account servizio
baremetal-cloud-ops
:In ciascuno dei seguenti comandi,
principalSet
è costituito dal pool di identità dei carichi di lavoro e da un account di servizio Kubernetes, ad esempiocloud-audit-logging
, nello spazio dei nomikube-system
.gcloud iam service-accounts add-iam-policy-binding \ baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \ --member=principalSet://iam.googleapis.com/projects/PROJECT_NUM/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/attribute.fleetclusteridentity/projects/PROJECT_ID/locations/REGION/memberships/CLUSTER_NAME/ns/kube-system/sa/cloud-audit-logging \ --role=roles/iam.workloadIdentityUser \ --project=PROJECT_ID gcloud iam service-accounts add-iam-policy-binding \ baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \ --member=principalSet://iam.googleapis.com/projects/PROJECT_NUM/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/attribute.fleetclusteridentity/projects/PROJECT_ID/locations/REGION/memberships/CLUSTER_NAME/ns/kube-system/sa/gke-metrics-agent \ --role=roles/iam.workloadIdentityUser \ --project=PROJECT_ID gcloud iam service-accounts add-iam-policy-binding \ baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \ --member=principalSet://iam.googleapis.com/projects/PROJECT_NUM/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/attribute.fleetclusteridentity/projects/PROJECT_ID/locations/REGION/memberships/CLUSTER_NAME/ns/kube-system/sa/kubestore-collector \ --role=roles/iam.workloadIdentityUser \ --project=PROJECT_ID gcloud iam service-accounts add-iam-policy-binding \ baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \ --member=principalSet://iam.googleapis.com/projects/PROJECT_NUM/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/attribute.fleetclusteridentity/projects/PROJECT_ID/locations/REGION/memberships/CLUSTER_NAME/ns/kube-system/sa/metadata-agent \ --role=roles/iam.workloadIdentityUser \ --project=PROJECT_ID gcloud iam service-accounts add-iam-policy-binding \ baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \ --member=principalSet://iam.googleapis.com/projects/PROJECT_NUM/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/attribute.fleetclusteridentity/projects/PROJECT_ID/locations/REGION/memberships/CLUSTER_NAME/ns/kube-system/sa/stackdriver-log-forwarder \ --role=roles/iam.workloadIdentityUser \ --project=PROJECT_ID
Verifica le associazioni dei criteri per l'account di servizio
baremetal-cloud-ops
:gcloud iam service-accounts get-iam-policy \ baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com
La risposta dovrebbe essere simile alla seguente:
bindings: - members: - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/bmctl-admin-ws/kube-system/cloud-audit-logging - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/bmctl-admin-ws/kube-system/gke-metrics-agent - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/bmctl-admin-ws/kube-system/kubestore-collector - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/bmctl-admin-ws/kube-system/metadata-agent - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/bmctl-admin-ws/kube-system/stackdriver-log-forwarder - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/admin-cluster/kube-system/cloud-audit-logging - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/admin-cluster/kube-system/gke-metrics-agent - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/admin-cluster/kube-system/kubestore-collector - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/admin-cluster/kube-system/metadata-agent - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/admin-cluster/kube-system/stackdriver-log-forwarder - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/user-cluster/kube-system/cloud-audit-logging - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/user-cluster/kube-system/gke-metrics-agent - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/user-cluster/kube-system/kubestore-collector - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/user-cluster/kube-system/metadata-agent - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/user-cluster/kube-system/stackdriver-log-forwarder role: roles/iam.workloadIdentityUser etag: BwYhT4gL-dY= version: 1
Configurazione cluster
La differenza di configurazione del cluster più evidente per i cluster che utilizzano l'autenticazione del cluster Workload Identity è che non devi specificare i percorsi delle chiavi dell'account di servizio scaricate.
Quando compili le impostazioni del cluster nel file di configurazione, lascia vuoti i percorsi delle chiavi dell'account di servizio nella sezione delle credenziali, come mostrato nell'esempio seguente:
gcrKeyPath: sshPrivateKeyPath: /home/USERNAME/.ssh/id_rsa gkeConnectAgentServiceAccountKeyPath: gkeConnectRegisterServiceAccountKeyPath: cloudOperationsServiceAccountKeyPath: --- apiVersion: v1 kind: Namespace metadata: name: cluster-CLUSTER_NAME --- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: CLUSTER_NAME namespace: cluster-CLUSTER_NAME spec: type: admin profile: default anthosBareMetalVersion: 1.30.0-gke.1930 ...
Se vuoi, imposta nomi personalizzati per gli account di servizio di autenticazione del cluster Workload Identity:
La specifica di nomi personalizzati ti consente di utilizzare gli account di servizio esistenti. Se specifichi lo stesso nome personalizzato per più di un account di servizio, puoi consolidare in meno account di servizio.
apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: CLUSTER_NAME namespace: cluster-CLUSTER_NAME annotations: baremetal.cluster.gke.io/controller-service-account: "CUSTOM_CONTROLLER_GSA" baremetal.cluster.gke.io/cloud-ops-service-account: "CUSTOM_CLOUD_OPS_GSA" baremetal.cluster.gke.io/gcr-service-account: "CUSTOM_GCR_GSA" spec: type: admin profile: default anthosBareMetalVersion: 1.30.0-gke.1930 ...
Funzionamento dei cluster
Quando è tutto pronto per creare, eseguire l'upgrade o eliminare un cluster che utilizza l'autenticazione cluster di Workload Identity, segui questi passaggi:
Accedi a Google Cloud CLI:
gcloud auth login
Nella workstation di amministrazione, crea e scarica una chiave per l'account di servizio
ADMIN_SA
:gcloud iam service-accounts keys create TMP_KEY_FILE_PATH \ --iam-account=ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com
Sostituisci
TMP_KEY_FILE_PATH
con il percorso, incluso il nome file, del file della chiave scaricato.Autorizza l'accesso a Google Cloud con l'account di servizio
ADMIN_SA
:gcloud auth activate-service-account ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \ --key-file=TMP_KEY_FILE_PATH
Elimina il file della chiave JSON scaricato:
rm TMP_KEY_FILE_PATH
Nella workstation di amministrazione, crea una variabile di ambiente
GCP_ACCESS_TOKEN
con il valore di un token di accesso creato dall'account di servizioADMIN_SA
:export GCP_ACCESS_TOKEN=$(gcloud auth print-access-token \ --impersonate-service-account=ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com)
Per impostazione predefinita, il token di accesso ha una durata di 1 ora.
Verifica che il token sia generato dall'account di servizio
ADMIN_SA
con la scadenza corretta:curl "https://oauth2.googleapis.com/tokeninfo?access_token=$GCP_ACCESS_TOKEN"
La risposta deve includere righe simili alle seguenti:
... "expires_in": "3582", "email": "ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com)", ...
Il valore di scadenza è in secondi e deve essere inferiore a
3600
, indicando che il token scade tra meno di un'ora.Esegui un comando
bmctl
per creare, eseguire l'upgrade o eliminare un cluster:Se
bmctl
rileva che la variabile di ambienteGCP_ACCESS_TOKEN
è stata impostata, esegue la convalida del token. Se il token è valido,bmctl
lo utilizza per le operazioni del cluster.Per i cluster che utilizzano l'autenticazione del cluster Workload Identity, i comandi seguenti richiedono che la variabile di ambiente
GCP_ACCESS_TOKEN
sia impostata su un token di accesso valido e attivo:bmctl create cluster -c CLUSTER_NAME
bmctl reset cluster -c CLUSTER_NAME
bmctl upgrade cluster -c CLUSTER_NAME
Limitazioni
Mentre l'autenticazione dei cluster Workload Identity è in anteprima, le seguenti funzionalità non sono supportate:
- Utilizzo di un server proxy
- Controlli di servizio VPC