第 8 章 具有基于角色的访问控制的安全授权


基于角色的访问控制(RBAC)功能使用不同的权限级别来限制用户与 Data Grid 的交互。

注意

有关创建用户并配置特定于远程或嵌入式缓存的授权的详情,请参考:

8.1. Data Grid 用户角色和权限

数据网格包括多个角色,为用户提供访问缓存和数据网格资源的权限。

角色权限Description

admin

ALL

具有所有权限的超级用户,包括缓存管理器生命周期的控制。

deployer

ALL_READ, ALL_WRITE, LISTEN, EXEC, MONITOR, CREATE

除了 应用程序 权限外,还可创建和删除数据网格资源。

application

ALL_READ, ALL_WRITE, LISTEN, EXEC, MONITOR

观察者 权限之外,还具有对 Data Grid 资源的读写访问权限。还可以侦听事件并执行服务器任务和脚本。

observer

ALL_READ, MONITOR

除了监控权限外,还具有对数据网格 资源 的读取访问权限。

monitor

MONITOR

可以通过 JMX 和 指标端点 查看统计信息。

8.1.1. 权限

用户角色是具有不同访问级别的权限集合。

表 8.1. 缓存管理器权限

权限

功能

Description

配置

defineConfiguration

定义新的缓存配置。

LISTEN

addListener

针对缓存管理器注册监听程序。

生命周期

stop

停止缓存管理器。

创建

createCache,removeCache

创建和删除容器资源,如缓存、计数器、架构和脚本。

MONITOR

getStats

允许访问 JMX 统计数据和 指标端点

ALL

-

包括所有缓存管理器权限。

表 8.2. 缓存权限

权限

功能

Description

READ

get包含

从缓存检索条目。

put,putIfAbsent,replace,remove,evict

在缓存中写入、替换、删除、驱除数据。

EXEC

distexec,

允许对缓存执行代码。

LISTEN

addListener

根据缓存注册监听程序。

BULK_READ

keySet,,entrySet,query

执行批量检索操作。

BULK_WRITE

清除放置All

执行批量写入操作。

生命周期

启动停止

启动和停止缓存。

ADMIN

getVersion,addInterceptor*, removeInterceptor Chain ,get EvictionManager,getComponentRegistry,getDistributionManager,getAuthorizationManager,evict,getRpcManager, getCacheConfiguration ,getCacheConfiguration, getCacheManager,getInvocationContextContainer,setAvailability,getDataContainer,getStats,getXAResource

允许访问底层组件和内部结构。

MONITOR

getStats

允许访问 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)角色映射程序。

流程

  1. 打开 Data Grid 配置进行编辑。
  2. 在 Cache Manager 配置中声明 role mapper 作为安全授权的一部分。
  3. 保存对您的配置的更改。
角色映射程序配置

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: ~

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.