3.10. 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に置き換えられます。