第 3 章 Security Realms
安全域为 Data Grid Server 端点定义身份、加密、身份验证和授权配置。
3.1. 属性 Realms 复制链接链接已复制到粘贴板!
属性域使用属性文件来定义用户和组。
users.properties
以纯文本格式将用户名映射到密码。如果您使用 DIGEST-MD5
SASL 机制或 Digest
HTTP 机制,也可以预先提取密码。
myuser=a_password user2=another_password
myuser=a_password
user2=another_password
groups.properties
将用户映射到角色。
myuser=supervisor,reader,writer user2=supervisor
myuser=supervisor,reader,writer
user2=supervisor
端点身份验证机制
当您将 Data Grid Server 配置为使用属性域时,您可以将端点配置为使用以下身份验证机制:
-
hot Rod (SASL):
PLAIN
,DIGEST114
, 和SCRAM114
-
REST (HTTP):
Basic
和Digest
属性域配置
3.1.1. 创建和修改用户 复制链接链接已复制到粘贴板!
添加 Data Grid 用户凭证并分配权限以控制对数据的访问。
Data Grid 服务器安装使用属性域来验证 Hot Rod 和 REST 端点的用户。这意味着,您需要在访问 Data Grid 前至少创建一个用户。
默认情况下,用户还需要具有访问缓存的权限并与 Data Grid 资源交互的角色。您可以单独为用户分配角色,或将用户添加到具有角色权限的组中。
您可以在 Data Grid 命令行界面(CLI)中使用 user
命令创建用户并分配角色。
从 CLI 会话运行 help user
以获取完整的命令详情。
3.1.1.1. 添加凭证 复制链接链接已复制到粘贴板!
您需要一个 admin
用户用于 Data Grid 控制台,并对数据网格环境进行完全控制。因此,您应该在第一次添加凭证时创建带有 admin
权限的用户。
流程
-
在
$RHDG_HOME
中打开一个终端。 在 CLI 中,使用
user create
命令创建admin
用户。bin/cli.sh user create myuser -p changeme -g admin
$ bin/cli.sh user create myuser -p changeme -g admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,用户名 "admin" 会自动获得
admin
权限。bin/cli.sh user create admin -p changeme
$ bin/cli.sh user create admin -p changeme
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用任何文本编辑器打开
user.properties
和groups.properties
,以验证用户和组。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.1.2. 为用户分配角色 复制链接链接已复制到粘贴板!
为用户分配角色,以便他们具有访问数据和修改数据和修改数据的正确权限。
流程
使用
admin
用户启动 CLI 会话。bin/cli.sh
$ bin/cli.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
deployer
角色分配给 "katie"。[//containers/default]> user roles grant --roles=deployer katie
[//containers/default]> user roles grant --roles=deployer katie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出 "katie" 的角色。
[//containers/default]> user roles ls katie ["deployer"]
[//containers/default]> user roles ls katie ["deployer"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.1.3. 在组中添加用户 复制链接链接已复制到粘贴板!
组可让您更改多个用户的权限。您可以为组分配角色,然后将用户添加到该组。用户从组角色继承权限。
流程
-
使用
admin
用户启动 CLI 会话。 使用
user create
命令创建组。-
使用
--groups
参数指定"developers"作为组名称。 为组设置用户名和密码。
在属性域中,组是特殊类型的用户,它还需要用户名和密码。
[//containers/default]> user create --groups=developers developers -p changeme
[//containers/default]> user create --groups=developers developers -p changeme
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
使用
列出组。
[//containers/default]> user ls --groups ["developers"]
[//containers/default]> user ls --groups ["developers"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
application
角色分配给"developers"组。[//containers/default]> user roles grant --roles=application developers
[//containers/default]> user roles grant --roles=application developers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出"developers"组的角色。
[//containers/default]> user roles ls developers ["application"]
[//containers/default]> user roles ls developers ["application"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据需要向组添加现有用户。
[//containers/default]> user groups john --groups=developers
[//containers/default]> user groups john --groups=developers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow