11.9.9.3. 用 jboss-cli.sh 配置用户角色分配
包含或排除用户的角色可以通过管理控制台和
jboss-cli.sh 进行配置。本节只展示如何使用 jboss-cli.sh 来完成。
映射用户/组到角色的配置位于 management API 里的
/core-service=management/access=authorization as role-mapping 元素。
只有具有 SuperUser 或 Administrator 角色的用户才能执行这个配置。
过程 11.14. 查看角色分配配置
- 使用 :read-children-names 操作来获取配置角色的完整列表:
/core-service=management/access=authorization:read-children-names(child-type=role-mapping)
[standalone@localhost:9999 access=authorization] :read-children-names(child-type=role-mapping) { "outcome" => "success", "result" => [ "ADMINISTRATOR", "DEPLOYER", "MAINTAINER", "MONITOR", "OPERATOR", "SuperUser" ] } - 使用指定 role-mapping 的
read-resource操作来获取某个角色的完整细节:/core-service=management/access=authorization/role-mapping=ROLENAME:read-resource(recursive=true)
[standalone@localhost:9999 access=authorization] ./role-mapping=ADMINISTRATOR:read-resource(recursive=true) { "outcome" => "success", "result" => { "include-all" => false, "exclude" => undefined, "include" => { "user-theboss" => { "name" => "theboss", "realm" => undefined, "type" => "USER" }, "user-harold" => { "name" => "harold", "realm" => undefined, "type" => "USER" }, "group-SysOps" => { "name" => "SysOps", "realm" => undefined, "type" => "GROUP" } } } } [standalone@localhost:9999 access=authorization]
过程 11.15. 添加新的角色
这个过程展示了如何添加角色的 role-mapping 条目。这必须在角色可以被配置前完成。
- 使用
add操作来添加新的角色配置。/core-service=management/access=authorization/role-mapping=ROLENAME:add
ROLENAME 是新映射使用的角色的名称。[standalone@localhost:9999 access=authorization] ./role-mapping=AUDITOR:add {"outcome" => "success"} [standalone@localhost:9999 access=authorization]
过程 11.16. 添加包含在角色里的用户
这个过程展示了如何添加用户到角色的包含列表里。
如果角色的配置还未完成,那你必须先设置 role-mapping 条目。
- 请使用
add操作来添加用户到角色的包含列表里。/core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:add(name=USERNAME, type=USER)
ROLENAME 是被配置的角色的名称。ALIAS是这个映射的唯一名称。红帽推荐你对别名使用命名规则,如user-USERNAME。USERNAME 是添加到包含列表里的用户的名称。[standalone@localhost:9999 access=authorization] ./role-mapping=AUDITOR/include=user-max:add(name=max, type=USER) {"outcome" => "success"} [standalone@localhost:9999 access=authorization]
过程 11.17. 添加角色所排除的用户
这个过程展示了如何添加用户到角色的排除列表里。
如果角色的配置还未完成,那你必须先设置 role-mapping 条目。
- 请使用
add操作来添加用户到角色的排除列表里。/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:add(name=USERNAME, type=USER)
ROLENAME 是被配置的角色的名称。USERNAME 是添加到排除列表里的用户的名称。ALIAS是这个映射的唯一名称。红帽推荐你对别名使用命名规则,如user-USERNAME。[standalone@localhost:9999 access=authorization] ./role-mapping=AUDITOR/exclude=user-max:add(name=max, type=USER) {"outcome" => "success"} [standalone@localhost:9999 access=authorization]
过程 11.18. 删除用户的角色包含配置
这个过程展示了如何从角色映射里删除用户包含条目。
- 请使用
remove操作来删除这个条目。/core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:remove
ROLENAME 是被配置的角色的名称。ALIAS是这个映射的唯一名称。红帽推荐你对别名使用命名规则,如user-USERNAME。[standalone@localhost:9999 access=authorization] ./role-mapping=AUDITOR/include=user-max:remove {"outcome" => "success"} [standalone@localhost:9999 access=authorization]从包含列表里删除用户并不会从系统删除这个用户,也不能保证角色不会被分配给这个用户。这个角色仍可能根据组成员资格分配给它。
过程 11.19. 删除用户的角色排除配置
这个过程展示了如何从角色映射里删除用户排除条目。
- 请使用
remove操作来删除这个条目。/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:remove
ROLENAME 是被配置的角色的名称。ALIAS是这个映射的唯一名称。红帽推荐你对别名使用命名规则,如user-USERNAME。[standalone@localhost:9999 access=authorization] ./role-mapping=AUDITOR/exclude=user-max:remove {"outcome" => "success"} [standalone@localhost:9999 access=authorization]从排除列表里删除用户并不会从系统删除这个用户,也不能保证角色被分配给这个用户。这个角色仍可能根据组成员资格被排除。