O GKE On-Prem é compatível com o OpenID Connect (OIDC) para autenticação em clusters de usuários que estão utilizando a linha de comando. Veja os seguintes tópicos:
Para fazer login por meio do Console do Google Cloud, o GKE On-Prem usa um token do portador da conta de serviço do Kubernetes. Consulte Como fazer login em um cluster no console do Google Cloud.
Este tópico pressupõe que você conheça o OAuth 2.0 e o OpenID Connect. Também é necessário conhecer escopos e declarações no contexto da autenticação do OpenID.
Visão geral
Use o OIDC para gerenciar o acesso a um cluster do Kubernetes com os procedimentos padrão da organização para criar, ativar e desativar contas de funcionários. Também é possível usar os grupos de segurança da sua organização para configurar o acesso a um cluster do Kubernetes ou a serviços específicos no cluster.
Um usuário faz login em um provedor OpenID apresentando um nome de usuário e uma senha.
O provedor de OpenID emite um token de ID para o usuário. O token é assinado pelo provedor.
Um aplicativo, atuando em nome do usuário, envia uma solicitação HTTPS para o servidor da API Kubernetes. O aplicativo inclui o token de ID do usuário no cabeçalho da solicitação.
O servidor da API Kubernetes verifica o token usando o certificado do provedor.
Se sua empresa executa um servidor de Serviços de federação do Active Directory (ADFS, na sigla em inglês). O servidor ADFS pode servir como seu provedor de OpenID. Outra opção é usar um terceiro como seu provedor de OpenID, como Google, Microsoft, Facebook e Twitter, todos provedores de OpenID.
Como usar a CLI gcloud para chamar o servidor da API Kubernetes
Você executa o comando gcloud anthos auth login
para autenticar com os clusters
e, como resultado, sua solicitação vai para o servidor da API Kubernetes.
Para que isso funcione, seus tokens de ID OIDC precisam ser armazenados no
arquivo kubeconfig
.
O GKE On-Prem usa a CLI gcloud da Google Cloud CLI para solicitar e
receber o token de ID e outros valores OIDC no arquivo kubeconfig
.
O servidor da API Kubernetes e o token de ID
Após a autenticação com o cluster, é possível interagir usando a kubectl
CLI
da CLI gcloud. Quando kubectl
chama o servidor da API Kubernetes em nome
do usuário, o servidor da API verifica o token usando o certificado público
do provedor OpenID. Em seguida, o servidor da API analisa o token para saber a identidade do
usuário e os grupos de segurança dele.
O servidor da API determina se o usuário está autorizado a fazer essa chamada, comparando os grupos de segurança do usuário com a política de controle de acesso baseado em papéis (RBAC, na sigla em inglês) do cluster.