18.10. 组操作
创建组
对 组
端点使用 create
命令创建新组。
例如:
$ kcadm.sh create groups -r demorealm -s name=Group
列出组
对 组
端点使用 get
命令列出组。
例如:
$ kcadm.sh get groups -r demorealm
获取特定组
使用组的 ID 来构造端点 URI,如 groups/GROUP_ID
。
例如:
$ kcadm.sh get groups/51204821-0580-46db-8f2d-27106c6b5ded -r demorealm
更新组
使用您用来获取特定组的相同端点 URI 的 update
命令。
例如:
$ kcadm.sh update groups/51204821-0580-46db-8f2d-27106c6b5ded -s 'attributes.email=["group@example.com"]' -r demorealm
删除组
使用您用来获取特定组的相同端点 URI 的 delete
命令。
例如:
$ kcadm.sh delete groups/51204821-0580-46db-8f2d-27106c6b5ded -r demorealm
创建子组
通过列出组来查找父组的 ID。使用该 ID 构建端点 URI,如 groups/GROUP_ID/children
。
例如:
$ kcadm.sh create groups/51204821-0580-46db-8f2d-27106c6b5ded/children -r demorealm -s name=SubGroup
在另一个组下移动组
- 查找现有父组和现有子组的 ID。
-
使用父组的 ID 来构造端点 URI,如
groups/PARENT_GROUP_ID/children
。 -
在此端点上运行
create
命令,并将子组的 ID 作为参数传递。
例如:
$ kcadm.sh create groups/51204821-0580-46db-8f2d-27106c6b5ded/children -r demorealm -s id=08d410c6-d585-4059-bb07-54dcb92c5094
获取特定用户的组
使用用户的 ID 来确定组中的用户成员资格来编写端点 URI,如 用户/USER_ID/groups
。
例如:
$ kcadm.sh get users/b544f379-5fc4-49e5-8a8d-5cfb71f46f53/groups -r demorealm
将用户添加到组中
使用 update
命令以及由用户 ID 和组 ID (如 用户/USER_ID/groups/GROUP_ID
)组成的端点 URI 将用户添加到组中。
例如:
$ 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
从组中删除用户
对用于添加用户的端点 URI (如 用户/USER_ID/groups/GROUP_ID
)上使用 delete
命令,从组中删除用户。
例如:
$ kcadm.sh delete users/b544f379-5fc4-49e5-8a8d-5cfb71f46f53/groups/ce01117a-7426-4670-a29a-5c118056fe20 -r demorealm
列出组分配的、可用和有效的域角色
使用专用的 get-roles
命令,列出组的已分配、可用且有效的域角色。
按名称指定目标组(
--gname
选项)、路径(--gpath
选项)或 ID (--gid
选项)来列出组 分配的 realm 角色。例如:
$ kcadm.sh get-roles -r demorealm --gname Group
使用
--effective
选项列出 有效的 域角色。例如:
$ kcadm.sh get-roles -r demorealm --gname Group --effective
使用
--available
选项列出您可以添加到组中的 realm 角色。例如:
$ kcadm.sh get-roles -r demorealm --gname Group --available
列出组分配的、可用和有效的客户端角色
使用 get-roles
命令,列出分配给组的已分配、可用且有效的客户端角色。
-
按名称指定目标组(
--gname
选项)或 ID (--gid
选项)。 通过 clientId 属性(
--cclientid
选项)或 ID (--id
选项)指定客户端,以列出 已为用户分配 的客户端角色。例如:
$ kcadm.sh get-roles -r demorealm --gname Group --cclientid realm-management
使用
--effective
选项列出 有效的 域角色。例如:
$ kcadm.sh get-roles -r demorealm --gname Group --cclientid realm-management --effective
使用
--available
选项列出您仍然可以添加到组中的域角色。例如:
$ kcadm.sh get-roles -r demorealm --gname Group --cclientid realm-management --available