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 Secret muss denselben Namen wie die metadata.name (und den Benutzernamen) der User Ressource haben.

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" }