Configurar um método de autenticação para acesso do usuário

Este documento é destinado a administradores de cluster que já configuraram os clusters para o GKE Identity Service. Ele contém instruções sobre como configurar e gerenciar o acesso do usuário a esses clusters configurados para os desenvolvedores da sua organização e outros usuários.

Há dois tipos de métodos de autenticação que podem ser usados para configurar o acesso do usuário aos clusters:

  • Configurar com acesso via FQDN (recomendado): com essa abordagem, os usuários podem se autenticar diretamente no servidor do GKE Identity Service usando o nome de domínio totalmente qualificado (FQDN, na sigla em inglês) do servidor da API Kubernetes do cluster. Para mais informações, consulte Configurar o acesso via FQDNs.
  • Configurar com acesso baseado em arquivos: nessa abordagem, você gera um arquivo de configuração de login e o distribui aos usuários do cluster. Os usuários podem fazer login em clusters configurados com comandos de autenticação gcloud usando esse arquivo. Para mais informações, consulte Configurar o acesso baseado em arquivos.

Configurar o acesso via FQDN (recomendado)

Esta seção explica como configurar o acesso de login do usuário fornecendo ao usuário o URL (FQDN) de um servidor a ser usado na autenticação. Com o fluxo de autenticação, o usuário pode fazer login com o respectivo IdP e fornecer um token que é adicionado ao arquivo kubeconfig para acessar o cluster. Essa abordagem de autenticação é compatível apenas com clusters locais (Google Distributed Cloud) no VMware e em bare metal, a partir da versão 1.29. Outros tipos de cluster não são suportados. Se você precisar configurar a autenticação para clusters locais usando uma versão do software com suporte mais antiga ou para outros tipos de cluster, siga as instruções para configurar o acesso baseado em arquivo.

Antes de compartilhar o FQDN com os usuários, verifique se você ou o administrador da plataforma seguiram a configuração adequada, incluindo a configuração de DNS do FQDN e o fornecimento do FQDN como parte do registro no provedor de identidade, se necessário.

Compartilhar FQDN com usuários

No lugar de um arquivo de configuração, os administradores de cluster podem compartilhar o FQDN do servidor da API Kubernetes do cluster com os usuários. Os usuários podem usar esse FQDN para fazer login no cluster. O formato do URL para login é APISERVER-URL, em que o URL contém o FQDN do servidor da API.

Um exemplo de formato de APISERVER-URL é https://apiserver.company.com.

Configurar opções do serviço de identidade

Com essa opção de configuração, é possível definir a duração do ciclo de vida do token. O identityServiceOptions na resposta automática do ClientConfig tem um parâmetro sessionDuration que permite configurar o ciclo de vida do token (em minutos). O parâmetro sessionDuration tem um limite inferior de 15 minutos e um limite máximo de 1.440 minutos (24 horas).

Veja um exemplo da resposta automática do ClientConfig:

spec:
    identityServiceOptions:
      sessionDuration: INT

em que INT é a duração da sessão em minutos.

Configurar o acesso baseado em arquivo

Uma alternativa ao acesso via FQDN para os administradores de cluster é a possibilidade de gerar um arquivo de configuração de login e distribuí-lo aos usuários do cluster. É recomendável usar essa opção se você estiver configurando a autenticação em um cluster com uma versão ou um tipo não compatível com o acesso via FQDN. Esse arquivo permite que os usuários acessem clusters pela linha de comando com o provedor escolhido. Essa abordagem de autenticação é compatível apenas com provedores OIDC e LDAP.

Gerar a configuração de login

Console

(Apenas no nível da frota)

Copie o comando gcloud exibido e execute-o para gerar o arquivo.

gcloud

Se você configurou o cluster usando a CLI gcloud ou se precisa gerar o arquivo novamente, execute o seguinte comando para gerar o arquivo:

gcloud anthos create-login-config --kubeconfig=KUBECONFIG

em que KUBECONFIG é o caminho do arquivo kubeconfig do cluster. Se houver vários contextos no kubeconfig, o contexto atual será usado. Talvez seja necessário redefinir o contexto atual para o cluster correto antes de executar o comando.

Veja detalhes de referência completos para esse comando, incluindo parâmetros opcionais adicionais, no Guia de referência da Google Cloud CLI.

O nome padrão do arquivo de configuração de login é kubectl-anthos-config.yaml, que é o nome que a Google Cloud CLI espera ao usar o arquivo para fazer login. Se você quiser alterar esse nome para um nome não padrão, consulte a seção relevante em Distribuir a configuração de login.

Para resolver problemas de acesso do usuário, consulte Resolver problemas de acesso do usuário.

Distribuir a configuração de login

Confira a seguir algumas maneiras de distribuir o arquivo de configuração:

  • Hospedar o arquivo em um URL acessível. Os usuários podem especificar esse local com a sinalização --login-config ao executar gcloud anthos auth login, permitindo que a Google Cloud CLI receba o arquivo.

    Considere hospedar o arquivo em um host seguro. Consulte a sinalização --login-config-cert da CLI gcloud para ver mais informações sobre o uso de certificados PEM para acesso HTTPS seguro.

  • Forneça manualmente o arquivo para cada usuário, com informações sobre onde salvá-lo na máquina local. A Google Cloud CLI espera encontrar o arquivo em um local padrão específico do SO. Se o arquivo tiver um nome ou local não padrão, seus usuários precisarão usar a sinalização --login-config para especificar o local do arquivo de configuração ao executar comandos no cluster. As instruções para os usuários salvarem o arquivo estão em Acessar clusters com o GKE Identity Service.

  • Usar suas ferramentas internas para enviar o arquivo de configuração de autenticação para a máquina de cada usuário. A Google Cloud CLI espera encontrar o arquivo nos seguintes locais, dependendo do sistema operacional do usuário:

    Linux

    $HOME/.config/google/anthos/kubectl-anthos-config.yaml

    macOS

    $HOME/Library/Preferences/google/anthos/kubectl-anthos-config.yaml

    Windows

    %APPDATA%\google\anthos\kubectl-anthos-config.yaml