2.5.3. 管理角色
启用基于角色的访问控制(RBAC)时,允许管理用户执行的操作将由用户分配到的角色决定。JBoss EAP 7 使用基于用户和组成员资格的包含和排除系统,以确定用户所属的角色。
如果用户是,则认为用户被分配到某个角色:
- 列出为要包含在角色中的用户身份,或者
- 列出要包含在该角色中的组的成员。
如果用户不是,则用户也被视为被分配到角色:
- 列出为要从角色排除的用户身份,或者
- 列出要从角色中排除的组的成员。
排除优先于包含。
角色包含和排除用户和组的设置,可以使用管理控制台和管理 CLI 配置。
只有 SuperUser
或 Administrator
角色的用户才能执行此配置。
2.5.3.1. 使用管理 CLI 配置用户角色分配 复制链接链接已复制到粘贴板!
将用户和组映射到角色的配置位于: /core-service=management/access=authorization
作为 角色映射
元素。
只有 SuperUser
或 Administrator
角色的用户才能执行此配置。
查看角色分配配置
使用 :read-children-names
操作获取配置的角色的完整列表:
使用指定角色映射的 read-resource
操作来获取特定角色的完整详情:
添加新角色
此流程演示了如何为角色添加角色映射条目。这必须在配置角色之前完成。
使用 add
操作来添加新的角色配置。
/core-service=management/access=authorization/role-mapping=ROLENAME:add
/core-service=management/access=authorization/role-mapping=ROLENAME:add
ROLENAME 是新映射所针对的角色的名称,如 Auditor
。
示例:管理新角色配置的CLI命令
/core-service=management/access=authorization/role-mapping=Auditor:add
/core-service=management/access=authorization/role-mapping=Auditor:add
添加在角色中包括的用户
此流程演示了如何将用户添加到包含的角色列表中。
如果未配置角色,必须先进行角色映射条目。
使用 add
操作,将用户条目添加到角色的 include 列表中。
/core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:add(name=USERNAME, type=USER)
/core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:add(name=USERNAME, type=USER)
-
ROLENAME 是正在配置的角色的名称,如
Auditor
。 -
ALIAS 是此映射的唯一名称。红帽建议对别名使用命名约定,如
user-USERNAME
(如user-max
)。 -
USERNAME 是添加到 include 列表的用户的名称,如
max
。
示例:为包含在角色中的用户管理CLI命令
/core-service=management/access=authorization/role-mapping=Auditor/include=user-max:add(name=max, type=USER)
/core-service=management/access=authorization/role-mapping=Auditor/include=user-max:add(name=max, type=USER)
在角色中添加用户作为 Excluded
此流程演示了如何将用户添加到角色排除列表中。
如果未配置角色,必须先进行角色映射条目。
使用 add
操作向角色的 excludes 列表中添加用户条目。
/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:add(name=USERNAME, type=USER)
/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:add(name=USERNAME, type=USER)
-
ROLENAME 是正在配置的角色的名称,如
Auditor
。 -
USERNAME 是添加到排除列表中的用户名称,如
max
。 -
ALIAS 是此映射的唯一名称。红帽建议对别名使用命名约定,如
user-USERNAME
(如user-max
)。
示例:管理CLI命令用户包括在角色中
/core-service=management/access=authorization/role-mapping=Auditor/exclude=user-max:add(name=max, type=USER)
/core-service=management/access=authorization/role-mapping=Auditor/exclude=user-max:add(name=max, type=USER)
删除用户角色包含配置
此流程演示了如何从角色映射中删除用户包含条目。
使用 remove
操作删除该条目。
/core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:remove
/core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:remove
-
ROLENAME 是正在配置的角色的名称,如
Auditor
。 -
ALIAS 是此映射的唯一名称。红帽建议对别名使用命名约定,如
user-USERNAME
(如user-max
)。
示例:管理删除用户角色包含配置的 CLI 命令
/core-service=management/access=authorization/role-mapping=Auditor/include=user-max:remove
/core-service=management/access=authorization/role-mapping=Auditor/include=user-max:remove
从 include 列表中删除用户不会从系统中删除用户,也不保证不会向用户分配该角色。该角色可能仍然根据组成员资格来分配。
删除用户角色排除配置
此流程演示了如何从角色映射中删除用户排除条目。
使用 remove 操作删除该条目。
/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:remove
/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:remove
-
ROLENAME 是正在配置的角色的名称,如
Auditor
。 -
ALIAS 是此映射的唯一名称。红帽建议对别名使用命名约定,如
user-USERNAME
(如user-max
)。
/core-service=management/access=authorization/role-mapping=Auditor/exclude=user-max:remove
/core-service=management/access=authorization/role-mapping=Auditor/exclude=user-max:remove
从排除列表中删除用户不会从系统中删除用户,也不保证将角色分配给用户。角色可能仍然会根据组成员资格而被排除。