|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Benutzer
Benutzerressource
Die User Ressource (users.management.cattle.io) stellt ein Benutzerkonto in Rancher dar.
Um eine Beschreibung der Felder und der Struktur der User Ressource zu erhalten, führen Sie aus:
kubectl explain users.management.cattle.io
Erstellen von Benutzern
Die Erstellung eines lokalen Benutzers ist ein zweistufiger Prozess: Sie müssen die User Ressource erstellen und dann ein Passwort über ein Kubernetes Secret bereitstellen.
Nur ein Benutzer mit ausreichenden Berechtigungen kann eine User Ressource erstellen.
kubectl create -f -<<EOF apiVersion: management.cattle.io/v3 kind: User metadata: name: testuser displayName: "Test User" username: "testuser" EOF
Das Passwort des Benutzers muss in einem Secret Objekt im cattle-local-user-passwords Namespace bereitgestellt werden. Der Rancher Webhook hasht das Passwort automatisch und aktualisiert die Secret.
|
Wichtig: Die |
kubectl create -f -<<EOF apiVersion: v1 kind: Secret metadata: name: testuser namespace: cattle-local-user-passwords type: Opaque stringData: password: Pass1234567! EOF
Nachdem das Klartextpasswort übermittelt wurde, hasht der Rancher Webhook es automatisch und ersetzt den Inhalt der Secret, sodass das Klartextpasswort niemals gespeichert wird:
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
Aktualisierung des Passworts des Benutzers
Um das Passwort eines Benutzers zu ändern, verwenden Sie die PasswordChangeRequest Ressource, die sichere Passwortaktualisierungen verwaltet.
kubectl create -f -<<EOF apiVersion: ext.cattle.io/v1 kind: PasswordChangeRequest spec: userID: "testuser" currentPassword: "Pass1234567!" newPassword: "NewPass1234567!" EOF
Auflisten von Benutzern
Listen Sie alle User Ressourcen im Cluster auf:
kubectl get users NAME AGE testuser 3m54s user-4n5ws 12m
Einen Benutzer anzeigen
Sehen Sie sich eine bestimmte User Ressource nach Namen an:
kubectl get user testuser NAME AGE testuser 3m54s
Benutzer löschen
Das Löschen eines Benutzers löscht automatisch das entsprechende Passwort Secret.
kubectl delete user testuser user.management.cattle.io "testuser" deleted
Aktuelle Informationen eines Benutzers abrufen
Ein Client verwendet die SelfUser Ressource, um Informationen über den derzeit authentifizierten Benutzer abzurufen, ohne dessen ID zu kennen. Die Benutzer-ID wird im .status.userID Feld zurückgegeben.
kubectl create -o jsonpath='{.status.userID}' -f -<<EOF apiVersion: ext.cattle.io/v1 kind: SelfUser EOF testuser
Aktualisieren der Gruppenmitgliedschaft eines Benutzers
Aktualisierungen der Benutzergruppenmitgliedschaften werden durch die GroupMembershipRefreshRequest Ressource ausgelöst.
|
Die Gruppenmitgliedschaft wird nur für externe Authentifizierungsanbieter unterstützt. |
Für einen einzelnen Benutzer
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" }
Für alle Benutzer
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" }