4.3. 基于角色的访问控制
有关或基于角色的访问控制的基础知识,请参阅基于角色的访问控制,并将 RBAC 添加到 安全架构指南的管理接口部分。
4.3.1. 启用基于角色的访问控制 复制链接链接已复制到粘贴板!
默认情况下禁用基于角色的访问控制(RBAC)系统。它通过将 provider 属性从 simple 改为 rbac 来启用。provider 是 management 元素的 access-control 元素的属性。这可以通过管理 CLI 或编辑服务器配置 XML 文件(如果服务器离线)来完成。当在正在运行的服务器上禁用或启用 RBAC 时,必须先重新加载服务器配置,然后才能生效。
启用后,只能由 Administrator 或 SuperUser 角色的用户禁用。默认情况下,如果管理 CLI 在与服务器相同的计算机上运行,则管理 CLI 作为 SuperUser 角色运行。
要使用管理 CLI 启用 RBAC,请使用访问授权资源的 write-attribute 操作,将 provider 属性设置为 rbac。
CLI 启用 RBAC
/core-service=management/access=authorization:write-attribute(name=provider, value=rbac)
/core-service=management/access=authorization:write-attribute(name=provider, value=rbac)
要通过管理 CLI 禁用 RBAC,请使用访问授权资源的 write-attribute 操作,将 provider 属性设置为 simple。
CLI 禁用 RBAC
/core-service=management/access=authorization:write-attribute(name=provider, value=simple)
/core-service=management/access=authorization:write-attribute(name=provider, value=simple)
如果服务器离线,可以编辑 XML 配置来启用或禁用 RBAC。为此,请编辑 management 元素的 access-control 元素的 provider 属性。将值设为 rbac 设为 enable,将 simple 设置为 disable。
XML 示例
4.3.2. 更改权限组合策略 复制链接链接已复制到粘贴板!
权限组合策略决定如何确定用户是否分配多个角色。这可设置为 permissive 或 reject。默认值为 permissive。
当设置为 permissive 时,如果为允许操作的用户分配了任何角色,则允许该操作。
当设置为 reject 时,如果为用户分配多个角色,则不允许操作。这意味着,当将策略设置为拒绝每个用户时,应该只分配一个角色。当策略设置为 reject 时,具有多个角色的用户将无法使用管理控制台或管理 CLI。
权限组合策略通过将 permission-combination-policy 属性设置为 permissive 或 rejecting 来配置。这可以通过管理 CLI 或编辑服务器配置 XML 文件(如果服务器离线)来完成。permission-combination-policy 属性是 access-control 元素的一部分,可以在 management 元素中找到 access-control 元素。
设置权限组合策略
使用访问授权资源的 write-attribute 操作将 permission-combination-policy 属性设置为所需的策略名称。
/core-service=management/access=authorization:write-attribute(name=permission-combination-policy, value=POLICYNAME)
/core-service=management/access=authorization:write-attribute(name=permission-combination-policy, value=POLICYNAME)
有效的策略名称是 reject 和 permissive。
CLI 示例
/core-service=management/access=authorization:write-attribute(name=permission-combination-policy, value=rejecting)
/core-service=management/access=authorization:write-attribute(name=permission-combination-policy, value=rejecting)
如果服务器离线,可以编辑 XML 配置以更改权限组合策略值。为此,请编辑 access-control 元素的 permission-combination-policy 属性。
XML 示例
4.3.3. 管理角色 复制链接链接已复制到粘贴板!
启用基于角色的访问控制(RBAC)时,允许什么管理用户由为用户分配的角色决定。JBoss EAP 7 使用 的 includes 和 excludes,基于用户和组成员资格来确定用户所属的角色。
如果用户是:
- 列出为要包含在角色中的用户,或者
- 列出要包含在角色中的组的成员。
如果用户不是,则用户也被视为被分配给角色:
- 列为从角色中排除的用户,或者
- 列出要从角色中排除的组的成员。
排除的优先级高于包含项。
可以使用管理控制台和管理 CLI 配置用户和组的角色包括和排除设置。
只有 SuperUser 或 Administrator 角色的用户才能执行此配置。
4.3.3.1. 使用管理 CLI 配置用户角色分配 复制链接链接已复制到粘贴板!
将用户和组映射到角色的配置位于: /core-service=management/access=authorization 作为 role-mapping 元素。
只有 SuperUser 或 Administrator 角色的用户才能执行此配置。
查看角色分配配置
使用 :read-children-names 操作获取配置的角色的完整列表:
使用指定 role-mapping 的 read-resource 操作来获取特定角色的完整详情:
添加新角色
此流程演示了如何为角色添加 role-mapping 条目。这必须在配置角色之前完成。
使用 add 操作来添加新角色配置。
/core-service=management/access=authorization/role-mapping=ROLENAME:add
/core-service=management/access=authorization/role-mapping=ROLENAME:add
- ROLENAME 是新映射所针对的角色的名称(如审核员)。
CLI 示例
/core-service=management/access=authorization/role-mapping=Auditor:add
/core-service=management/access=authorization/role-mapping=Auditor:add
根据角色中包含的用户添加用户
此流程演示了如何将用户添加到角色包含列表中。
如果没有为角色配置,则必须首先为它执行 role-mapping 条目。
使用 add 操作,将用户条目添加到角色的 includes 列表中。
/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 是要配置的角色的名称。(如审核员)
- 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)
在角色中以排除的形式添加用户
此流程演示了如何将用户添加到角色的排除列表中。
如果没有为角色配置,则必须首先为它执行 role-mapping 条目。
使用 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 是要配置的角色的名称。(如审核员)
- 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)
/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 是要配置的角色的名称(如审核员)
- 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
从 includes 列表中删除用户不会从系统中删除用户,也不保证该角色不会分配给该用户。该角色可能仍然根据组成员资格分配。
删除用户角色排除配置
此流程演示了如何从角色映射中删除用户排除的条目。
使用 remove 操作来删除该条目。
/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:remove
/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:remove
- ROLENAME 是要配置的角色的名称。(如审核员)
- 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
从 excludes 列表中删除用户不会从系统中删除用户,也不保证该角色将被分配给该用户。角色可能仍然根据组成员资格排除。
4.3.4. 角色和用户组 复制链接链接已复制到粘贴板!
使用 mgmt-users.properties 文件或 LDAP 服务器进行身份验证的用户可以是用户组的成员。用户组是一个任意标签,可以分配给一个或多个用户。
可将 RBAC 系统配置为根据用户所属的用户组自动为用户分配角色。它还可以根据组成员资格从角色中排除用户。
使用 mgmt-users.properties 文件时,组信息存储在 mgmt-groups.properties 文件中。在使用 LDAP 时,组信息存储在 LDAP 服务器,并由负责 LDAP 服务器的那些存储在 LDAP 服务器中。
4.3.5. 使用管理 CLI 配置组角色分配 复制链接链接已复制到粘贴板!
要在管理控制台和管理 CLI 中配置角色中包含的或排除的组。本主题仅显示使用管理 CLI。
将用户和组映射到角色的配置位于管理 API 中,地址为: /core-service=management/access=authorization 作为 role-mapping 元素。
只有 SuperUser 或 Administrator 角色的用户才能执行此配置。
查看组角色分配配置
使用 read-children-names 操作获取配置角色的完整列表:
使用指定 role-mapping 的 read-resource 操作来获取特定角色的完整详情:
添加新角色
此流程演示了如何为角色添加 role-mapping 条目。这必须在配置角色之前完成。
使用 add 操作来添加新角色配置。
/core-service=management/access=authorization/role-mapping=ROLENAME:add
/core-service=management/access=authorization/role-mapping=ROLENAME:add
根据角色中包含的组添加组
此流程演示了如何将组添加到角色包含列表中。
如果没有为角色配置,则必须首先为它执行 role-mapping 条目。
使用 add 操作,将 Group 条目添加到角色的 includes 列表中。
/core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:add(name=GROUPNAME, type=GROUP)
/core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:add(name=GROUPNAME, type=GROUP)
- ROLENAME 是要配置的角色的名称。(如审核员)
- GROUPNAME 是添加到 include 列表中的组名称。(例如,投资者)
- ALIAS 是此映射的唯一名称。红帽建议为您的别名使用命名约定,如 group-GROUPNAME。(例如 group-investigators)
CLI 示例
/core-service=management/access=authorization/role-mapping=Auditor/include=group-investigators:add(name=investigators, type=GROUP)
/core-service=management/access=authorization/role-mapping=Auditor/include=group-investigators:add(name=investigators, type=GROUP)
在角色中添加排除的组
此流程演示了如何将组添加到角色的排除列表中。
如果没有为角色配置,则必须首先为其创建 role-mapping 条目。
使用 add 操作,将组条目添加到角色的 excludes 列表中。
/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:add(name=GROUPNAME, type=GROUP)
/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:add(name=GROUPNAME, type=GROUP)
- ROLENAME 是要配置的角色的名称(如审核员)
- GROUPNAME 是添加到 include 列表中的组名称(例如 supervisors)
- ALIAS 是此映射的唯一名称。红帽建议为您的别名使用命名约定,如 group-GROUPNAME。(例如 group-supervisors)
CLI 示例
/core-service=management/access=authorization/role-mapping=Auditor/exclude=group-supervisors:add(name=supervisors, type=GROUP)
/core-service=management/access=authorization/role-mapping=Auditor/exclude=group-supervisors:add(name=supervisors, type=GROUP)
删除组角色包括配置
此流程演示了如何从角色映射中删除组包含条目。
使用 remove 操作来删除该条目。
/core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:remove
/core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:remove
- ROLENAME 是要配置的角色的名称(如审核员)
- ALIAS 是此映射的唯一名称。红帽建议为您的别名使用命名约定,如 group-GROUPNAME。(例如 group-investigators)
CLI 示例
/core-service=management/access=authorization/role-mapping=Auditor/include=group-investigators:remove
/core-service=management/access=authorization/role-mapping=Auditor/include=group-investigators:remove
从 includes 列表中删除组不会从系统中删除组,也不保证该角色不会分配给此组中的用户。该角色可能仍然被单独分配给组中的用户。
删除用户组排除条目
此流程演示了如何从角色映射中删除组排除条目。
使用 remove 操作来删除该条目。
/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:remove
/core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:remove
- ROLENAME 是要配置的角色的名称。(如审核员)
- ALIAS 是此映射的唯一名称。红帽建议为您的别名使用命名约定,如 group-GROUPNAME。(例如 group-supervisors)
/core-service=management/access=authorization/role-mapping=Auditor/exclude=group-supervisors:remove
/core-service=management/access=authorization/role-mapping=Auditor/exclude=group-supervisors:remove
从 excludes 列表中删除组不会从系统中删除组。它还不能保证该角色将分配给组的成员。角色可能仍然根据组成员资格排除。
4.3.6. 使用 LDAP 的 RBAC 复制链接链接已复制到粘贴板!
如何配置身份管理指南的 LDAP 和 RBAC 部分中介绍了通过 LDAP 使用 RBAC 的基础知识,以及如何将 JBoss EAP 7 配置为使用 LDAP。
4.3.7. 有范围的角色 复制链接链接已复制到粘贴板!
有作用域角色是用户定义的角色,授予其中一个标准角色的权限,但仅对 JBoss EAP 受管域中的一个或多个服务器组或主机授予权限。有范围角色允许管理用户被授予权限,仅限于那些所需的服务器组或主机。
可为分配了 Administrator 或 SuperUser 角色的用户创建范围角色。
它们由五个特征定义:
- 唯一的名称。
- 它所基于的标准角色。
- 如果它适用于服务器组或主机
- 它限制的服务器组或主机列表。
- 如果所有用户被自动包含。默认值为 false。
创建范围角色后,可以像标准角色一样分配给用户和组。
创建有范围的角色不允许定义新权限。有范围的角色只能用于应用有限范围内现有角色的权限。例如,可以基于限制为单个服务器组的 Deployer 角色来创建有范围的角色。
角色只能限制为两个范围:
- 主机范围角色
- 主机作用域的角色将该角色的权限限制为一个或多个主机。这意味着,为相关的 /hostcategories/ 资源树提供访问权限,但特定于其他主机的资源会被隐藏。
- server-Group-scoped 角色
- 即 server-group 范围的角色将该角色的权限限制为一个或多个服务器组。此外,角色权限也将应用到与指定服务器组关联的配置集、套接字绑定组、服务器配置和服务器资源。与 server-group 无关的任何子资源都对用户不可见。
4.3.7.1. 通过管理 CLI 配置范围角色 复制链接链接已复制到粘贴板!
只有 SuperUser 或 Administrator 角色的用户才能执行此配置。
添加新的范围角色
要添加新的 Scoped 角色,必须执行以下操作:
/core-service=management/access=authorization/role-mapping=NEW-SCOPED-ROLE:add
/core-service=management/access=authorization/role-mapping=NEW-SCOPED-ROLE:add
/core-service=management/access=authorization/server-group-scoped-role=NEW-SCOPED-ROLE:add(base-role=BASE-ROLE, server-groups=[SERVER-GROUP-NAME])
/core-service=management/access=authorization/server-group-scoped-role=NEW-SCOPED-ROLE:add(base-role=BASE-ROLE, server-groups=[SERVER-GROUP-NAME])
将 NEW-SCOPED-ROLE、BASE-ROLE 和 SERVER-GROUP-NAME 替换为正确的信息。
查看并编辑范围角色映射
可以通过发出以下命令来查看范围角色的详情(包括成员):
/core-service=management/access=authorization/role-mapping=NEW-SCOPED-ROLE:read-resource(recursive=true)
/core-service=management/access=authorization/role-mapping=NEW-SCOPED-ROLE:read-resource(recursive=true)
将 NEW-SCOPED-ROLE 替换为正确的信息。
要编辑范围角色的详细信息,可以使用 write-attribute 命令。例如:
/core-service=management/access=authorization/role-mapping=NEW-SCOPED-ROLE:write-attribute(name=include-all, value=true)
/core-service=management/access=authorization/role-mapping=NEW-SCOPED-ROLE:write-attribute(name=include-all, value=true)
将 NEW-SCOPED-ROLE 替换为正确的信息。
删除范围角色
/core-service=management/access=authorization/role-mapping=NEW-SCOPED-ROLE:remove
/core-service=management/access=authorization/role-mapping=NEW-SCOPED-ROLE:remove
/core-service=management/access=authorization/server-group-scoped-role=NEW-SCOPED-ROLE:remove
/core-service=management/access=authorization/server-group-scoped-role=NEW-SCOPED-ROLE:remove
将 NEW-SCOPED-ROLE 替换为正确的信息。
如果为它分配了用户或组,则无法删除 Scoped 角色。首先删除角色分配,然后将其删除。
添加和删除用户
向范围角色添加或删除用户遵循与 添加和删除标准角色 相同的流程。
4.3.7.2. 从管理控制台配置范围角色 复制链接链接已复制到粘贴板!
只有 SuperUser 或 Administrator 角色的用户才能执行此配置。
管理控制台中的有范围角色配置可以通过以下步骤找到:
- 登录到管理控制台
- 点 Access Control 选项卡
- 单击左侧的 Roles 菜单,并显示所有角色(包括有范围角色)。
以下流程演示了如何为有范围角色执行配置任务。
添加新的范围角色
- 登录到管理控制台
- 点 Access Control 选项卡
- 点左侧的 Roles 菜单。
- 点击 Add。
指定以下详情:
- 名称,新范围角色的唯一名称。
- 基础 角色,此角色将在其上构建其权限的角色。
- 键入,无论此角色是否仅限于主机还是服务器组。
- 范围,角色仅限于的主机或服务器组列表。可以选择多个条目。
- 包括 All,此角色应自动包含所有用户。默认值为 no。
- 单击 Save,对话框将关闭,新创建的角色将显示在表中。
编辑范围角色
- 登录到管理控制台
- 点 Access Control 选项卡
- 点左侧的 Roles 菜单。
- 单击所需范围的角色来编辑,然后单击 Edit。
- 更新所需更改的详细信息,然后单击 保存按钮。
查看范围角色成员
- 登录到管理控制台
- 点 Access Control 选项卡
- 点左侧的 Roles 菜单。
- 点所需范围的角色,然后选择 Include 或 Exclude 来查看包含或排除的成员。
删除范围角色
- 登录到管理控制台
- 点 Access Control 选项卡
- 点左侧的 Roles 菜单。
- 单击所需范围角色,单击编辑按钮旁边的下拉菜单,再单击删除 。
- 单击 Confirm。对话框关闭,并删除角色。
如果为它分配了用户或组,则无法删除有范围的角色。首先删除角色分配,然后将其删除。
添加和删除用户
向范围角色添加和删除用户遵循与添加和删除标准角色相同的流程。更新用户的范围角色:
- 登录到管理控制台
- 点 Access Control 选项卡
- 点左侧的 Roles 菜单。
- 点所需范围的角色,然后选择 Include 或 Exclude 来查看包含或排除的成员。
- 要添加成员,请单击 Add,选择要包含或排除的成员,然后单击 Save。
- 要删除成员,请选择要删除的所需成员,然后单击 Remove。
4.3.8. 配置约束 复制链接链接已复制到粘贴板!
4.3.8.1. 配置敏感约束 复制链接链接已复制到粘贴板!
每个敏感度约束都定义了一组被视为 敏感的 资源。敏感 资源通常是机密(如密码)或对服务器有严重影响的 secret,如网络、JVM 配置或系统属性。访问控制系统本身也被视为敏感。资源敏感度限制哪些角色能够读取、写入或处理特定资源。
敏感度约束配置位于 at /core-service=management/access=authorization/constraint=sensitivity-classification 中。
在管理模型中,每个敏感性约束被识别为分类。然后分类被分成不同的类型。有 39 个分类,它们被安排为 13 个类型。
要配置敏感度约束,请使用 write-attribute 操作来设置 configured-requires-read、configured-requires-write 或 configured-requires-addressable 属性。要使该操作类型敏感,请将 属性的值设置为 true,否则将其非敏感性设置为 false。默认情况下,不会设置这些属性,并使用 default-requires-read、default-requires-write 和 default-requires-addressable 的值。设置配置的属性后,这是使用的值,而不是默认值。无法更改默认值。
示例 - 对敏感操作读取系统属性
/core-service=management/access=authorization/constraint=sensitivity-classification/type=core/classification=system-property:write-attribute(name=configured-requires-read,value=true)
/core-service=management/access=authorization/constraint=sensitivity-classification/type=core/classification=system-property:write-attribute(name=configured-requires-read,value=true)
结果
/core-service=management/access=authorization/constraint=sensitivity-classification/type=core/classification=system-property:read-resource
/core-service=management/access=authorization/constraint=sensitivity-classification/type=core/classification=system-property:read-resource
下表总结了根据这些属性的配置来执行哪些角色:
| 值 | requires-read | requires-write | requires-addressable |
|---|---|---|---|
| true | 读取是敏感的。只有 Auditor、Administrator、SuperUser 可以读取。 | 写是敏感的。只有 Administrator 和 SuperUser 可以写入。 | 寻址非常敏感。只有 Auditor、Administrator、SuperUser 可以地址。 |
| false | 读取不敏感。任何管理用户都可以读取。 | 写不敏感。只有 Maintainer, Administrator 和 SuperUser 可以写入。Deployers 也可以编写资源是一个应用程序资源。 | 寻址不敏感。任何管理用户都可以解决。 |
4.3.8.2. 配置应用程序资源约束 复制链接链接已复制到粘贴板!
每个应用程序资源约束都定义了一组资源、属性和操作,它们通常与应用程序和服务部署关联。当启用应用资源限制时,Deployer 角色的管理用户将被授予对其应用到的资源的访问权限。
应用程序约束配置位于 /core-service=management/access=authorization/constraint=application-classification/。
每个应用程序资源约束都标识为分类。然后分类被分成不同的类型。14 包含的分类被安排为 8 个类型。每个分类都有一个 apply-to 元素,它是应用到分类配置的资源路径模式列表。
默认情况下,唯一启用的应用程序资源分类是 core。Core 包括部署、部署覆盖和部署操作。
要启用应用程序资源,请使用 write-attribute 操作将分类的 configured-application 属性设置为 true。要禁用应用程序资源,请将此属性设置为 false。默认情况下,不会设置这些属性,并使用 default-application 属性的值。无法更改默认值。
启用 logger-profile 应用程序资源分类
/core-service=management/access=authorization/constraint=application-classification/type=logging/classification=logging-profile:write-attribute(name=configured-application,value=true)
/core-service=management/access=authorization/constraint=application-classification/type=logging/classification=logging-profile:write-attribute(name=configured-application,value=true)
结果
/core-service=management/access=authorization/constraint=application-classification/type=logging/classification=logging-profile:read-resource
/core-service=management/access=authorization/constraint=application-classification/type=logging/classification=logging-profile:read-resource
应用程序资源约束适用于匹配其配置的所有资源。例如,无法授予 Deployer 用户访问一个数据源资源,但不能访问另一个数据源资源。如果需要这种隔离级别,建议在不同的服务器组中配置资源,并为每个组创建不同的范围 Deployer 角色。
4.3.8.3. 配置 Vault 表达式约束 复制链接链接已复制到粘贴板!
默认情况下,读取和写入 vault 表达式是敏感操作。配置 Vault Expression Constraint 允许将这些操作设置为非敏感。更改此约束允许更多角色读取和写入 vault 表达式。
vault 表达式约束可在 /core-service=management/access=authorization/constraint=vault-expression 中找到。
要配置 vault 表达式约束,请使用 write-attribute 操作将 configured-requires-write 和 configured-requires-read 设为 true 或 false 的属性。默认情况下,它们没有被设置,并使用 default-requires-read 和 default-requires-write 的值。无法更改默认值。
编写对 vault 表达式的非敏感操作
/core-service=management/access=authorization/constraint=vault-expression:write-attribute(name=configured-requires-write,value=false)
/core-service=management/access=authorization/constraint=vault-expression:write-attribute(name=configured-requires-write,value=false)
结果
/core-service=management/access=authorization/constraint=vault-expression:read-resource
/core-service=management/access=authorization/constraint=vault-expression:read-resource
根据此配置,哪些角色可以读取和写入 vault 表达式:
| 值 | requires-read | requires-write |
|---|---|---|
| true | 读取操作非常敏感。只有 Auditor、Admin 和 SuperUser 才能读取。 | 写入操作非常敏感。只有 Administrator 和 SuperUser 可以写入。 |
| false | 读操作不敏感。所有管理用户都可以读取。 | 写入操作不敏感。监控、管理员和 SuperUser 可以写入。如果 vault 表达式位于应用资源中,则部署器也可以编写。 |
4.3.8.4. 应用程序资源约束参考 复制链接链接已复制到粘贴板!
type: core - Classification: deployment-overlay
- 默认: true
- PATH: /deployment-overlay=*
- PATH: /deployment=*
- PATH: /
- operation: upload-deployment-stream, full-replace-deployment, upload-deployment-url, upload-deployment-bytes
type: datasources - Classification: datasource
- 默认:false
- PATH: /deployment=*/subdeployment=*/subsystem=datasources/data-source=*
- PATH: /subsystem=datasources/data-source=*
- PATH: /subsystem=datasources/data-source=ExampleDS
- PATH: /deployment=*/subsystem=datasources/data-source=*
type: datasources - Classification: jdbc-driver
- 默认:false
- PATH: /subsystem=datasources/jdbc-driver=*
type: datasources - Classification: xa-data-source
- 默认:false
- PATH: /subsystem=datasources/xa-data-source=*
- PATH: /deployment=*/subsystem=datasources/xa-data-source=*
- PATH: /deployment=*/subdeployment=*/subsystem=datasources/xa-data-source=*
Type: logging - Classification: logger
- 默认:false
- PATH: /subsystem=logging/logger=*
- PATH: /subsystem=logging/logging-profile=*/logger=*
type: datasources - Classification: logging-profile
- 默认:false
- PATH: /subsystem=logging/logging-profilePROFILE
类型:mail - Classification: mail-session
- 默认:false
- PATH: /subsystem=mail/mail-sessionPROFILE
type: naming - Classification: binding
- 默认:false
- PATH: /subsystem=naming/binding hear
type: resource-adapters - Classification: resource-adapters
- 默认:false
- PATH: /subsystem=resource-adapters/resource-adapter=*
类型:security - Classification: security-domain
- 默认:false
- PATH: /subsystem=security/security-domain=*
4.3.8.5. 敏感度约束参考 复制链接链接已复制到粘贴板!
type: core - Classification: access-control
- requires-addressable: true
- requires-read: true
- requires-write: true
- PATH: /core-service=management/access=authorization
- PATH: /subsystem=jmx ATTRIBUTE: non-core-mbean-sensitivity
type: core - Classification: credential
- requires-addressable: false
- requires-read: true
- requires-write: true
- PATH: /subsystem=mail/mail-sessionxxxx/server=pop3 ATTRIBUTE: username , password
- PATH: /subsystem=mail/mail-session require/server=imap ATTRIBUTE: username , password
- PATH: /subsystem=datasources/xa-data-source prerequisites ATTRIBUTE: user-name, recovery-username, password, recovery-password
- PATH: /subsystem=mail/mail-session require/custom.4-1. ATTRIBUTE: username, password
- PATH: /subsystem=datasources/data-sourcePROFILE" ATTRIBUTE: user-name, password
- PATH: /subsystem=remoting/remote-outbound-connectionPROFILE" ATTRIBUTE: username
- PATH: /subsystem=mail/mail-sessionPROFILE/server=smtp ATTRIBUTE: username, password
- PATH: /subsystem=resource-adapters/resource-adapteradapter/connection-definitions 9000" ATTRIBUTE: recovery-username, recovery-password
Type: core - Classification: domain-controller
- requires-addressable: false
- requires-read: false
- requires-write: true
type: core - Classification: domain-names
- requires-addressable: false
- requires-read: false
- requires-write: true
类型:core - Classification: extensions
- requires-addressable: false
- requires-read: false
- requires-write: true
- PATH: /extension=*
type: core - Classification: jvm
- requires-addressable: false
- requires-read: false
- requires-write: true
- PATH: /core-service=platform-mbean/type=runtime ATTRIBUTE: input-arguments, boot-class-path, class-path, boot-class-path-supported, library-path
type: core - Classification: management-interfaces
- requires-addressable: false
- requires-read: false
- requires-write: true
- /core-service=management/management-interface=http-interface
type: core - Classification: module-loading
- requires-addressable: false
- requires-read: false
- requires-write: true
- PATH: /core-service=module-loading
类型:core - Classification: patching
- requires-addressable: false
- requires-read: false
- requires-write: true
- PATH: /core-service=patching/addonPROFILE
- PATH: /core-service=patching/layerxxxx"
- PATH: /core-service=patching
type: core - Classification: read-whole-config
- requires-addressable: false
- requires-read: true
- requires-write: true
- PATH: / OPERATION: read-config-as-xml
type: core - Classification: security-domain
- requires-addressable: true
- requires-read: true
- requires-write: true
- PATH: /subsystem=security/security-domain=*
type: core - Classification: security-domain-ref
- requires-addressable: true
- requires-read: true
- requires-write: true
- PATH: /subsystem=datasources/xa-data-sourcePROFILE ATTRIBUTE: security-domain
- PATH: /subsystem=datasources/data-sourcePROFILE ATTRIBUTE: security-domain
- PATH: /subsystem=ejb3 ATTRIBUTE: default-security-domain
- PATH: /subsystem=resource-adapters/resource-adapter.4-1./connection-definitions.4-1. ATTRIBUTE: security-domain, recovery- security-domain, security-application, security-domain-and-application
type: core - Classification: security-realm
- requires-addressable: true
- requires-read: true
- requires-write: true
- PATH: /core-service=management/security-realm=*
type: core - Classification: security-realm-ref
- requires-addressable: true
- requires-read: true
- requires-write: true
- PATH: /subsystem=remoting/connectorxxxx ATTRIBUTE: security-realm
- PATH: /core-service=management/management-interface=native-interface ATTRIBUTE: security-realm
- PATH: /core-service=management/management-interface=http-interface ATTRIBUTE: security-realm
- PATH: /subsystem=remoting/remote-outbound-connectionPROFILE ATTRIBUTE: security-realm
Type: core - Classification: security-vault
- requires-addressable: false
- requires-read: false
- requires-write: true
- PATH: /core-service=vault
type: core - Classification: service-container
- requires-addressable: false
- requires-read: false
- requires-write: true
- PATH: /core-service=service-container
Type: core - Classification: snapshot
- requires-addressable: false
- requires-read: false
- requires-write: false
- PATH: / ATTRIBUTE: take-snapshot, list-snapshots, delete-snapshot
type: core - Classification: socket-binding-ref
- requires-addressable: false
- requires-read: false
- requires-write: false
- PATH: /subsystem=mail/mail-sessionxxxx/server=pop3 ATTRIBUTE: outbound-socket-binding-ref
- PATH: /subsystem=mail/mail-session.4-1./server=imap ATTRIBUTE: outbound-socket-binding-ref
- PATH: /subsystem=remoting/connectorxxxx ATTRIBUTE: socket-binding
- PATH: /subsystem=remoting/local-outbound-connectionPROFILE ATTRIBUTE: outbound-socket-binding-ref
- PATH: /socket-binding-groupPROFILE/local-destination-outbound-socket-binding 9000 ATTRIBUTE: socket-binding-ref
- PATH: /subsystem=remoting/remote-outbound-connectionPROFILE ATTRIBUTE: outbound-socket-binding-ref
- PATH: /subsystem=mail/mail-sessionPROFILE/server=smtp ATTRIBUTE: outbound-socket-binding-ref
- PATH: /subsystem=transactions ATTRIBUTE: process-id-socket-binding, status-socket-binding, socket-binding
type: core - Classification: socket-config
- requires-addressable: false
- requires-read: false
- requires-write: true
- PATH: /interfaceProductShortName OPERATION: resolve-internet-address
- PATH: /socket-binding-group=*
- PATH: /core-service=management/management-interface=http-interface ATTRIBUTE: port, secure-port, interface, secure-socket-binding, socket-binding
- PATH: / OPERATION: resolve-internet-address
- PATH: /subsystem=transactions ATTRIBUTE: process-id-socket-max-ports
type: core - Classification: system-property
- requires-addressable: false
- requires-read: false
- requires-write: true
- PATH: /core-service=platform-mbean/type=runtime ATTRIBUTE: system-properties
- PATH: /system-property=*
- PATH: / OPERATION: resolve-expression
type: datasources - Classification: data-source-security
- requires-addressable: false
- requires-read: true
- requires-write: true
- PATH: /subsystem=datasources/xa-data-source prerequisites ATTRIBUTE: user-name, security-domain, password
- PATH: /subsystem=datasources/data-sourcePROFILE ATTRIBUTE: user-name, security-domain, password
type: jdr - Classification: jdr
- requires-addressable: false
- requires-read: false
- requires-write: true
- PATH: /subsystem=jdr OPERATION: generate-jdr-report
类型:jmx - Classification: jmx
- requires-addressable: false
- requires-read: false
- requires-write: true
- PATH: /subsystem=jmx
类型:mail - Classification: mail-server-security
- requires-addressable: false
- requires-read: false
- requires-write: true
- PATH: /subsystem=mail/mail-session.4-1./server=pop3 ATTRIBUTE: username, tls, ssl, password
- PATH: /subsystem=mail/mail-session require/server=imap ATTRIBUTE: username, tls, ssl, password
- PATH: /subsystem=mail/mail-session=/custom= ATTRIBUTE: username, tls, ssl, password
- PATH: /subsystem=mail/mail-session.4-1./server=smtp ATTRIBUTE: username, tls, ssl, password
Type: naming - Classification: jndi-view
- requires-addressable: false
- requires-read: true
- requires-write: true
- PATH: /subsystem=naming OPERATION: jndi-view
type: naming - Classification: naming-binding
- requires-addressable: false
- requires-read: false
- requires-write: false
- PATH: /subsystem=naming/binding hear
类型:remoting - Classification: remoting-security
- requires-addressable: false
- requires-read: true
- requires-write: true
- PATH: /subsystem=remoting/connectorxxxx ATTRIBUTE: authentication-provider, security-realm
- PATH: /subsystem=remoting/remote-outbound-connectionPROFILE ATTRIBUTE: username, security-realm
- PATH: /subsystem=remoting/connectorxxxx/security=sasl
type: resource-adapters - Classification: resource-adapter-security
- requires-addressable: false
- requires-read: true
- requires-write: true
- PATH: /subsystem=resource-adapters/resource-adapter.4-1./connection-definitions.4-1. ATTRIBUTE: security-domain, recovery-username, recovery-security-domain, security-application, security-domain-and-application, recovery-password
类型:security - Classification: misc-security
- requires-addressable: false
- requires-read: true
- requires-write: true
- PATH: /subsystem=security ATTRIBUTE: deep-copy-subject-mode