|
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. |
Tokens
|
Deprecation of v3 API tokens
Rancher v2.13 introduced a new token resource in the Starting with Rancher v2.14.1:
|
Recurso de token
O Rancher possui um recurso de API imperativo tokens.ext.cattle.io que permite gerar tokens para autenticação com o Rancher.
kubectl api-resources --api-group=ext.cattle.io
Para obter uma descrição dos campos e da estrutura do recurso token, execute:
kubectl explain tokens.ext.cattle.io
Criando um token
|
O valor do token é retornado apenas uma vez no campo |
Apenas um usuário válido e ativo do Rancher pode criar um token. Caso contrário, você receberá um erro exibido (Error from server (Forbidden)…) ao tentar criar um token.
kubectl create -o jsonpath='{.status.value}' -f -<<EOF
apiVersion: ext.cattle.io/v1
kind: Token
EOF
Error from server (Forbidden): error when creating "STDIN": tokens.ext.cattle.io is forbidden: user system:admin is not a Rancher user
Um token é sempre criado para o usuário que faz a solicitação. Tentar criar um token para um usuário diferente, especificando um spec.userID diferente, é proibido e falhará.
-
O campo
spec.descriptionpode ser definido como uma descrição legível por humanos do propósito do token. O valor padrão é vazio. -
O campo
spec.kindpode ser definido como o tipo de token. O valorsessionindica um token de login. Todos os outros valores, incluindo a string vazia padrão, indicam um tipo de token derivado. -
Os campos
metadata.nameemetadata.generateNamesão ignorados, e o nome do novo token é gerado automaticamente usando o prefixotoken-.kubectl create -o jsonpath='{.status.value}' -f -<<EOF apiVersion: ext.cattle.io/v1 kind: Token spec: description: My Token EOF -
Se o
spec.ttlnão for especificado, o token é criado com o tempo de expiração definido na configuraçãoauth-token-max-ttl-minutes. O tempo de expiração padrão é de 90 dias. Sespec.ttlfor especificado, deve ser maior que 0 e menor ou igual ao valor da configuraçãoauth-token-max-ttl-minutesexpresso em milissegundos.kubectl create -o jsonpath='{.status.value}' -f -<<EOF apiVersion: ext.cattle.io/v1 kind: Token spec: ttl: 7200000 # 2 hours EOF
Listando tokens
Listar tokens gerados anteriormente pode ajudar a limpar tokens que não são mais necessários (por exemplo, que foram emitidos temporariamente). Administradores podem listar todos os tokens, enquanto usuários regulares podem ver apenas seus próprios tokens.
kubectl get tokens.ext.cattle.io
NAME KIND TTL AGE
token-chjc9 90d 18s
token-6fzgj 90d 16s
token-8nbrm 90d 14s
Use -o wide para obter mais detalhes:
kubectl get tokens.ext.cattle.io -o wide
NAME USER KIND TTL AGE DESCRIPTION
token-chjc9 user-jtghh 90d 24s example
token-6fzgj user-jtghh 90d 22s box
token-8nbrm user-jtghh 90d 20s jinx
Visualizando um token
Administradores podem obter qualquer token, enquanto usuários regulares podem obter apenas seus próprios tokens.
kubectl get tokens.ext.cattle.io token-chjc9
NAME KIND TTL AGE
token-chjc9 90d 18s
Use -o wide para obter mais detalhes:
kubectl get tokens.ext.cattle.io token-chjc9 -o wide
NAME USER KIND TTL AGE DESCRIPTION
token-chjc9 user-jtghh 90d 24s example
Deletando um token
Administradores podem deletar qualquer token, enquanto usuários regulares podem deletar apenas seus próprios tokens.
kubectl delete tokens.ext.cattle.io token-chjc9
token.ext.cattle.io "token-chjc9" deleted
Atualizando um token
Apenas os campos de metadados spec.description, spec.ttl e spec.enabled podem ser atualizados. Todos os outros campos spec são imutáveis. Administradores podem estender o campo spec.ttl, enquanto usuários regulares podem apenas reduzir o valor.
Um exemplo de comando kubectl para editar um token:
kubectl edit tokens.ext.cattle.io token-zp786