18.7. ロール操作
レルムロールの作成
roles エンドポイントを使用してレルムロールを作成します。
kcadm.sh create roles -r demorealm -s name=user -s 'description=Regular user with a limited set of permissions'
$ kcadm.sh create roles -r demorealm -s name=user -s 'description=Regular user with a limited set of permissions'
クライアントロールの作成
- クライアントを特定します。
getコマンドを使用して、利用可能なクライアントを一覧表示します。kcadm.sh get clients -r demorealm --fields id,clientId
$ kcadm.sh get clients -r demorealm --fields id,clientIdCopy 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
クライアントロールの一覧表示
Red Hat Single Sign-On には、レルムロールおよびクライアントロールの一覧表示を単純化する専用の get-roles コマンドがあります。このコマンドは get コマンドの拡張であり、 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 testroleCopy 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 --effectiveCopy 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 --availableCopy 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-managementCopy 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 --effectiveCopy 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 --availableCopy to Clipboard Copied! Toggle word wrap Toggle overflow
レルムロールの複合ロールへの追加
Red Hat Single Sign-On には、レルムロールおよびクライアントロールを追加するための add-roles コマンドがあります。
この例では、user ロールを複合ロール testrole に追加します。
kcadm.sh add-roles --rname testrole --rolename user -r demorealm
$ kcadm.sh add-roles --rname testrole --rolename user -r demorealm
複合ロールからのレルムロールの削除
Red Hat Single Sign-On は、レルムロールおよびクライアントロールを削除する remove-roles コマンドを提供します。
以下の例では、ターゲット複合ロール testrole から user ロールを削除します。
kcadm.sh remove-roles --rname testrole --rolename user -r demorealm
$ kcadm.sh remove-roles --rname testrole --rolename user -r demorealm
クライアントロールのレルムロールへの追加
Red Hat Single Sign-On には、レルムロールおよびクライアントロールを追加するための 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 operationsCopy 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 supportCopy 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 --allCopy 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 コマンドを使用して、グループからクライアントロールを削除します。
以下の例では、クライアントの レルム管理、create-client および view-users に定義された 2 つのロールを 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