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.

A versão da CLI gcloud necessária para fazer login com o FQDN fornecido é pelo menos a versão 474.0.0.

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:

  1. Iniciar login: o usuário executa o comando gcloud anthos auth login --server APISERVER-URL para iniciar o processo de login.
  2. 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.
  3. 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.
  4. 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.

  5. Acesso ao cluster: o usuário pode acessar o cluster usando comandos kubectl. O cliente kubectl envia automaticamente o token do arquivo kubeconfig com cada solicitação.

  6. 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 arquivo kubeconfig 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