13.3. キーリゾルバー
すべての組み込みプロバイダーはキーリゾルバーの設定をサポートします。キーリゾルバーは、レルム名とキーを組み合わせて (${vault.key}
式から取得)、vault からシークレットの取得に使用される最終エントリー名を組み合わせるためのアルゴリズムまたはストラテジーを実装します。Red Hat Single Sign-On は keyResolvers
プロパティーを使用して、プロバイダーが使用するリゾルバーを設定します。この値は、リゾルバー名のコンマ区切りリストです。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/" /> <property name="keyResolvers" value="REALM_UNDERSCORE_KEY, KEY_ONLY"/> </properties> </provider> </spi>
リゾルバーは、設定で宣言するのと同じ順序で実行されます。Red Hat Single Sign-On は、リゾルバーが生成する最後のエントリー名を使用して、レルムと vault キーを組み合わせて vault のシークレットを検索します。Red Hat Single Sign-On がシークレットを検出すると、シークレットを返します。そうでない場合、Red Hat Single Sign-On は次のリゾルバーを使用します。この検索は、Red Hat Single Sign-On が空でないシークレットを見つけるか、リゾルバーがなくなるまで継続されます。Red Hat Single Sign-On がシークレットが見つからない場合には、Red Hat Single Sign-On は空のシークレットを返します。
上記の例では、Red Hat Single Sign-On は最初に REALM_UNDERSCORE_KEY
リゾルバーを使用します。Red Hat Single Sign-On がリゾルバーを使用する vault のエントリーを見つけると、Red Hat Single Sign-On はそのエントリーを返します。そうでない場合、Red Hat Single Sign-On は KEY_ONLY
リゾルバーを使用して再度検索します。Red Hat Single Sign-On が KEY_ONLY
リゾルバーを使用してエントリーを見つけると、Red Hat Single Sign-On はそのエントリーを返します。Red Hat Single Sign-On がすべてのリゾルバーを使用する場合は、Red Hat Single Sign-On は空のシークレットを返します。
現在利用可能なリゾルバーの一覧は以下のようになります。
名前 | 説明 |
---|---|
KEY_ONLY | Red Hat Single Sign-On はレルム名を無視し、vault 式のキーを使用します。 |
REALM_UNDERSCORE_KEY |
Red Hat Single Sign-On は、アンダースコアを使用してレルムと鍵を組み合わせます。Red Hat Single Sign-On は、レルムまたはキーでのアンダースコアの出現を別のアンダースコア文字でエスケープします。たとえば、レルムが |
REALM_FILESEPARATOR_KEY | Red Hat Single Sign-On は、プラットフォームファイル区切り文字を使用してレルムとキーを組み合わせます。 |
ビルトインプロバイダーのリゾルバーを設定していない場合は、Red Hat Single Sign-On は REALM_UNDERSCORE_KEY
を選択します。