3.6. Data Grid authorization
Data Grid 使用基于角色的访问控制(RBAC)来限制对数据和集群加密的访问,以保护节点之间的通信。
角色和权限
Data Grid 8.2 提供了一组默认用户和权限,可用于 RBAC,包括以下更改:
-
ClusterRoleMapper
是 Data Grid 用来将安全主体与授权角色关联的默认机制。 -
新的
MONITOR
权限允许用户访问 Data Grid 统计数据。 用户需要创建和删除缓存和计数器等资源的新
CREATE
权限。注意CREATE
取代了___schema_manager
和\___script_manager
角色,用户在 Data Grid 8.1 及更早版本中创建和删除 Protobuf 模式和服务器脚本。迁移到 Data Grid 8.2 时,您应该为在 Data Grid 8.1 或更早版本中有
___schema_manager
和\___script_manager
角色的用户分配deployer
角色。使用命令行界面(CLI),如下所示:[//containers/default]> user roles grant --roles=deployer <user>
缓存管理器权限
表 3.2. Data Grid 8.1
权限 | 功能 | 描述 |
---|---|---|
配置 |
| 定义新的缓存配置。 |
LISTEN |
| 针对缓存管理器注册监听程序。 |
生命周期 |
| 停止缓存管理器。 |
ALL | - | 包括所有缓存管理器权限。 |
表 3.3. Data Grid 8.2
权限 | 功能 | 描述 |
---|---|---|
配置 |
| 定义新的缓存配置。 |
LISTEN |
| 针对缓存管理器注册监听程序。 |
生命周期 |
| 停止缓存管理器。 |
CREATE |
| 创建和删除容器资源,如缓存、计数器、模式和脚本。 |
MONITOR |
|
允许访问 JMX 统计信息和 |
ALL | - | 包括所有缓存管理器权限。 |
缓存权限
表 3.4. Data Grid 8.1
权限 | 功能 | 描述 |
---|---|---|
|
| 从缓存检索条目。 |
写 |
放置 , | 写入、替换、删除、驱除缓存中的数据。 |
EXEC |
| 允许针对缓存执行代码。 |
LISTEN |
| 针对缓存注册监听程序。 |
BULK_READ |
| 执行批量检索操作。 |
BULK_WRITE |
| 执行批量写入操作。 |
生命周期 |
| 启动和停止缓存。 |
ADMIN |
| 允许访问底层组件和内部结构。 |
ALL | - | 包括所有缓存权限。 |
ALL_READ | - | 组合了 READ 和 BULK_READ 权限。 |
ALL_WRITE | - | 组合 WRITE 和 BULK_WRITE 权限。 |
表 3.5. Data Grid 8.2
权限 | 功能 | 描述 |
---|---|---|
READ |
| 从缓存检索条目。 |
写 |
放置 , | 写入、替换、删除、驱除缓存中的数据。 |
EXEC |
| 允许针对缓存执行代码。 |
LISTEN |
| 针对缓存注册监听程序。 |
BULK_READ |
| 执行批量检索操作。 |
BULK_WRITE |
| 执行批量写入操作。 |
生命周期 |
| 启动和停止缓存。 |
ADMIN |
| 允许访问底层组件和内部结构。 |
MONITOR |
|
允许访问 JMX 统计信息和 |
ALL | - | 包括所有缓存权限。 |
ALL_READ | - | 组合了 READ 和 BULK_READ 权限。 |
ALL_WRITE | - | 组合 WRITE 和 BULK_WRITE 权限。 |
缓存管理器授权
从 Data Grid 8.2 开始,您可以在 cache-container
安全配置中包含 authorization
元素,如下所示:
<infinispan>
<cache-container name="secured">
<security>
<authorization/> 1
</security>
</cache-container>
</infinispan>
- 1
- 为具有默认角色和权限的缓存管理器启用安全授权。
您还可以定义全局授权配置,如下所示:
<infinispan> <cache-container default-cache="secured" name="secured"> <security> <authorization> 1 <identity-role-mapper /> 2 <role name="admin" permissions="ALL" /> 3 <role name="reader" permissions="READ" /> <role name="writer" permissions="WRITE" /> <role name="supervisor" permissions="READ WRITE EXEC"/> </authorization> </security> </cache-container> </infinispan>
隐式缓存授权
Data Grid 8 允许缓存从 cache-container
继承授权配置来提高可用性,因此您不需要为每个缓存显式配置角色和权限。
<local-cache name="secured">
<security>
<authorization/> 1
</security>
</local-cache>
- 1
- 使用缓存容器中定义的角色和权限。
从 Data Grid 8.2 开始,包括配置中的
authorization
元素使用默认角色和权限限制对该缓存的访问,除非您定义了一组自定义全局权限。
其他资源