Configure um método de autenticação para o acesso do utilizador

Este documento destina-se a administradores de clusters que já configuraram os respetivos clusters para o serviço de identidade do GKE. Fornece instruções sobre como configurar e gerir o acesso dos utilizadores a estes clusters configurados para os programadores e outros utilizadores da sua organização.

Existem dois tipos de métodos de autenticação que pode usar para configurar o acesso dos utilizadores aos seus clusters:

  • Configuração com acesso FQDN (recomendado): com esta abordagem, os utilizadores podem autenticar-se diretamente no servidor do GKE Identity Service através do nome de domínio totalmente qualificado (FQDN) do servidor da API Kubernetes do cluster. Para mais informações, consulte o artigo Configure o acesso FQDN.
  • Configuração com acesso baseado em ficheiros: com esta abordagem, gera um ficheiro de configuração de início de sessão e distribui-o aos utilizadores do cluster. Em seguida, os utilizadores podem iniciar sessão em clusters configurados com comandos de autenticação gcloud através deste ficheiro. Para mais informações, consulte o artigo Configure o acesso baseado em ficheiros.

Configure o acesso FQDN (recomendado)

Esta secção explica como configurar o acesso de início de sessão do utilizador fornecendo ao utilizador o URL (FQDN) de um servidor a usar para autenticação. O fluxo de autenticação permite que o utilizador inicie sessão com o respetivo IdP e fornece-lhe um token que é adicionado ao respetivo ficheiro kubeconfig para aceder ao cluster. Esta abordagem de autenticação só é suportada para clusters no local (Google Distributed Cloud) no VMware e bare metal, a partir da versão 1.29. Outros tipos de clusters não são suportados. Se precisar de configurar a autenticação para clusters no local com uma versão de software suportada mais antiga ou para outros tipos de clusters, siga as instruções para configurar o acesso baseado em ficheiros.

Antes de partilhar o FQDN com os utilizadores, certifique-se de que você ou o administrador da plataforma seguiram a configuração adequada, incluindo a configuração de DNS para o FQDN e o fornecimento do FQDN como parte do registo no seu fornecedor de identidade, se necessário.

Partilhe o FQDN com os utilizadores

Em vez de um ficheiro de configuração, os administradores do cluster podem partilhar o FQDN do servidor da API Kubernetes do cluster, como https://apiserver.example.com, com os utilizadores. Os utilizadores podem usar este NQD para iniciar sessão no cluster.

Configure as opções do serviço de identidade

Com esta opção de configuração, pode configurar a duração do ciclo de vida do token. O identityServiceOptions no CR ClientConfig tem um parâmetro sessionDuration que lhe permite configurar a duração total do token (em minutos). O parâmetro sessionDuration tem um limite inferior de 15 minutos e um limite máximo de 1440 minutos (24 horas).

Segue-se um exemplo do aspeto no CR ClientConfig:

spec:
    identityServiceOptions:
      sessionDuration: INT

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

Configure o acesso baseado em ficheiros

Como alternativa ao acesso FQDN, os administradores do cluster podem gerar um ficheiro de configuração de início de sessão e distribuí-lo aos utilizadores do cluster. Pode querer usar esta opção se estiver a configurar a autenticação para um cluster com uma versão ou um tipo que não suporta o acesso FQDN. Este ficheiro permite que os utilizadores acedam a clusters a partir da linha de comandos com o fornecedor escolhido. Esta abordagem de autenticação é suportada apenas para fornecedores OIDC e LDAP.

Gere a configuração de início de sessão

Consola

(Apenas configuração ao nível da frota)

Copie o comando gcloud apresentado e execute-o para gerar o ficheiro.

gcloud

Se configurou o cluster através da CLI ou se precisar de gerar o ficheiro novamente, execute o seguinte comando para gerar o ficheiro:gcloud

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

onde KUBECONFIG é o caminho para o ficheiro kubeconfig do cluster. Se existirem vários contextos no kubeconfig, é usado o contexto atual. Pode ter de repor o contexto atual para o cluster correto antes de executar o comando.

Pode ver detalhes de referência completos para este comando, incluindo parâmetros opcionais adicionais, no guia de referência da CLI Google Cloud.

O nome predefinido do ficheiro de configuração de início de sessão é kubectl-anthos-config.yaml, que é o nome que a CLI gcloud espera quando usa o ficheiro para iniciar sessão. Se quiser alterar esta opção para um nome não predefinido, consulte a secção relevante em Distribua a configuração de início de sessão.

Para obter informações de resolução de problemas relacionadas com o acesso de utilizadores, consulte o artigo Resolva problemas de acesso de utilizadores.

Distribua a configuração de início de sessão

Seguem-se algumas formas de distribuir o ficheiro de configuração:

  • Aloje o ficheiro num URL acessível. Os utilizadores podem especificar esta localização com a flag --login-config quando executam gcloud anthos auth login, o que permite à CLI Google Cloud obter o ficheiro.

    Considere alojar o ficheiro num anfitrião seguro. Consulte a flag --login-config-cert da CLI gcloud para ver mais informações sobre a utilização de certificados PEM para acesso HTTPS seguro.

  • Fornecer manualmente o ficheiro a cada utilizador com informações sobre onde o guardar no respetivo computador local. A CLI Google Cloud espera encontrar o ficheiro numa localização predefinida específica do SO. Se o ficheiro tiver um nome ou uma localização não predefinidos, os utilizadores têm de usar a flag --login-config para especificar a localização do ficheiro de configuração quando executam comandos no cluster. As instruções para os utilizadores guardarem o ficheiro encontram-se no artigo Aceda a clusters com o serviço de identidade do GKE.

  • Use as suas ferramentas internas para enviar o ficheiro de configuração de autenticação para o computador de cada utilizador. A CLI do Google Cloud espera encontrar o ficheiro nas seguintes localizações, consoante o SO do utilizador:

    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