3.10. 将 Red Hat Single Sign-On vault 与 OpenShift secret 搭配使用
Red Hat Single Sign-On 管理支持的几个字段从外部 vault 获取 secret 的值,请参阅 服务器管理指南。以下示例演示了如何在 OpenShift 中设置基于文件的纯文本库,并将其设置为用于获取 SMTP 密码。
流程
使用 SSO_VAULT_DIR 环境变量为 vault 指定目录。您可以直接在部署配置的环境中直接引入 SSO_VAULT_DIR 环境变量。也可以通过在模板中的相应位置添加以下代码片段来包含在模板中:
"parameters": [ ... { "displayName": "RH-SSO Vault Secret directory", "description": "Path to the RH-SSO Vault directory.", "name": "SSO_VAULT_DIR", "value": "", "required": false } ... ] env: [ ... { "name": "SSO_VAULT_DIR", "value": "${SSO_VAULT_DIR}" } ... ]注意只有在设置 SSO_VAULT_DIR 环境变量时,才会配置纯文本 vault 提供程序。
在 OpenShift 集群中创建 secret:
$ oc create secret generic rhsso-vault-secrets --from-literal=master_smtp-password=mySMTPPsswd使用
${SSO_VAULT_DIR}将卷作为路径挂载到部署配置中。对于已在运行的部署:$ oc set volume dc/sso --add --mount-path=${SSO_VAULT_DIR} --secret-name=rhsso-vault-secrets-
创建 pod 后,您可以使用 Red Hat Single Sign-On 配置中的自定义字符串来引用该 secret。例如,对于在本教程中创建的
mySMTPPswd secret,您可以在 smtp 密码配置中的master域中使用${vault.smtp-password},并会被使用时由mySMTPPswd替换。