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
权限的用户。
流程
-
在
$RHDG_HOME
中打开一个终端。 使用
user create
命令创建admin
用户。添加分配给
admin
组的用户。bin/cli.sh user create myuser -p changeme -g admin
使用隐式授权获得
管理权限
。bin/cli.sh user create admin -p changeme
打开
user.properties
和groups.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 资源。
流程
使用
admin
用户启动一个 CLI 会话。$ bin/cli.sh
将
deployer
角色分配给 "katie"。[//containers/default]> user roles grant --roles=deployer katie
列出"katie"的角色。
[//containers/default]> user roles ls katie ["deployer"]
1.6.3. 将用户添加到组中
组允许您更改多个用户的权限。您可以为组分配角色,然后将用户添加到该组中。用户从组角色继承权限。
流程
-
使用
admin
用户启动一个 CLI 会话。 使用
user create
命令创建组。-
使用
--groups
参数指定"developers"作为组名称。 为组设置用户名和密码。
在属性域中,组是特殊的用户,还需要用户名和密码。
[//containers/default]> user create --groups=developers developers -p changeme
-
使用
列出组。
[//containers/default]> user ls --groups ["developers"]
将应用程序
角色分配给"developers"组。[//containers/default]> user roles grant --roles=application developers
列出"developers"组的角色。
[//containers/default]> user roles ls developers ["application"]
根据需要,将现有用户(一次)添加到组中。
[//containers/default]> user groups john --groups=developers
1.6.4. 用户角色和权限
Data Grid 包含一组默认的角色,可授予用户访问数据并与 Data Grid 资源交互。
ClusterRoleMapper
是 Data Grid 用来将安全主体与授权角色关联的默认机制。
ClusterRoleMapper
与角色名称匹配的主体名称。名为 admin
的用户会自动获得 admin
权限,名为 deployer
的用户会获取 deployer
权限,以此类推。
角色 | 权限 | 描述 |
---|---|---|
| ALL | 具有所有权限的超级用户,包括缓存管理器生命周期的控制。 |
| ALL_READ, ALL_WRITE, LISTEN, EXEC, MONITOR, CREATE |
除了 |
| ALL_READ, ALL_WRITE, LISTEN, EXEC, MONITOR |
除 |
| ALL_READ, MONITOR |
除了监控权限外,还具有对数据网格 |
| MONITOR |
可以通过 JMX 和 |