4.9. OpenShift シークレットでの Red Hat Single Sign-On Vault の使用
Red Hat Single Sign-On 管理における複数のフィールドでは、外部 Vault からシークレットの値の取得をサポートするようになりました。『サーバー管理ガイド』を参照してください。以下の例は、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}" } ... ]
注記ファイルのプレーンテキスト Vault プロバイダーは、SSO_VAULT_DIR 環境変数を設定した場合のみ構成されます。
OpenShift クラスターにシークレットを作成します。
$ 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 設定内でカスタマイズされた文字列を使用してシークレットを参照できます。たとえば、このチュートリアルで作成した
mySMTPPsswd
シークレットを使用する場合は、smtp パスワードの設定でmaster
レルム内の${vault.smtp-password}
を使用し、使用するとmySMTPPsswd
に置き換えられます。