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
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 executargcloud 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