20.7. ロール操作
レルムロールの作成
roles
エンドポイントを使用してレルムロールを作成します。
kcadm.sh create roles -r demorealm -s name=user -s 'description=Regular user with limited set of permissions'
$ kcadm.sh create roles -r demorealm -s name=user -s 'description=Regular user with limited set of permissions'
クライアントロールの作成
最初にクライアントを特定し、
get
コマンドを使用してクライアントロールの作成時に利用可能なクライアントを一覧表示します。kcadm.sh get clients -r demorealm --fields id,clientId
$ kcadm.sh get clients -r demorealm --fields id,clientId
Copy to Clipboard Copied! Toggle word wrap Toggle overflow clientId
属性を使用して、clients/ID/roles
などのエンドポイント URI を構築して新規ロールを作成します。以下に例を示します。
kcadm.sh create clients/a95b6af3-0bdc-4878-ae2e-6d61a4eca9a0/roles -r demorealm -s name=editor -s 'description=Editor can edit, and publish any article'
$ kcadm.sh create clients/a95b6af3-0bdc-4878-ae2e-6d61a4eca9a0/roles -r demorealm -s name=editor -s 'description=Editor can edit, and publish any article'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
レルムロールの一覧表示
roles
エンドポイントで get
コマンドを使用して、既存のレルムロールを一覧表示します。
kcadm.sh get roles -r demorealm
$ kcadm.sh get roles -r demorealm
get-roles
コマンドも使用できます。
kcadm.sh get-roles -r demorealm
$ kcadm.sh get-roles -r demorealm
クライアントロールの一覧表示
レルムおよびクライアントロールの一覧表示を簡素化するための専用の get-roles
コマンドがあります。get
コマンドの拡張機能であり、ロールを一覧表示するための追加のセマンティクスと同じように動作します。
get-roles
コマンドを使用して clientId 属性 (--cclientid
オプションを使用) または id
(--cid
オプションを使用) のいずれかを渡して、クライアントロールをリストするクライアントを特定します。
以下に例を示します。
kcadm.sh get-roles -r demorealm --cclientid realm-management
$ kcadm.sh get-roles -r demorealm --cclientid realm-management
特定のレルムロールの取得
get
コマンドおよびロール 名
を使用して、特定のレルムロール (roles/ROLE_NAME
) のエンドポイント URI を作成します。user
は、既存ロールの名前に置き換えます。
以下に例を示します。
kcadm.sh get roles/user -r demorealm
$ kcadm.sh get roles/user -r demorealm
特定の get-roles
コマンドを使用して、ロール名 (--rolename
オプションを使用) または ID (--roleid
オプションを使用)を渡すこともできます。
以下に例を示します。
kcadm.sh get-roles -r demorealm --rolename user
$ kcadm.sh get-roles -r demorealm --rolename user
特定のクライアントロールの取得
専用の get-roles
コマンドを使用して clientId 属性 (--cclientid
オプションを使用) または ID (--cid
オプションを使用) のいずれかを渡してクライアントを特定し、ロール名 (--rolename
オプションを使用) または ID (--roleid
経由) のいずれかを渡します。
以下に例を示します。
kcadm.sh get-roles -r demorealm --cclientid realm-management --rolename manage-clients
$ kcadm.sh get-roles -r demorealm --cclientid realm-management --rolename manage-clients
レルムロールの更新
特定のレルムロールを取得するために使用した同じエンドポイント URI で update
コマンドを使用します。
以下に例を示します。
kcadm.sh update roles/user -r demorealm -s 'description=Role representing a regular user'
$ kcadm.sh update roles/user -r demorealm -s 'description=Role representing a regular user'
クライアントロールの更新
update
コマンドを、特定のクライアントロールの取得に使用したのと同じエンドポイント URI で使用します。
以下に例を示します。
kcadm.sh update clients/a95b6af3-0bdc-4878-ae2e-6d61a4eca9a0/roles/editor -r demorealm -s 'description=User that can edit, and publish articles'
$ kcadm.sh update clients/a95b6af3-0bdc-4878-ae2e-6d61a4eca9a0/roles/editor -r demorealm -s 'description=User that can edit, and publish articles'
レルムロールの削除
特定のレルムロールを取得するために使用した同じエンドポイント URI で delete
コマンドを使用します。
以下に例を示します。
kcadm.sh delete roles/user -r demorealm
$ kcadm.sh delete roles/user -r demorealm
クライアントロールの削除
特定のクライアントロールを取得するために使用したエンドポイント URI で delete
コマンドを使用します。
以下に例を示します。
kcadm.sh delete clients/a95b6af3-0bdc-4878-ae2e-6d61a4eca9a0/roles/editor -r demorealm
$ kcadm.sh delete clients/a95b6af3-0bdc-4878-ae2e-6d61a4eca9a0/roles/editor -r demorealm
複合ロールに割り当てられている、利用可能、有効なレルムロールの一覧表示
複合ロールに割り当てられ、利用可能な、有効なレルムロールを一覧表示するには、専用の get-roles
コマンドを使用します。
複合ロールに 割り当てられた レルムロールを一覧表示するには、(
--rname
オプション) または ID (--rid
オプション) のいずれかで、ターゲットの複号ロールを指定できます。以下に例を示します。
kcadm.sh get-roles -r demorealm --rname testrole
$ kcadm.sh get-roles -r demorealm --rname testrole
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有効な レルムロールの一覧を表示するには、追加の
--effective
オプションを使用します。以下に例を示します。
kcadm.sh get-roles -r demorealm --rname testrole --effective
$ kcadm.sh get-roles -r demorealm --rname testrole --effective
Copy to Clipboard Copied! Toggle word wrap Toggle overflow --available
オプションを使用して、複合ロールに追加できるレルムロールを一覧表示します。以下に例を示します。
kcadm.sh get-roles -r demorealm --rname testrole --available
$ kcadm.sh get-roles -r demorealm --rname testrole --available
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
複合ロールに割り当てられている、利用可能、有効なクライアントロールの一覧表示
複合ロールに割り当てられ、利用可能な、有効なクライアントロールを一覧表示するには、専用の get-roles
コマンドを使用します。
複合ロールに 割り当てられた クライアントロールを一覧表示するには、名前 (
--rname
オプション) または ID (--rid
オプション) のいずれかでターゲット複号ロールを指定し、clientId 属性 (--cclientid
オプションを使用) または ID (--cid
オプションを使用) のいずれかでターゲット複合ロールを指定できます。以下に例を示します。
kcadm.sh get-roles -r demorealm --rname testrole --cclientid realm-management
$ kcadm.sh get-roles -r demorealm --rname testrole --cclientid realm-management
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有効な レルムロールの一覧を表示するには、追加の
--effective
オプションを使用します。以下に例を示します。
kcadm.sh get-roles -r demorealm --rname testrole --cclientid realm-management --effective
$ kcadm.sh get-roles -r demorealm --rname testrole --cclientid realm-management --effective
Copy to Clipboard Copied! Toggle word wrap Toggle overflow --available
オプションを使用して、ターゲット複合ロールに追加できるレルムロールを一覧表示します。以下に例を示します。
kcadm.sh get-roles -r demorealm --rname testrole --cclientid realm-management --available
$ kcadm.sh get-roles -r demorealm --rname testrole --cclientid realm-management --available
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
レルムロールの複合ロールへの追加
レルムロールおよびクライアントロールの追加に使用できる専用の add-roles
コマンドがあります。
以下の例では、user
ロールを複合ロール testrole
に追加します。
kcadm.sh add-roles --rname testrole --rolename user -r demorealm
$ kcadm.sh add-roles --rname testrole --rolename user -r demorealm
複合ロールからのレルムロールの削除
レルムロールおよびクライアントロールの削除に使用できる専用の remove-roles
コマンドがあります。
以下の例では、ターゲット複合ロール testrole
から user
ロールを削除します。
kcadm.sh remove-roles --rname testrole --rolename user -r demorealm
$ kcadm.sh remove-roles --rname testrole --rolename user -r demorealm
クライアントロールのレルムロールへの追加
レルムロールおよびクライアントロールの追加に使用できる専用の add-roles
コマンドを使用します。
以下の例では、クライアント realm-management
に定義したロールを追加します。create-client
ロールおよび view-users
ロールに定義されたロールを testrole
複合ロールに追加します。
kcadm.sh add-roles -r demorealm --rname testrole --cclientid realm-management --rolename create-client --rolename view-users
$ kcadm.sh add-roles -r demorealm --rname testrole --cclientid realm-management --rolename create-client --rolename view-users
クライアントロールへのクライアントロールの追加
get-roles
コマンドを使用して、複合クライアントロールの ID を確認します。以下に例を示します。
kcadm.sh get-roles -r demorealm --cclientid test-client --rolename operations
$ kcadm.sh get-roles -r demorealm --cclientid test-client --rolename operations
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
test-client
の clientId 属性と、support
と呼ばれるクライアントロール、およびoperations
と呼ばれる別のクライアントロールがあるクライアントがあります。これは、複合ロールになり、ID は「fc400897-ef6a-4e8c-872b-1581b7fa8a71」となります。 以下の例を使用して、別のロールを複合ロールに追加します。
kcadm.sh add-roles -r demorealm --cclientid test-client --rid fc400897-ef6a-4e8c-872b-1581b7fa8a71 --rolename support
$ kcadm.sh add-roles -r demorealm --cclientid test-client --rid fc400897-ef6a-4e8c-872b-1581b7fa8a71 --rolename support
Copy to Clipboard Copied! Toggle word wrap Toggle overflow get-roles --all
コマンドを使用して、複合ロールのロールを一覧表示します。以下に例を示します。
kcadm.sh get-roles --rid fc400897-ef6a-4e8c-872b-1581b7fa8a71 --all
$ kcadm.sh get-roles --rid fc400897-ef6a-4e8c-872b-1581b7fa8a71 --all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
複合ロールからのクライアントロールの削除
専用の remove-roles
コマンドを使用して、複合ロールからクライアントロールを削除します。
以下の例を使用して、クライアントの realm-management
で定義された 2 つのロールを削除します (create-client
ロールと view-users
ロール) を testrole
複合ロールから削除します。
kcadm.sh remove-roles -r demorealm --rname testrole --cclientid realm-management --rolename create-client --rolename view-users
$ kcadm.sh remove-roles -r demorealm --rname testrole --cclientid realm-management --rolename create-client --rolename view-users
クライアントロールのグループへの追加
レルムロールおよびクライアントロールの追加に使用できる専用の add-roles
コマンドを使用します。
以下の例では、クライアント realm-management
に定義したロールを追加します。create-client
ロールおよび view-users
ロールを Group
グループ (--gname
オプション) に追加します。代わりに、グループを ID で指定できます (--gid
オプションを使用)。
グループに対して実行できる操作の詳細は、「グループ操作」を参照してください。
kcadm.sh add-roles -r demorealm --gname Group --cclientid realm-management --rolename create-client --rolename view-users
$ kcadm.sh add-roles -r demorealm --gname Group --cclientid realm-management --rolename create-client --rolename view-users
グループからのクライアントロールの削除
専用の remove-roles
コマンドを使用して、クライアントロールをグループから削除します。
以下の例を使用して、クライアントの realm-management
で定義された 2 つのロールを削除します (create-client
ロールと view-users
ロールを Group
グループから削除します)。
グループに対して実行できる操作の詳細は、「グループ操作」を参照してください。
kcadm.sh remove-roles -r demorealm --gname Group --cclientid realm-management --rolename create-client --rolename view-users
$ kcadm.sh remove-roles -r demorealm --gname Group --cclientid realm-management --rolename create-client --rolename view-users