17.10. 组操作
创建组
在 groups
端点上使用 create
命令来创建新组。
例如:
$ kcadm.sh create groups -r demorealm -s name=Group
列出组
对 groups
端点使用 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
删除组
使用 delete
命令和您用来获取特定组的同一端点 URI。
例如:
$ 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。
-
使用父组的 ID 来构造端点 URI,如
groups/PARENT_GROUP_ID/children
。 -
在此端点上运行
create
命令,并将子组的 ID 传递为 JSON 正文。
例如:
$ kcadm.sh create groups/51204821-0580-46db-8f2d-27106c6b5ded/children -r demorealm -s id=08d410c6-d585-4059-bb07-54dcb92c5094 -s name=SubGroup
获取特定用户的组
使用用户的 ID 来确定用户在组中的成员资格,以编写端点 URI,如 users/USER_ID/groups
。
例如:
$ kcadm.sh get users/b544f379-5fc4-49e5-8a8d-5cfb71f46f53/groups -r demorealm
将用户添加到组中
使用带有用户 ID 和组 ID (如用户 /USER_ID/groups/GROUP_ID)的端点 URI 和组 ID
的 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
从组中删除用户
在用于将用户添加到组中的同一端点 URI 上使用 delete
命令,如 users/USER_ID/groups/GROUP_ID
,从组中删除用户。
例如:
$ kcadm.sh delete users/b544f379-5fc4-49e5-8a8d-5cfb71f46f53/groups/ce01117a-7426-4670-a29a-5c118056fe20 -r demorealm
列出组的已分配、可用和有效域角色
使用专用的 get-roles
命令列出为组分配的、可用和有效的域角色。
根据名称(
--gname
选项)、path (--gpath
选项)或 ID (--gid
选项)指定目标组,以列出组的 分配的 域角色。例如:
$ kcadm.sh get-roles -r demorealm --gname Group
使用
-- effective
选项列出有效的域角色。例如:
$ kcadm.sh get-roles -r demorealm --gname Group --effective
使用
--available
选项列出您可以添加到组中的域角色。例如:
$ 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