第13章 Vault を使用したシークレットの取得


直接入力せずに Vault からシークレットを取得するには、以下の特別に作成された文字列を適切なフィールドに入力します。

**${vault.**_key_**}**

キー は vault によって認識されたシークレットの名前です。

レルム間でシークレットのリークを防ぐために、Red Hat Single Sign-On はレルム名と vault 式から取得した キー を組み合わせます。このメソッドは、キー が vault のエントリーに直接マップされるのではなく、キー をレルム名と組み合わせるために使用されるアルゴリズムに従って最終的なエントリー名を作成します。

以下のフィールドの vault からシークレットを取得できます。

SMTP パスワード
レルム SMTP 設定
LDAP バインド認証情報
LDAP ベースのユーザーフェデレーションの LDAP 設定
OIDC アイデンティティープロバイダーシークレット
アイデンティティープロバイダーの OpenID Connect Config 内のクライアントシークレット

vault を使用するには、Red Hat Single Sign-On で Vault プロバイダーを登録します。ここ で説明するプロバイダーを使用するか、プロバイダーを実装できます。詳細は、サーバー開発者ガイド を参照してください。

注記

Red Hat Single Sign-On では、Red Hat Single Sign-On インスタンスごとに最大 1 つのアクティブな vault プロバイダーが許可されます。クラスター内の各インスタンスで vault プロバイダーを一貫して設定します。

13.1. Kubernetes/OpenShift ファイルのプレーンテキスト Vault プロバイダー

Red Hat Single Sign-On は、Kubernetes シークレット の vault 実装をサポートします。Kubernetes のシークレットはデータボリュームとしてマウントでき、フラットファイル構造のディレクトリーとして表示されます。Red Hat Single Sign-On は、各シークレットをファイルとして、ファイル名をシークレット名として、ファイルの内容をシークレット値として表します。

このディレクトリー内のファイルには、レルム名とアンダースコアの接頭辞が付けられたシークレット名として名前を指定する必要があります。シークレット名またはレルム名内のすべてのアンダースコアをファイル名で 2 倍にします。たとえば、sso_realm という名前のレルム内のフィールドの場合には、secret-name という名前のシークレットへの参照は ${vault.secret-name} として記述され、ファイル名は sso__realm_secret-name になります。レルム名でアンダースコアが 2 倍になっていることに注意してください。

このタイプのシークレットストアを使用するには、standalone.xml ファイルで files-plaintext vault プロバイダーを宣言し、マウントされたボリュームが含まれるディレクトリーにそのパラメーターを設定する必要があります。以下の例は、Red Hat Single Sign-On ベースディレクトリーとの関連で、vault ファイルが standalone/configuration/vault に設定されたディレクトリーを含む files-plaintext プロバイダーを示しています。

<spi name="vault">
    <default-provider>files-plaintext</default-provider>
    <provider name="files-plaintext" enabled="true">
        <properties>
            <property name="dir" value="${jboss.home.dir}/standalone/configuration/vault/" />
        </properties>
    </provider>
</spi>

以下は、CLI コマンドを使用して同等の設定です。

/subsystem=keycloak-server/spi=vault/:add
/subsystem=keycloak-server/spi=vault/provider=files-plaintext/:add(enabled=true,properties={dir => "${jboss.home.dir}/standalone/configuration/vault"})
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.