Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Usando Tokens de API

Deprecation of v3 API tokens

Rancher v2.13 introduced a new token resource in the ext.cattle.io API group to serve as the public API for tokens, which was only accessible through kubectl.

Starting with Rancher v2.14.1:

  • Legacy v3 API tokens (tokens.management.cattle.io) are being phased out and scheduled for removal in a future release. If you currently rely on legacy tokens for automation or API access, transition to the new tokens.ext.cattle.io tokens to ensure continued compatibility.

  • The Rancher dashboard provides basic support for tokens.ext.cattle.io (create, view or list, and delete).

O Rancher v2.8.0 introduziu a API Kubernetes do Rancher que pode ser usada para gerenciar recursos do Rancher através de kubectl. Esta página cobre informações sobre tokens de API usados com o Rancher CLI, arquivos kubeconfig, Terraform e o navegador da API v3.

Por padrão, alguns tokens de API em nível de cluster são gerados com tempo de vida infinito (ttl=0). Em outras palavras, tokens de API com ttl=0 nunca expiram, a menos que você os invalide. Tokens não são invalidados ao alterar uma senha.

Você pode desativar tokens de API excluindo-os ou desativando a conta do usuário.

Excluindo tokens

Para excluir um token:

  1. Vá para a lista de todos os tokens na visualização da API do Rancher em https://<Rancher-Server-IP>/v3/tokens.

  2. Acesse o token que você deseja excluir pelo seu ID. Por exemplo, https://<Rancher-Server-IP>/v3/tokens/kubectl-shell-user-vqkqt

  3. Clique em Excluir.

A seguir está uma lista completa de tokens gerados com ttl=0:

Token Descrição

kubectl-shell-*

Acesso ao shell kubectl no navegador

agent-*

Token para implantação de agente

compose-token-*

Token para composição

helm-token-*

Token para implantação de gráfico Helm

drain-node-*

Token para drain (o Rancher usa kubectl para drain porque não há uma API nativa do Kubernetes).

Definindo TTL em tokens Kubeconfig

Os administradores podem definir um tempo de vida global (TTL) para os tokens Kubeconfig. Alterar o TTL padrão do kubeconfig pode ser feito navegando até as configurações globais e definindo kubeconfig-default-token-ttl-minutes para a duração desejada em minutos. A partir do Rancher v2.8, o valor padrão de kubeconfig-default-token-ttl-minutes é 43200, o que significa que os tokens expiram em 30 dias.

Essa configuração é usada por todos os tokens kubeconfig, exceto aqueles criados pela CLI para gerar tokens kubeconfig.

Desativar tokens em Kubeconfigs Gerados

Defina a configuração kubeconfig-generate-token para false. Essa configuração instrui o Rancher a não gerar mais automaticamente um token quando um usuário clica em baixar um arquivo kubeconfig. Quando essa configuração está desativada, um kubeconfig gerado referencia o Rancher CLI para recuperar um token de curta duração para o cluster. Quando esse kubeconfig é usado em um cliente, como kubectl, o Rancher CLI precisa ser instalado para completar a solicitação de login.

Hashing de token

Você pode habilitar o hashing de token, onde os tokens passam por um hash unidirecional usando o algoritmo SHA256. Este é um processo não reversível: uma vez habilitado, esse recurso não pode ser desativado. Você deve primeiro avaliar essa configuração em um ambiente de teste e/ou fazer backups antes de habilitar.

Este recurso afeta todos os tokens que incluem, mas não se limitam a, os seguintes:

  • Tokens de kubeconfig

  • Tokens Bearer, chaves/chamadas da API

  • Tokens usados por operações internas

Configurações de token

Essas configurações globais afetam o comportamento do token do Rancher.

Configuração Descrição

auth-user-session-ttl-minutes

TTL em minutos para um token de sessão de autenticação de usuário.

auth-user-session-idle-ttl-minutes

TTL em minutos para um token de sessão de autenticação de usuário, sem atividade do usuário.

kubeconfig-default-token-ttl-minutes

TTL padrão aplicado a todos os tokens de kubeconfig, exceto para tokens gerados pelo Rancher CLI.

auth-token-max-ttl-minutes

TTL máximo para todos os tokens, exceto aqueles controlados por auth-user-session-ttl-minutes.

kubeconfig-generate-token

Se verdadeiro, gera automaticamente tokens quando um usuário baixa um kubeconfig.

auth-user-session-ttl-minutes

Duração do tempo de vida (TTL) em minutos, usada para determinar quando um token de sessão de autenticação de usuário expira. Quando expirar, o usuário deve fazer login e obter um novo token. Esta configuração não é afetada por auth-token-max-ttl-minutes. Tokens de sessão são criados quando um usuário faz login no Rancher.

auth-user-session-idle-ttl-minutes

Duração do tempo de vida (TTL) sem atividade do usuário para tokens de sessão de login, em minutos. Por padrão, auth-user-session-idle-ttl-minutes é definido com o mesmo valor que auth-user-session-ttl-minutes (para compatibilidade retroativa). Nunca deve exceder o valor de auth-user-session-ttl-minutes.

kubeconfig-default-token-ttl-minutes

Duração do tempo de vida (TTL) em minutos, usada para determinar quando um token kubeconfig expira. Quando o token expira, a API rejeita o token. Esta configuração não pode ser maior que auth-token-max-ttl-minutes. Esta configuração se aplica a tokens gerados em um arquivo kubeconfig solicitado, exceto para tokens gerados pelo Rancher CLI. A partir do Rancher v2.8, a duração padrão é 43200, o que significa que os tokens expiram em 30 dias.

auth-token-max-ttl-minutes

Tempo máximo de vida (TTL) em minutos permitido para tokens de autenticação. Se um usuário tentar criar um token com um TTL maior que auth-token-max-ttl-minutes, o Rancher define o TTL do token para o valor de auth-token-max-ttl-minutes. Aplica-se a todos os tokens kubeconfig e tokens de API. A partir do Rancher v2.8, a duração padrão é 129600, o que significa que os tokens expiram em 90 dias.

kubeconfig-generate-token

Quando verdadeiro, os kubeconfigs solicitados através da interface contêm um token válido. Quando falso, os kubeconfigs contêm um comando que usa o Rancher CLI para solicitar que o usuário faça login. O CLI então recupera e armazena em cache um token para o usuário. cli/kubectl.adoc#_authentication_with_kubectl_and_kubeconfig_tokens_with_ttl[O CLI então recupera e armazena em cache um token para o usuário].