第 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 adminCopy 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 changemeCopy 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.shCopy 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 katieCopy 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 changemeCopy 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 developersCopy 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=developersCopy to Clipboard Copied! Toggle word wrap Toggle overflow