4.9. OpenShift シークレットでの Red Hat Single Sign-On Vault の使用

Red Hat Single Sign-On 管理における複数のフィールドでは、外部 Vault からシークレットの値の取得をサポートするようになりました。『サーバー管理ガイド』を参照してください。以下の例は、OpenShift にプレーンテキスト Vault ファイルを設定し、SMTP パスワードを取得するように設定する方法を示しています。

  1. 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 環境変数を設定した場合のみ構成されます。

  2. OpenShift クラスターにシークレットを作成します。

    $ oc create secret generic rhsso-vault-secrets --from-literal=master_smtp-password=mySMTPPsswd
  3. ${SSO_VAULT_DIR} をパスとして使用して、デプロイメント設定にボリュームをマウントします。すでに実行中のデプロイメントの場合:

    oc set volume dc/sso --add --mount-path=${SSO_VAULT_DIR} --secret-name=rhsso-vault-secrets
  4. Pod の作成後に、Red Hat Single Sign-On 設定内でカスタマイズされた文字列を使用してシークレットを参照できます。たとえば、このチュートリアルで作成した mySMTPPsswd シークレットを使用する場合は、smtp パスワードの設定で master レルム内の ${vault.smtp-password} を使用し、使用すると mySMTPPsswd に置き換えられます。