|
Esta é uma documentação não divulgada para SUSE® Rancher Manager v2.15 (Unreleased). |
Usuários
Recurso do Usuário
O recurso User (users.management.cattle.io) representa uma conta de usuário no Rancher.
Para obter uma descrição dos campos e da estrutura do recurso User, execute:
kubectl explain users.management.cattle.io
Criando um usuário
Criar um usuário local é um processo de duas etapas: você deve criar o recurso User e, em seguida, fornecer uma senha via um Secret do Kubernetes.
Apenas um usuário com permissões suficientes pode criar um recurso User.
kubectl create -f -<<EOF
apiVersion: management.cattle.io/v3
kind: User
metadata:
name: testuser
displayName: "Test User"
username: "testuser"
EOF
A senha do usuário deve ser fornecida em um objeto Secret dentro do namespace cattle-local-user-passwords. O webhook do Rancher faz o hash da senha automaticamente e atualiza o Secret.
|
Importante: O |
kubectl create -f -<<EOF
apiVersion: v1
kind: Secret
metadata:
name: testuser
namespace: cattle-local-user-passwords
type: Opaque
stringData:
password: Pass1234567!
EOF
Após a senha em texto simples ser enviada, o Rancher-Webhook faz o hash dela automaticamente, substituindo o conteúdo do Secret, garantindo que a senha em texto simples nunca seja armazenada:
apiVersion: v1
data:
password: 1c1Y4CdjlehGWFz26F414x2qoj4gch5L5OXsx35MAa8=
salt: m8Co+CfMDo5XwVl0FqYzGcRIOTgRrwFSqW8yurh5DcE=
kind: Secret
metadata:
annotations:
cattle.io/password-hash: pbkdf2sha3512
name: testuser
namespace: cattle-local-user-passwords
ownerReferences:
- apiVersion: management.cattle.io/v3
kind: User
name: testuser
uid: 663ffb4f-8178-46c8-85a3-337f4d5cbc2e
uid: bade9f0a-b06f-4a77-9a39-4284dc2349c5
type: Opaque
Atualizando a Senha do Usuário
Para alterar a senha de um usuário, use o recurso PasswordChangeRequest, que gerencia atualizações seguras de senha.
kubectl create -f -<<EOF
apiVersion: ext.cattle.io/v1
kind: PasswordChangeRequest
spec:
userID: "testuser"
currentPassword: "Pass1234567!"
newPassword: "NewPass1234567!"
EOF
Listando Usuários
Liste todos os recursos User no cluster:
kubectl get users
NAME AGE
testuser 3m54s
user-4n5ws 12m
Visualizando um Usuário
Visualize um recurso User específico pelo nome:
kubectl get user testuser
NAME AGE
testuser 3m54s
Apagando um usuário
Excluir um usuário exclui automaticamente a senha correspondente Secret.
kubectl delete user testuser
user.management.cattle.io "testuser" deleted
Obter Informações do Usuário Atual
Um cliente usa o recurso SelfUser para recuperar informações sobre o usuário autenticado atualmente sem saber seu ID. O ID do usuário é retornado no campo .status.userID.
kubectl create -o jsonpath='{.status.userID}' -f -<<EOF
apiVersion: ext.cattle.io/v1
kind: SelfUser
EOF
testuser
Atualizando a Associação de Grupo de um Usuário
As atualizações nas associações de grupos de usuários são acionadas pelo recurso GroupMembershipRefreshRequest.
|
A associação a grupos é suportada apenas para provedores de autenticação externos. |
Para um único usuário
kubectl create -o jsonpath='{.status}' -f -<<EOF
apiVersion: ext.cattle.io/v1
kind: GroupMembershipRefreshRequest
spec:
userId: testuser
EOF
{
"conditions": [
{
"lastTransitionTime": "2025-11-10T12:01:03Z",
"message": "",
"reason": "",
"status": "True",
"type": "UserRefreshInitiated"
}
],
"summary": "Completed"
}
Para todos os usuários
kubectl create -o jsonpath='{.status}' -f -<<EOF
apiVersion: ext.cattle.io/v1
kind: GroupMembershipRefreshRequest
spec:
userId: "*"
EOF
{
"conditions": [
{
"lastTransitionTime": "2025-11-10T12:01:59Z",
"message": "",
"reason": "",
"status": "True",
"type": "UserRefreshInitiated"
}
],
"summary": "Completed"
}