Faça login usando um nome de domínio totalmente qualificado (FQDN)
O serviço de identidade do GKE permite que você faça login em clusters configurados a partir da linha de comando usando um nome de usuário e senha de um provedor de identidade de terceiros. Siga as instruções nesta página se o administrador do cluster tiver optado por permitir a autenticação diretamente no servidor do serviço de identidade do GKE com um nome de domínio totalmente qualificado (FQDN). Para provedores SAML, o acesso de login é compatível apenas com essa abordagem de autenticação.
Essa abordagem de autenticação é compatível apenas com clusters locais (Google Distributed Cloud) em VMware e bare metal, a partir da versão 1.29. Outros tipos de cluster não são suportados.
É preciso ter pelo menos a versão 477.0.0 da
CLI gcloud
para fazer login com o FQDN fornecido.
Fluxo de trabalho de login
Aqui estão as etapas do fluxo de trabalho quando um usuário faz login usando a abordagem de acesso FQDN:
- Iniciar login: o usuário executa o comando
gcloud anthos auth login --server APISERVER-URL
para iniciar o processo de login. - Seleção de provedor de identidade: o usuário recebe uma lista de provedores de identidade configurados. O usuário seleciona o provedor onde suas credenciais são armazenadas.
Autenticação com provedor de identidade: o processo de autenticação difere com base no protocolo do provedor de identidade escolhido:
- OIDC: o usuário é redirecionado para a página de login do provedor OIDC. Após um login bem-sucedido, o provedor envia um código de volta ao serviço de identidade do GKE, que o troca por um token de acesso por meio de uma comunicação de canal traseiro.
- SAML: o usuário é redirecionado para a página de login do provedor SAML. Após um login bem-sucedido, o provedor envia diretamente um token (declaração) de volta ao serviço de identidade do GKE, evitando um callback extra.
- LDAP: em vez de redirecionar para um provedor externo, o serviço de identidade do GKE exibe uma página de login em que o usuário insere as credenciais LDAP, que é verificada diretamente com o servidor LDAP.
Verificação de token e geração de arquivo kubeconfig: o serviço de identidade do GKE verifica o token recebido (ou declaração), cria um novo token para o usuário e envia de volta um arquivo kubeconfig contendo esse token.
Acesso ao cluster: o usuário pode acessar o cluster usando comandos
kubectl
. O clientekubectl
envia automaticamente o token do arquivo kubeconfig com cada solicitação.Validação de token e autorização RBAC: o servidor da API Kubernetes recebe o token, o serviço de identidade do GKE verifica esse token e recupera as declarações do usuário (nome de usuário e grupos). Após a validação bem-sucedida, o servidor API executa verificações de controle de acesso baseado em função (RBAC) para determinar os recursos que o usuário está autorizado a acessar.
Faça login usando certificados SNI confiáveis
Os certificados SNI simplificam o acesso ao cluster aproveitando os certificados confiáveis
já presentes em dispositivos corporativos. Os administradores podem especificar este certificado no momento da criação do cluster. Se o seu cluster usar um certificado SNI confiável no nível do cluster, use o comando nesta seção com o FQDN fornecido pelo seu administrador para fazer login no cluster e receber um token de acesso. Você também pode usar um arquivo kubeconfig
seguro onde o token é armazenado após a autenticação bem-sucedida.
Execute o seguinte comando para autenticar no servidor:
gcloud anthos auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE
Substitua:
- APISERVER-URL: FQDN do servidor da API Kubernetes do cluster.
- OUTPUT_FILE: use essa sinalização se o arquivo
kubeconfig
estiver em um local diferente do padrão. Se essa sinalização for omitida, os tokens de autenticação serão adicionados ao arquivokubeconfig
no local padrão. Por exemplo:--kubeconfig /path/to/custom.kubeconfig
.
Fazer login usando certificados emitidos pela AC do cluster
Se você não usar um certificado SNI confiável no nível do cluster, o certificado usado pelo serviço de identidade será emitido pela autoridade certificadora (AC) do cluster. Os administradores distribuem esse certificado de CA para os usuários. Execute o seguinte comando usando o certificado de CA do cluster para fazer login no cluster:
gcloud anthos auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --login-config-cert CLUSTER_CA_CERTIFICATE
Autenticação entre dispositivos
A autenticação entre dispositivos permite fazer login em clusters do Google Distributed Cloud (GDC) em dispositivos que não têm um navegador instalado. Você pode iniciar o processo de autenticação no dispositivo principal (que não tem um navegador instalado) e concluí-lo em um dispositivo secundário com um navegador instalado.
Siga as etapas abaixo para configurar a autenticação entre dispositivos.
Fazer login no dispositivo principal
Execute o comando a seguir para autenticar-se no servidor usando o dispositivo principal. Especifique o argumento
--no-browser
para indicar que o dispositivo usado para acessar o cluster não tem um navegador instalado.gcloud anthos auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --no-browser
O serviço de identidade do GKE retorna um comando que precisa ser usado ao fazer login no segundo dispositivo. Este é um exemplo do comando:
You are authorizing gcloud CLI without access to a web browser. Please run the following command on a machine with a web browser and copy its output back here. gcloud auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --remote-bootstrap="URL_TO_COPY_ON_THE_SECOND_DEVICE" Enter the output of the above command:
Copie o comando
gcloud
.Fazer login nos clusters usando o segundo dispositivo
Antes de fazer login no segundo dispositivo, verifique se o navegador está instalado e se há conectividade de rede com o servidor da API Kubernetes. Execute o comando copiado da etapa anterior no segundo dispositivo.
gcloud auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --remote-bootstrap="URL_TO_COPY_ON_THE_SECOND_DEVICE"
Ao tentar fazer login nesse dispositivo, uma mensagem de alerta será exibida. Siga o processo de autenticação padrão conforme ele é exibido no navegador. Depois da autenticação, você vai receber um código único. Copie esse código.
WARNING: The following line enables access to your Cluster resources. ONLY COPY IT TO A MACHINE YOU TRUST AND RUN 'gcloud auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --no-browser' EARLY ON. Or_mHYQFm90efgJdwhajx0KeC_WXkuvBPuWv_83nFX9J_Eawm3tQcBpxBBWszj6Ix8dAWCgc1QjJBrlt67bzIYIBTexU7dc_ggtkMTNkG7wCIGYZ75zfg9P1gBshP33STe0ks-AoVonzk01YekMbyNugeYSO18CBwFhaDDSMABq4PI-clgbaSh8CPqrvDKRLenbvfD9BSK6SW945I0bOgPURxNzUX4sICWcvFozhQdLYICuwRM0AgarNFwoeh-0wbJGyRqUjq2NJbaYdf-VCaByiZaGPR2B1QVGXO7deKGtUnk1_tTFOnB6sJQvT6UJ8Ge5nkR38rqBeeGkYdlVIBTXShENG80An1Ve524xZupSzCHNSVTJqYg
Concluir o login no dispositivo principal
Cole o código copiado da etapa anterior no prompt do dispositivo principal.
Enter the code you received on the other device: Or_mHYQFm90efgJdwhajx0KeC_WXkuvBPuWv_83nFX9J_Eawm3tQcBpxBBWszj6Ix8dAWCgc1QjJBrlt67bzIYIBTexU7dc_ggtkMTNkG7wCIGYZ75zfg9P1gBshP33STe0ks-AoVonzk01YekMbyNugeYSO18CBwFhaDDSMABq4PI-clgbaSh8CPqrvDKRLenbvfD9BSK6SW945I0bOgPURxNzUX4sICWcvFozhQdLYICuwRM0AgarNFwoeh-0wbJGyRqUjq2NJbaYdf-VCaByiZaGPR2B1QVGXO7deKGtUnk1_tTFOnB6sJQvT6UJ8Ge5nkR38rqBeeGkYdlVIBTXShENG80An1Ve524xZupSzCHNSVTJqYg
O dispositivo usa esse código para gerar uma credencial que é salva em um arquivo
kubeconfig
. Esse arquivo permite o acesso ao cluster no dispositivo principal. Ao fazer login, a seguinte mensagem será exibida:You are logged in! Context is stored under the name '{cluster-name}'