20.10. グループ操作

グループの作成

groups エンドポイントで create コマンドを使用して新規グループを作成します。

以下に例を示します。

$ kcadm.sh create groups -r demorealm -s name=Group

グループの一覧表示

groups エンドポイントで get コマンドを使用してグループの一覧を表示します。

以下に例を示します。

$ kcadm.sh get groups -r demorealm

特定グループの取得

グループの ID を使用して、groups/GROUP_ID などのエンドポイント URI を作成します。

以下に例を示します。

$ kcadm.sh get groups/51204821-0580-46db-8f2d-27106c6b5ded -r demorealm

グループの更新

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

以下に例を示します。

$ kcadm.sh update groups/51204821-0580-46db-8f2d-27106c6b5ded -s 'attributes.email=["group@example.com"]' -r demorealm

グループの削除

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

以下に例を示します。

$ kcadm.sh delete groups/51204821-0580-46db-8f2d-27106c6b5ded -r demorealm

サブグループの作成

グループを一覧表示して親グループの ID を見つけ、その ID を使用して groups/GROUP_ID/children などのエンドポイント URI を作成します。

以下に例を示します。

$ kcadm.sh create groups/51204821-0580-46db-8f2d-27106c6b5ded/children -r demorealm -s name=SubGroup

別のグループでのグループの移動

  1. 既存の親グループの ID と既存の子グループの ID を検索します。
  2. 親グループの ID を使用して groups/PARENT_GROUP_ID/children などのエンドポイント URI を作成します。
  3. このエンドポイントで create コマンドを実行し、子グループの ID を JSON の本文として渡します。

以下に例を示します。

$ kcadm.sh create groups/51204821-0580-46db-8f2d-27106c6b5ded/children -r demorealm -s id=08d410c6-d585-4059-bb07-54dcb92c5094

特定ユーザーのグループを取得する

ユーザーの ID を使用してグループ内のユーザーのメンバーシップを判別し、users/USER_ID/groups などのエンドポイント URI を作成します。

以下に例を示します。

$ kcadm.sh get users/b544f379-5fc4-49e5-8a8d-5cfb71f46f53/groups -r demorealm

グループへのユーザーの追加

users/USER_ID/groups/GROUP_ID などのユーザーの ID とグループの ID で構成されるエンドポイント URI で update コマンドを使用し、ユーザーをグループに追加します。

以下に例を示します。

$ kcadm.sh update users/b544f379-5fc4-49e5-8a8d-5cfb71f46f53/groups/ce01117a-7426-4670-a29a-5c118056fe20 -r demorealm -s realm=demorealm -s userId=b544f379-5fc4-49e5-8a8d-5cfb71f46f53 -s groupId=ce01117a-7426-4670-a29a-5c118056fe20 -n

グループからのユーザーの削除

users/USER_ID/groups/GROUP_ID などのグループにユーザーを追加するのに使用するエンドポイント URI で delete コマンドを使用し、グループからユーザーを削除します。

以下に例を示します。

$ kcadm.sh delete users/b544f379-5fc4-49e5-8a8d-5cfb71f46f53/groups/ce01117a-7426-4670-a29a-5c118056fe20 -r demorealm

グループに割り当てられている利用可能で有効なレルムロールの一覧表示

専用の get-roles コマンドを使用して、グループに割り当てられた、利用可能かつ有効なレルムロールを一覧表示します。

  1. ターゲットグループを名前 (via the --gname オプション)、パス ([command] --gpathオプション)、または ID (--gid オプション) で 指定して、グループに割り当てられた レルムロールを一覧表示します。

    以下に例を示します。

    $ kcadm.sh get-roles -r demorealm --gname Group
  2. 有効な レルムロールの一覧を表示するには、追加の --effective オプションを使用します。

    以下に例を示します。

    $ kcadm.sh get-roles -r demorealm --gname Group --effective
  3. --available オプションを使用して、グループに追加可能なレルムロールを一覧表示します。

    以下に例を示します。

    $ kcadm.sh get-roles -r demorealm --gname Group --available

グループに割り当てられた、利用可能、有効なクライアントロールの一覧表示

グループに割り当てられ、利用可能な、有効なクライアントロールを一覧表示するには、専用の get-roles コマンドを使用します。

  1. 名前 (--gname オプション) または ID (--gid オプション) のいずれかでターゲットグループを指定し、clientId 属性 ([command] --cclientid オプション) または ID (--id オプション) のいずれかでクライアントを指定して、そのユーザーに対する 割り当てられた クライアントロールを一覧表示します。

    以下に例を示します。

    $ kcadm.sh get-roles -r demorealm --gname Group --cclientid realm-management
  2. 有効な レルムロールの一覧を表示するには、追加の --effective オプションを使用します。

    以下に例を示します。

    $ kcadm.sh get-roles -r demorealm --gname Group --cclientid realm-management --effective
  3. --available オプションを使用して、グループに追加可能なレルムロールを一覧表示します。

    以下に例を示します。

    $ kcadm.sh get-roles -r demorealm --gname Group --cclientid realm-management --available