第 5 章 在密钥存储中存储 Data Grid 服务器凭证
外部服务需要凭证才能使用 Data Grid 服务器进行身份验证。为了保护敏感文本字符串,如密码,请将它们添加到凭据密钥存储中,而不是直接在 Data Grid 服务器配置文件中。
然后,您可以将 Data Grid 服务器配置为解密密码,以与数据库或 LDAP 目录等服务建立连接。
$RHDG_HOME/server/conf
中的纯文本密码是未加密的。任何对主机文件系统具有读取访问权限的用户帐户都可以查看纯文本密码。
虽然凭据密钥存储是受密码保护的存储密码,但对主机文件系统具有写入访问权限的任何用户帐户都可以被密钥存储本身篡改。
要完全保护 Data Grid 服务器凭证,您应该只向可以配置和运行 Data Grid Server 的用户帐户授予读写访问权限。
5.1. 设置凭据密钥存储
创建密钥存储来加密 Data Grid 服务器访问的凭据。
凭据密钥存储至少包含一个与加密密码关联的别名。创建密钥存储后,您可以在连接配置中指定别名,如数据库连接池。然后,当服务尝试身份验证时,Data Grid 服务器从密钥存储中解密该别名的密码。
您可以根据需要创建任意数量的凭证存储,其别名数量相同。
作为安全最佳实践,密钥存储应只由运行 Data Grid Server 进程的用户读取。
流程
-
在
$RHDG_HOME
中打开一个终端。 创建密钥存储,并使用
credentials
命令向其添加凭据。提示默认情况下,密钥存储是 PKCS12 类型的。运行
帮助凭据
以获取有关更改密钥存储默认值的详细信息。以下示例演示了如何创建密钥存储,其中包含密码"changeme"的别名"dbpassword"。在创建密钥存储时,您也指定使用
-p
参数访问密钥存储的密码。- Linux
bin/cli.sh credentials add dbpassword -c changeme -p "secret1234!"
- Microsoft Windows
bin\cli.bat credentials add dbpassword -c changeme -p "secret1234!"
检查别名是否已添加到密钥存储。
bin/cli.sh credentials ls -p "secret1234!" dbpassword
- 打开 Data Grid Server 配置以进行编辑。
配置 Data Grid,以使用凭据密钥存储。
-
在安全
配置中添加credential-stores
部分。 - 指定凭据密钥存储的名称和位置。
指定使用
明文-text-credential
配置访问凭据密钥存储的密码。注意除了将凭据密钥存储的明文密码添加到 Data Grid Server 配置中,而是使用外部命令或屏蔽的密码来获得额外的安全性。
您还可以在一个凭证存储中使用密码作为另一个凭证存储的 master 密码。
-
在 Data Grid 服务器用来与外部系统(如数据源或 LDAP 服务器)连接的配置中引用凭据密钥存储。
-
添加
credentials-reference
部分。 -
使用
store
属性指定凭据密钥存储的名称。 使用
alias
属性指定密码别名。提示credential-reference
配置中的属性是可选的。-
只有在您有多个密钥存储时才需要
存储
。 -
只有密钥存储包含多个密码别名时才需要
alias
。
-
只有在您有多个密钥存储时才需要
-
添加
- 保存对配置的更改。