1.6. 创建和修改 Data Grid 用户

添加 Data Grid 用户凭据并分配权限来控制对数据的访问。

Data Grid 服务器安装使用属性域对 Hot Rod 和 REST 端点的用户进行身份验证。这意味着您在访问 Data Grid 前需要至少创建一个用户。

默认情况下,用户需要具有访问缓存的权限的权限,并与 Data Grid 资源交互。您可以单独为用户分配角色,或将用户添加到具有角色权限的组中。

您可以在 Data Grid 命令行界面(CLI)中创建用户并分配角色。

提示

从 CLI 会话运行 help 用户 以获取完整的命令详情。

1.6.1. 添加凭证

您需要一个 admin 用户用于 Data Grid Console,并完全控制您的 Data Grid 环境。因此,您应该在首次添加凭证时创建具有 admin 权限的用户。

流程

  1. $RHDG_HOME 中打开一个终端。
  2. 使用 user create 命令创建 admin 用户。

    • 添加分配给 admin 组的用户。

      bin/cli.sh user create myuser -p changeme -g admin
    • 使用隐式授权获得 管理权限

      bin/cli.sh user create admin -p changeme
  3. 打开 user.propertiesgroups.properties 及任何文本编辑器来验证用户和组。

    $ cat server/conf/users.properties
    
    #$REALM_NAME=default$
    #$ALGORITHM=encrypted$
    myuser=scram-sha-1\:BYGcIAwvf6b...
    
    $ cat server/conf/groups.properties
    
    myuser=admin

1.6.2. 为用户分配角色

为用户分配角色,以便他们可以正确访问数据和修改 Data Grid 资源。

流程

  1. 使用 admin 用户启动一个 CLI 会话。

    $ bin/cli.sh
  2. deployer 角色分配给 "katie"。

    [//containers/default]> user roles grant --roles=deployer katie
  3. 列出"katie"的角色。

    [//containers/default]> user roles ls katie
    ["deployer"]

1.6.3. 将用户添加到组中

组允许您更改多个用户的权限。您可以为组分配角色,然后将用户添加到该组中。用户从组角色继承权限。

流程

  1. 使用 admin 用户启动一个 CLI 会话。
  2. 使用 user create 命令创建组。

    1. 使用 --groups 参数指定"developers"作为组名称。
    2. 为组设置用户名和密码。

      在属性域中,组是特殊的用户,还需要用户名和密码。

      [//containers/default]> user create --groups=developers developers -p changeme
  3. 列出组。

    [//containers/default]> user ls --groups
    ["developers"]
  4. 将应用程序 角色分配给"developers"组。

    [//containers/default]> user roles grant --roles=application developers
  5. 列出"developers"组的角色。

    [//containers/default]> user roles ls developers
    ["application"]
  6. 根据需要,将现有用户(一次)添加到组中。

    [//containers/default]> user groups john --groups=developers

1.6.4. 用户角色和权限

Data Grid 包含一组默认的角色,可授予用户访问数据并与 Data Grid 资源交互。

ClusterRoleMapper 是 Data Grid 用来将安全主体与授权角色关联的默认机制。

重要

ClusterRoleMapper 与角色名称匹配的主体名称。名为 admin 的用户会自动获得 admin 权限,名为 deployer 的用户会获取 deployer 权限,以此类推。

角色权限描述

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 和 指标端点 查看统计信息。