第 8 章 具有基于角色的访问控制的安全授权
基于角色的访问控制(RBAC)功能使用不同的权限级别来限制用户与 Data Grid 的交互。
有关创建用户并配置特定于远程或嵌入式缓存的授权的详情,请参考:
8.1. Data Grid 用户角色和权限
数据网格包括多个角色,为用户提供访问缓存和数据网格资源的权限。
角色 | 权限 | Description |
---|---|---|
| ALL | 具有所有权限的超级用户,包括缓存管理器生命周期的控制。 |
| ALL_READ, ALL_WRITE, LISTEN, EXEC, MONITOR, CREATE |
除了 |
| ALL_READ, ALL_WRITE, LISTEN, EXEC, MONITOR |
除 |
| ALL_READ, MONITOR |
除了监控权限外,还具有对数据网格 |
| MONITOR |
可以通过 JMX 和 |
8.1.1. 权限
用户角色是具有不同访问级别的权限集合。
权限 | 功能 | Description |
配置 |
| 定义新的缓存配置。 |
LISTEN |
| 针对缓存管理器注册监听程序。 |
生命周期 |
| 停止缓存管理器。 |
创建 |
| 创建和删除容器资源,如缓存、计数器、架构和脚本。 |
MONITOR |
|
允许访问 JMX 统计数据和 |
ALL | - | 包括所有缓存管理器权限。 |
权限 | 功能 | Description |
READ |
| 从缓存检索条目。 |
写 |
| 在缓存中写入、替换、删除、驱除数据。 |
EXEC |
| 允许对缓存执行代码。 |
LISTEN |
| 根据缓存注册监听程序。 |
BULK_READ |
| 执行批量检索操作。 |
BULK_WRITE |
| 执行批量写入操作。 |
生命周期 |
| 启动和停止缓存。 |
ADMIN |
| 允许访问底层组件和内部结构。 |
MONITOR |
|
允许访问 JMX 统计数据和 |
ALL | - | 包括所有缓存权限。 |
ALL_READ | - | 组合 READ 和 BULK_READ 权限。 |
ALL_WRITE | - | 组合 WRITE 和 BULK_WRITE 权限。 |
8.1.2. 角色和权限映射器
数据网格用户通过 javax.security.auth.Subject
类实施,并代表一组类型为 java.security.Principal
的安全主体。
Data Grid 包含 PrincipalRoleMapper
API,将安全主体与角色以及 RolePermissionMapper
API 与权限集关联。数据网格还提供以下角色和权限映射程序实施:
- 集群角色映射器
- 在集群 registry 中存储到角色映射的主体。
- 集群权限映射程序
- 将角色存储到集群 registry 中的权限映射,并允许您动态修改用户角色和权限。
- 身份角色映射器
- 使用主体名称作为角色名称。主体名称的类型或格式取决于源。例如,在 LDAP 目录中,主体名称可以是可辨识的名称(DN)。
- 通用名称角色映射程序
-
使用通用名称(CN)作为角色名称。您可以将此角色 mapper 与包含可辨uished Names (DN)的 LDAP 目录一起使用;例如
cn=managers,ou= people,dc=example,dc=com
映射到managers
角色。
8.1.3. 配置角色映射器
Data Grid 默认启用集群角色映射程序和集群权限映射程序。如果要使用身份角色映射程序、通用名称(CN)角色映射程序或自定义实施,您应该配置角色映射程序。例如,如果您的部署与 LDAP 目录集成,且您想要使用可辨识的名称(DN)作为安全主体,您可以将 Data Grid 配置为使用通用名称(CN)角色映射程序。
流程
- 打开 Data Grid 配置进行编辑。
- 在 Cache Manager 配置中声明 role mapper 作为安全授权的一部分。
- 保存对您的配置的更改。
角色映射程序配置
XML
<cache-container> <security> <authorization> <common-name-role-mapper /> </authorization> </security> </cache-container>
JSON
{ "infinispan" : { "cache-container" : { "security" : { "authorization" : { "common-name-role-mapper": {} } } } } }
YAML
infinispan: cacheContainer: security: authorization: commonNameRoleMapper: ~
其他资源