2.5.3. 管理角色


启用基于角色的访问控制(RBAC)时,允许管理用户执行的操作将由用户分配到的角色决定。JBoss EAP 7 使用基于用户和组成员资格的包含和排除系统,以确定用户所属的角色。

如果用户是,则认为用户被分配到某个角色:

  • 列出为要包含在角色中的用户身份,或者
  • 列出要包含在该角色中的组的成员。

如果用户不是,则用户也被视为被分配到角色:

  • 列出为要从角色排除的用户身份,或者
  • 列出要从角色中排除的组的成员。

排除优先于包含。

角色包含和排除用户和组的设置,可以使用管理控制台和管理 CLI 配置。

只有 SuperUserAdministrator 角色的用户才能执行此配置。

2.5.3.1. 使用管理 CLI 配置用户角色分配

将用户和组映射到角色的配置位于: /core-service=management/access=authorization 作为 角色映射 元素。

只有 SuperUserAdministrator 角色的用户才能执行此配置。

查看角色分配配置

使用 :read-children-names 操作获取配置的角色的完整列表:

/core-service=management/access=authorization:read-children-names(child-type=role-mapping)
{
    "outcome" => "success",
    "result" => [
        "Administrator",
        "Deployer",
        "Maintainer",
        "Monitor",
        "Operator",
        "SuperUser"
    ]
}
Copy to Clipboard Toggle word wrap

使用指定角色映射的 read-resource 操作来获取特定角色的完整详情:

/core-service=management/access=authorization/role-mapping=ROLENAME: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"
            }
        }
    }
}
Copy to Clipboard Toggle word wrap
添加新角色

此流程演示了如何为角色添加角色映射条目。这必须在配置角色之前完成。

使用 add 操作来添加新的角色配置。

/core-service=management/access=authorization/role-mapping=ROLENAME:add
Copy to Clipboard Toggle word wrap

ROLENAME 是新映射所针对的角色的名称,如 Auditor

示例:管理新角色配置的CLI命令

/core-service=management/access=authorization/role-mapping=Auditor:add
Copy to Clipboard Toggle word wrap

添加在角色中包括的用户

此流程演示了如何将用户添加到包含的角色列表中。

如果未配置角色,必须先进行角色映射条目。

使用 add 操作,将用户条目添加到角色的 include 列表中。

/core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:add(name=USERNAME, type=USER)
Copy to Clipboard Toggle word wrap
  • 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)
Copy to Clipboard Toggle word wrap

在角色中添加用户作为 Excluded

此流程演示了如何将用户添加到角色排除列表中。

如果未配置角色,必须先进行角色映射条目。

使用 add 操作向角色的 excludes 列表中添加用户条目。

/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:add(name=USERNAME, type=USER)
Copy to Clipboard Toggle word wrap
  • 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)
Copy to Clipboard Toggle word wrap

删除用户角色包含配置

此流程演示了如何从角色映射中删除用户包含条目。

使用 remove 操作删除该条目。

/core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:remove
Copy to Clipboard Toggle word wrap
  • ROLENAME 是正在配置的角色的名称,如 Auditor
  • ALIAS 是此映射的唯一名称。红帽建议对别名使用命名约定,如 user-USERNAME (如 user-max)。

示例:管理删除用户角色包含配置的 CLI 命令

/core-service=management/access=authorization/role-mapping=Auditor/include=user-max:remove
Copy to Clipboard Toggle word wrap

注意

从 include 列表中删除用户不会从系统中删除用户,也不保证不会向用户分配该角色。该角色可能仍然根据组成员资格来分配。

删除用户角色排除配置

此流程演示了如何从角色映射中删除用户排除条目。

使用 remove 操作删除该条目。

/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:remove
Copy to Clipboard Toggle word wrap
  • ROLENAME 是正在配置的角色的名称,如 Auditor
  • ALIAS 是此映射的唯一名称。红帽建议对别名使用命名约定,如 user-USERNAME (如 user-max)。
/core-service=management/access=authorization/role-mapping=Auditor/exclude=user-max:remove
Copy to Clipboard Toggle word wrap
注意

从排除列表中删除用户不会从系统中删除用户,也不保证将角色分配给用户。角色可能仍然会根据组成员资格而被排除。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat