3.9. 将红帽单点登录库与 OpenShift secret 搭配使用
Red Hat Single Sign-On 管理支持中的多个字段从外部密码库获取 secret 值,请参阅 服务器管理指南。以下示例演示了如何在 OpenShift 中设置基于文件的纯文本 vault,并将其设置为用于获取 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 环境变量时,才会配置文件 plaintext 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 密码配置中的
masterrealm 中的${vault.smtp-password},在使用时,它将被替换。mySMTPPsswd