検索

17.9. ユーザー操作

download PDF

ユーザーの作成

users エンドポイントで create コマンドを実行して新規ユーザーを作成します。

以下に例を示します。

$ kcadm.sh create users -r demorealm -s username=testuser -s enabled=true

ユーザーのリスト表示

users エンドポイントを使用してユーザーをリスト表示します。ターゲットユーザーは、次回ログイン時にパスワードを変更する必要があります。

以下に例を示します。

$ kcadm.sh get users -r demorealm --offset 0 --limit 1000

usernamefirstNamelastName、または email でユーザーを絞り込むことができます。

以下に例を示します。

$ kcadm.sh get users -r demorealm -q email=google.com
$ kcadm.sh get users -r demorealm -q username=testuser
注記

フィルタリングは完全一致を使用しません。この例では、*testuser* パターンに対して username 属性の値と一致します。

複数の属性でフィルタリングするには、複数の -q オプションを指定します。Red Hat build of Keycloak は、すべての属性の条件に一致するユーザーを返します。

特定ユーザーの取得

ユーザーの ID を使用して、users/USER_ID などのエンドポイント URI を作成します。

以下に例を示します。

$ kcadm.sh get users/0ba7a3fd-6fd8-48cd-a60b-2e8fd82d56e2 -r demorealm

ユーザーの更新

update コマンドを、特定のクライアントを取得するために使用したのと同じエンドポイント URI で使用します。

以下に例を示します。

  • Linux:

    $ kcadm.sh update users/0ba7a3fd-6fd8-48cd-a60b-2e8fd82d56e2 -r demorealm -s 'requiredActions=["VERIFY_EMAIL","UPDATE_PROFILE","CONFIGURE_TOTP","UPDATE_PASSWORD"]'
  • Windows:

    c:\> kcadm update users/0ba7a3fd-6fd8-48cd-a60b-2e8fd82d56e2 -r demorealm -s "requiredActions=[\"VERIFY_EMAIL\",\"UPDATE_PROFILE\",\"CONFIGURE_TOTP\",\"UPDATE_PASSWORD\"]"

ユーザーの削除

delete コマンドを、特定のクライアントを取得するために使用したのと同じエンドポイント URI で使用します。

以下に例を示します。

$ kcadm.sh delete users/0ba7a3fd-6fd8-48cd-a60b-2e8fd82d56e2 -r demorealm

ユーザーのパスワードのリセット

専用の set-password コマンドを使用して、ユーザーのパスワードをリセットします。

以下に例を示します。

$ kcadm.sh set-password -r demorealm --username testuser --new-password NEWPASSWORD --temporary

このコマンドは、ユーザーに一時パスワードを設定します。ターゲットユーザーは、次回ログイン時にパスワードを変更する必要があります。

id 属性では、--userid を使用してユーザーを指定できます。

users/USER_ID/reset-password など、特定のユーザーから構築されたエンドポイントで update コマンドを使用すると同じ結果が得られます。

以下に例を示します。

$ kcadm.sh update users/0ba7a3fd-6fd8-48cd-a60b-2e8fd82d56e2/reset-password -r demorealm -s type=password -s value=NEWPASSWORD -s temporary=true -n

-n パラメーターを使用すると、Red Hat build of Keycloak は PUT コマンドの前に GET コマンドを実行しなくても、PUT コマンドを実行できます。reset-password エンドポイントは GET に対応していないため、この設定が必要です。

ユーザーに割り当てられている利用可能で有効なレルムロールのリスト表示

ユーザーに割り当てられ、利用可能で有効なレルムロールをリスト表示するには、get-roles コマンドを使用できます。

  1. 割り当てられた ユーザーのレルムロールをリスト表示するには、ユーザー名または ID でターゲットユーザーを指定します。

    以下に例を示します。

    $ kcadm.sh get-roles -r demorealm --uusername testuser
  2. 有効な レルムロールをリスト表示するには、--effective オプションを使用します。

    以下に例を示します。

    $ kcadm.sh get-roles -r demorealm --uusername testuser --effective
  3. --available オプションを使用して、ユーザーに追加できるレルムロールをリスト表示します。

    以下に例を示します。

    $ kcadm.sh get-roles -r demorealm --uusername testuser --available

ユーザーに割り当てられている利用可能で有効なクライアントロールのリスト表示

ユーザーに割り当てられ、利用可能で有効なクライアントロールをリスト表示するには、get-roles コマンドを使用します。

  1. ユーザー名 (--uusername オプション) または ID(--uid オプション) でターゲットユーザーを指定し、clientId 属性 (--cclientid オプション) または ID(--cid オプション) でクライアントを指定して、そのユーザーに 割り当てられた クライアントロールをリスト表示します。

    以下に例を示します。

    $ kcadm.sh get-roles -r demorealm --uusername testuser --cclientid realm-management
  2. 有効な レルムロールをリスト表示するには、--effective オプションを使用します。

    以下に例を示します。

    $ kcadm.sh get-roles -r demorealm --uusername testuser --cclientid realm-management --effective
  3. --available オプションを使用して、ユーザーに追加できるレルムロールをリスト表示します。

    以下に例を示します。

    $ kcadm.sh get-roles -r demorealm --uusername testuser --cclientid realm-management --available

レルムロールのユーザーへの追加

add-roles コマンドを使用して、レルムロールをユーザーに追加します。

以下の例を使用して、user ロールを testuser ユーザーに追加します。

$ kcadm.sh add-roles --uusername testuser --rolename user -r demorealm

ユーザーからのレルムロールの削除

ユーザーからレルムロールを削除するには、remove-roles コマンドを使用します。

以下の例を使用して、ユーザー testuser から user ロールを削除します。

$ kcadm.sh remove-roles --uusername testuser --rolename user -r demorealm

クライアントロールのユーザーへの追加

add-roles コマンドを使用して、クライアントロールをユーザーに追加します。

以下の例を使用して、クライアントの レルム管理 で定義された 2 つのロールを追加します (create-client ロールと view-users ロールをユーザー testuser に追加します)。

$ kcadm.sh add-roles -r demorealm --uusername testuser --cclientid realm-management --rolename create-client --rolename view-users

ユーザーからのクライアントロールの削除

ユーザーからクライアントロールを削除するには、remove-roles コマンドを使用します。

以下の例を使用して、レルム管理クライアントで定義された 2 つのロールを削除します。

$ kcadm.sh remove-roles -r demorealm --uusername testuser --cclientid realm-management --rolename create-client --rolename view-users

ユーザーのセッションのリスト表示

  1. ユーザーの ID を特定します。
  2. ID を使用して、users/ID/sessions などのエンドポイント URI を作成します。
  3. get コマンドを使用して、ユーザーのセッションのリストを取得します。

    以下に例を示します。

    $ kcadm.sh get users/6da5ab89-3397-4205-afaa-e201ff638f9e/sessions -r demorealm

特定のセッションからユーザーをログアウト

  1. 上記のようにセッションの ID を決定します。
  2. セッションの ID を使用して、sessions/ID などのエンドポイント URI を作成します。
  3. delete コマンドを使用してセッションを無効にします。

    以下に例を示します。

    $ kcadm.sh delete sessions/d0eaa7cc-8c5d-489d-811a-69d3c4ec84d1 -r demorealm

全セッションからユーザーをログアウト

users/ID/logout などのエンドポイント URI を作成するには、ユーザーの ID を使用します。

create コマンドを使用して、そのエンドポイント URI で POST を実行します。

以下に例を示します。

$ kcadm.sh create users/6da5ab89-3397-4205-afaa-e201ff638f9e/logout -r demorealm -s realm=demorealm -s user=6da5ab89-3397-4205-afaa-e201ff638f9e
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.