この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

ユーザ

ユーザーリソース

`User`リソース(users.management.cattle.io)は、Rancherにおけるユーザーアカウントを表します。

`User`リソースのフィールドと構造の説明を取得するには、次のコマンドを実行してください:

kubectl explain users.management.cattle.io

ユーザの作成

ローカルユーザーを作成するには、2段階のプロセスが必要です:`User`リソースを作成し、その後Kubernetesの`Secret`を介してパスワードを提供する必要があります。

十分な権限を持つユーザーのみが`User`リソースを作成できます。

kubectl create -f -<<EOF apiVersion: management.cattle.io/v3 kind: User metadata: name: testuser displayName: "Test User" username: "testuser" EOF

ユーザーのパスワードは、`cattle-local-user-passwords`ネームスペース内の`Secret`オブジェクトに提供する必要があります。RancherのWebhookは自動的にパスワードをハッシュ化し、`Secret`を更新します。

重要:`Secret`は、`User`リソースのmetadata.name(およびユーザー名)と同じ名前でなければなりません。

kubectl create -f -<<EOF apiVersion: v1 kind: Secret metadata: name: testuser namespace: cattle-local-user-passwords type: Opaque stringData: password: Pass1234567! EOF

平文のパスワードが送信されると、Rancher-Webhookは自動的にそれをハッシュ化し、`Secret`の内容を置き換え、平文のパスワードが保存されないようにします:

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

ユーザーのパスワードの更新

ユーザーのパスワードを変更するには、セキュアなパスワードの更新を処理する`PasswordChangeRequest`リソースを使用してください。

kubectl create -f -<<EOF apiVersion: ext.cattle.io/v1 kind: PasswordChangeRequest spec: userID: "testuser" currentPassword: "Pass1234567!" newPassword: "NewPass1234567!" EOF

ユーザの一覧

クラスター内のすべての`User`リソースをリストします:

kubectl get users NAME AGE testuser 3m54s user-4n5ws 12m

ユーザーの表示

特定の`User`リソースを名前で表示します:

kubectl get user testuser NAME AGE testuser 3m54s

ユーザの削除

ユーザーを削除すると、対応するパスワード`Secret`も自動的に削除されます。

kubectl delete user testuser user.management.cattle.io "testuser" deleted

現在のユーザーの情報を取得

クライアントは、現在認証されているユーザーに関する情報を取得するために`SelfUser`リソースを使用し、そのIDを知る必要はありません。ユーザーIDは`.status.userID`フィールドに返されます。

kubectl create -o jsonpath='{.status.userID}' -f -<<EOF apiVersion: ext.cattle.io/v1 kind: SelfUser EOF testuser

ユーザーのグループメンバーシップの更新

ユーザーグループメンバーシップの更新は、`GroupMembershipRefreshRequest`リソースによってトリガーされます。

グループメンバーシップは、外部認証プロバイダーのみサポートされています。

単一ユーザー用

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

すべてのユーザー用

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