17.4. 設定例
以下は、vault およびクレデンシャルストアの設定例になります。この手順には、以下の 2 つの部分が含まれます。
- クレデンシャルストアおよび vault を作成すると、クレデンシャルストアと vault パスワードはプレーンテキストになります。
-
クレデンシャルストアと vault を更新して、パスワードは
elytron-tool.sh
によって提供されるマスクを使用します。
この例では、使用されるテストターゲットは BIND DN credential: secret12
を持つ LDAP インスタンスです。ターゲットは、レルム ldaptest
のユーザーフェデレーションを使用してマッピングされます。
17.4.1. マスクなしでクレデンシャルストアおよび vault を設定
クレデンシャルストアおよび vault のパスワードがプレーンテキストである vault を作成します。
前提条件
-
実行中の LDAP インスタンスには
BIND DN 認証情報(secret12)があります
。 -
エイリアスは、デフォルトのキーリゾルバーの使用時に <realm-name>_< key-value> 形式を使用します。この場合、インスタンスはレルム
ldaptest で、ldaptest
_ldap_secret
は、そのレルムのldap_secret
の値に対応するエイリアスです。
リゾルバーは、レルムおよびキー名のダブルアンダースコア文字に置き換えられます。たとえば、ldap test_ldap_secret
キーの場合、最終キーは ldaptest_ldap__secret になります
。
手順
Elytron クレデンシャルストアを作成します。
[standalone@localhost:9990 /] /subsystem=elytron/credential-store=test-store:add(create=true, location=/home/test/test-store.p12, credential-reference={clear-text=testpwd1!},implementation-properties={keyStoreType=PKCS12})
クレデンシャルストアにエイリアスを追加します。
/subsystem=elytron/credential-store=test-store:add-alias(alias=ldaptest_ldap__secret,secret-value=secret12)
リゾルバーによって鍵
ldaptest_ldap__secret
がダブルアンダースコアが使用されるかに注目してください。Elytron によって生成されたキーストアの内容を検証するため、認証情報ストアからエイリアスを一覧表示します。
keytool -list -keystore /home/test/test-store.p12 -storetype PKCS12 -storepass testpwd1! Keystore type: PKCS12 Keystore provider: SUN Your keystore contains 1 entries ldaptest_ldap__secret/passwordcredential/clear/, Oct 12, 2020, SecretKeyEntry,
Red Hat Single Sign-On で vault SPI を設定します。
/subsystem=keycloak-server/spi=vault:add(default-provider=elytron-cs-keystore) /subsystem=keycloak-server/spi=vault/provider=elytron-cs-keystore:add(enabled=true, properties={location=>/home/test/test-store.p12, secret=>testpwd1!, keyStoreType=>PKCS12})
この時点で、vault およびクレデンシャルストアのパスワードはマスクされません。
<spi name="vault"> <default-provider>elytron-cs-keystore</default-provider> <provider name="elytron-cs-keystore" enabled="true"> <properties> <property name="location" value="/home/test/test-store.p12"/> <property name="secret" value="testpwd1!"/> <property name="keyStoreType" value="PKCS12"/> </properties> </provider> </spi> <credential-stores> <credential-store name="test-store" location="/home/test/test-store.p12" create="true"> <implementation-properties> <property name="keyStoreType" value="PKCS12"/> </implementation-properties> <credential-reference clear-text="testpwd1!"/> </credential-store> </credential-stores>
-
LDAP プロバイダーにおいて、bin
DN の認証情報は
${vault.ldap_secret}
に置き換えます。 LDAP 接続をテストします。
LDAP Vault