Este documento descreve como configurar e usar a autenticação de cluster de identidade de carga de trabalho para o Google Distributed Cloud (apenas software) em hardware não processado. Em vez das chaves de contas de serviço, a autenticação de clusters de identidade de carga de trabalho usa tokens de curta duração e a federação de identidade de carga de trabalho para criar e proteger os seus clusters. As credenciais de curta duração para a conta de serviço estão no formato de chaves de acesso do OAuth 2.0. Os tokens de acesso expiram após 1 hora por predefinição, exceto os tokens de obtenção de imagens, que expiram após 12 horas.
A autenticação de cluster de identidade de carga de trabalho só está disponível quando cria novos clusters com a versão 1.30 e posteriores. Não pode configurar um cluster existente para usar a autenticação de cluster de identidade de carga de trabalho durante uma atualização.
Por outro lado, o modo com chave, o método padrão para criar e proteger clusters, usa chaves de contas de serviço transferidas. Quando cria um cluster autogerido (administrador, híbrido ou autónomo), especifica o caminho para as chaves transferidas. As chaves são, em seguida, armazenadas como segredos no cluster e em quaisquer clusters de utilizadores geridos. Por predefinição, as chaves de contas de serviço não expiram e representam um risco de segurança se não forem geridas corretamente.
A autenticação de cluster do Workload Identity oferece duas vantagens principais em relação à utilização de chaves de contas de serviço:
Segurança melhorada: as chaves de contas de serviço representam um risco de segurança se não forem geridas corretamente. Os tokens OAuth 2.0 e a federação de identidades da carga de trabalho são considerados alternativas de práticas recomendadas às chaves de contas de serviço. Para mais informações sobre tokens de contas de serviço, consulte o artigo Credenciais de contas de serviço de curta duração. Para mais informações sobre a federação de identidades da carga de trabalho, consulte o artigo Federação de identidades da carga de trabalho.
Manutenção reduzida: as chaves de contas de serviço requerem mais manutenção. Alternar e proteger regularmente estas chaves pode ser um encargo administrativo significativo.
Enquanto esta funcionalidade estiver em pré-visualização, existem algumas limitações conhecidas.
Antes de começar
Nas secções seguintes, cria contas de serviço e concede as funções necessárias para a autenticação de clusters de identidade da carga de trabalho. As instruções de configuração neste documento não substituem as instruções nos recursos de configuração Google Cloud . São necessárias além dos pré-requisitos de instalação apenas de software padrão do Google Distributed Cloud. As contas de serviço necessárias para a autenticação do cluster de identidade da carga de trabalho são semelhantes às contas de serviço descritas em Configurar Google Cloud recursos, mas têm nomes únicos, pelo que não interferem com os clusters que usam as chaves da conta de serviço predefinidas.
Esta página destina-se a administradores, arquitetos e operadores que configuram, monitorizam e gerem o ciclo de vida da infraestrutura tecnológica subjacente. Para saber mais sobre as funções comuns e as tarefas de exemplo que referimos no Google Cloud conteúdo, consulte o artigo Funções de utilizador e tarefas comuns do GKE.
A tabela seguinte descreve as contas de serviço necessárias para a autenticação de clusters de identidade da carga de trabalho:
Conta de serviço | Finalidade | Funções |
---|---|---|
ADMIN_SA |
Use esta conta de serviço para gerar tokens. Cada token tem os privilégios associados às funções da conta de serviço. |
roles/gkehub.admin roles/logging.admin roles/monitoring.admin roles/monitoring.dashboardEditor roles/iam.serviceAccountAdmin roles/iam.serviceAccountTokenCreator
|
baremetal-controller |
Connect Agent
usa esta conta de serviço para manter uma ligação entre o seu cluster e
Google Cloud e para registar os seus clusters com
uma frota.
Esta conta de serviço também atualiza os tokens da conta de serviço baremetal-gcr .
|
roles/gkehub.admin roles/monitoring.dashboardEditor roles/serviceusage.serviceUsageViewer
|
baremetal-cloud-ops |
O agente do Stackdriver usa esta conta de serviço para exportar registos e métricas de clusters para o Cloud Logging e o 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 |
O Google Distributed Cloud usa esta conta de serviço para transferir imagens de contentores do Artifact Registry. | Nenhum |
Crie e configure contas de serviço para a autenticação de clusters de identidade da carga de trabalho
As secções seguintes contêm instruções para criar as contas de serviço necessárias e conceder-lhes as funções necessárias para a autenticação de clusters de identidade de carga de trabalho. Para ver uma lista das contas de serviço e das respetivas funções necessárias, consulte a tabela na secção anterior.
Crie contas de serviço
Para criar as contas de serviço para a autenticação de cluster de identidade da carga de trabalho, siga estes passos:
Na estação de trabalho de administração, inicie sessão na CLI Google Cloud:
gcloud auth login
Opcionalmente, crie a conta de serviço administrativa:
O nome da conta de serviço
ADMIN_SA
é arbitrário. Pode até usar uma conta de serviço existente, se tiver as funções identificadas na tabela na secção anterior, mas isso não é recomendado porque vai contra o princípio do menor privilégio.gcloud iam service-accounts create ADMIN_SA \ --project=PROJECT_ID
Substitua
PROJECT_ID
pelo ID do seu projetoGoogle Cloud .Crie as contas de serviço padrão para a autenticação de clusters do Workload Identity:
As contas de serviço padrão para a autenticação de clusters do Workload Identity têm nomes predeterminados que podem ser personalizados, se quiser.
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
Substitua
PROJECT_ID
pelo ID do seu projetoGoogle Cloud .
Adicione associações de políticas de gestão de identidade e de acesso para contas de serviço
Adicione associações de políticas IAM para as funções necessárias para a
ADMIN_SA
conta de serviço: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
Adicione associações de políticas IAM para as funções necessárias para a
baremetal-controller
conta de serviço: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
Adicione associações de políticas IAM para as funções necessárias para a
baremetal-cloud-ops
conta de serviço: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
Conceda à conta de serviço
baremetal-controller
a capacidade de gerar chaves de acesso em nome da conta de serviçobaremetal-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
Configure a federação de identidades de cargas de trabalho para os seus clusters
Para conceder Google Cloud acesso com a federação de identidade da força de trabalho para o GKE, cria uma política de autorização do IAM que concede acesso a um recurso específico a um principal que corresponde à identidade da sua aplicação.Google Cloud Neste caso, a Workload Identity Federation concede acesso a operadores específicos no cluster. Para mais informações sobre a federação de identidade da carga de trabalho para o GKE, consulte o artigo Federação de identidade da carga de trabalho na documentação do IAM.
Adicione vinculações de políticas IAM para o operador do cluster
Os seguintes comandos concedem à conta de serviço do Kubernetes anthos-cluster-operator
a capacidade de usar a identidade da conta de serviço baremetal-controller
e interagir com os recursos Google Cloud em nome do cluster:
Para cada cluster configurado para a autenticação de cluster do Workload Identity (ou planeado para usar a autenticação de cluster do Workload Identity), incluindo o cluster de arranque, conceda
anthos-cluster-operator
no cluster a capacidade de se fazer passar pela conta de serviçobaremetal-controller
:No comando seguinte, o
principalSet
consiste no Workload Identity Pool e numa conta de serviço do Kubernetes,anthos-cluster-operator
, no espaço de nomeskube-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
Substitua o seguinte:
PROJECT_NUM
: o identificador único gerado automaticamente para o seu projeto.REGION
: a localização da subscrição da frota para o seu cluster, que églobal
por predefinição. Para mais informações, consulte o artigo Localização de membros da frota.CLUSTER_NAME
: o nome do cluster. Por predefinição, o nome do cluster de arranque ébmctl-MACHINE_NAME
.
Valide as associações de políticas para a conta de serviço
baremetal-controller
:gcloud iam service-accounts get-iam-policy \ baremetal-controller@PROJECT_ID.iam.gserviceaccount.com
A resposta deve ser semelhante à seguinte:
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
Adicione associações de políticas IAM para os operadores do Google Cloud Observability
Os seguintes comandos concedem às contas de serviço do Kubernetes do Google Cloud Observability a capacidade de usar a identidade da baremetal-cloud-ops
conta de serviço Google Cloud e interagir com recursos em nome do cluster:
cloud-audit-logging
gke-metrics-agent
kubestore-collector
metadata-agent
stackdriver-log-forwarder
Para cada cluster configurado para a autenticação de cluster de identidade de carga de trabalho (ou planeado para usar a autenticação de cluster de identidade de carga de trabalho), incluindo o cluster de arranque, conceda aos operadores do Google Cloud Observability no cluster a capacidade de se fazerem passar pela conta de serviço
baremetal-cloud-ops
:Em cada um dos seguintes comandos, o
principalSet
consiste no Workload Identity Pool e numa conta de serviço do Kubernetes, comocloud-audit-logging
, no espaço de nomeskube-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
Valide as associações de políticas para a conta de serviço
baremetal-cloud-ops
:gcloud iam service-accounts get-iam-policy \ baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com
A resposta deve ser semelhante à seguinte:
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
Configuração do cluster
A diferença de configuração de cluster mais óbvia para clusters que usam a autenticação de cluster de identidade de carga de trabalho é que não especifica caminhos para chaves de contas de serviço transferidas.
Quando preencher as definições do cluster no ficheiro de configuração, deixe os caminhos das chaves da conta de serviço em branco na secção de credenciais, conforme mostrado no exemplo seguinte:
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 ...
Opcionalmente, defina nomes personalizados para as contas de serviço de autenticação de cluster do Workload Identity:
A especificação de nomes personalizados permite-lhe usar contas de serviço existentes. Certifique-se de que os nomes das contas de serviço personalizadas que especificar são distintos entre si.
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_AR_GSA" spec: type: admin profile: default anthosBareMetalVersion: 1.30.0-gke.1930 ...
Substitua o seguinte:
CUSTOM_CONTROLLER_GSA
: o nome do email da conta de serviço usada pelo agente Connect para manter uma ligação entre o seu cluster e o Google Cloud, e para registar os seus clusters.CUSTOM_CLOUD_OPS_GSA
: o nome do email da conta de serviço usada pelo agente do Stackdriver para exportar registos e métricas de clusters para o Cloud Logging e o Cloud Monitoring.CUSTOM_AR_GSA
: o nome do email da conta de serviço usada pelo Google Distributed Cloud para transferir imagens de contentores do Artifact Registry.
Operação de cluster
Quando estiver pronto para criar, atualizar ou eliminar um cluster que use a autenticação de cluster de identidade de carga de trabalho, siga estes passos:
Inicie sessão na CLI do Google Cloud:
gcloud auth login
Na estação de trabalho do administrador, crie e transfira uma chave para a conta de serviço
ADMIN_SA
:gcloud iam service-accounts keys create TMP_KEY_FILE_PATH \ --iam-account=ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com
Substitua
TMP_KEY_FILE_PATH
pelo caminho, incluindo o nome do ficheiro, do ficheiro de chave transferido.Autorize o acesso ao Google Cloud com a conta de serviço
ADMIN_SA
gcloud auth activate-service-account ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \ --key-file=TMP_KEY_FILE_PATH
Elimine o ficheiro de chave JSON transferido:
rm TMP_KEY_FILE_PATH
Na estação de trabalho do administrador, crie uma
GCP_ACCESS_TOKEN
variável de ambiente com o valor de um token de acesso criado pela conta de serviçoADMIN_SA
:export GCP_ACCESS_TOKEN=$(gcloud auth print-access-token \ --impersonate-service-account=ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com)
Por predefinição, o token de acesso tem uma duração de 1 hora.
Verifique se o token é gerado pela
ADMIN_SA
conta de serviço com o prazo de validade correto:curl "https://oauth2.googleapis.com/tokeninfo?access_token=$GCP_ACCESS_TOKEN"
A resposta deve incluir linhas semelhantes às seguintes:
... "expires_in": "3582", "email": "ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com)", ...
O valor de expiração está em segundos e deve ser inferior a
3600
, o que indica que o token expira em menos de uma hora.Execute um comando
bmctl
para criar, atualizar ou eliminar um cluster:Se
bmctl
detetar que a variável de ambienteGCP_ACCESS_TOKEN
foi definida, realiza a validação do token. Se o token for válido, obmctl
usa-o para operações de cluster.Para clusters que usam a autenticação de cluster de identidade de carga de trabalho, os seguintes comandos requerem que a variável de ambiente
GCP_ACCESS_TOKEN
seja definida como um token de acesso ativo válido:bmctl create cluster -c CLUSTER_NAME
bmctl reset cluster -c CLUSTER_NAME
bmctl upgrade cluster -c CLUSTER_NAME
Limitações
Embora a autenticação de cluster do Workload Identity esteja em pré-visualização, as seguintes funcionalidades não são suportadas:
- Usar um servidor proxy
- VPC Service Controls
- Atualize os clusters do modo com chave existentes para usar a autenticação de cluster do Workload Identity