Menu Close
Settings Close

Language and Page Formatting Options

3.5.3. 管理角色

启用基于角色的访问控制(RBAC)时,允许什么管理用户由向用户分配的角色决定。JBoss EAP 7 使用 中的系统 includes 和 excludes,它基于用户和组成员资格来确定用户所属的角色。

如果用户被视为一个角色,则用户被视为被分配给角色:

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

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

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

排除的优先级高于包含项。

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

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

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

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

只有 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"
    ]
}

使用指定 role-mapping 的 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"
            }
        }
    }
}
添加新角色

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

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

/core-service=management/access=authorization/role-mapping=ROLENAME:add

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

示例:管理CLI命令以进行新角色配置

/core-service=management/access=authorization/role-mapping=Auditor:add

添加角色中包括的用户

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

如果没有进行任何角色配置,则必须首先执行角色映射条目。

使用 add 操作向包含角色列表添加用户条目。

/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)

将用户添加到角色中已排除用户

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

如果没有进行任何角色配置,则必须首先执行角色映射条目。

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

/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:add(name=USERNAME, type=USER)
  • ROLENAME 是配置的角色的名称,如 Auditor
  • USERNAME 是添加到 exclude 列表中的用户的名称,如 max
  • ALIAS 是该映射的唯一名称。红帽建议将命名规则用于别名,如 user-USERNAME (例如 user-max)。

示例:在一个角色中没有管理 CLI 命令用户

/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
  • ROLENAME 是所配置的角色的名称,如 Auditor
  • ALIAS 是该映射的唯一名称。红帽建议将命名规则用于别名,如 user-USERNAME (例如 user-max)。

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

/core-service=management/access=authorization/role-mapping=Auditor/include=user-max:remove

注意

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

删除用户角色独到配置

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

使用 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
注意

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