13.4. 設定サンプル
以下は、vault およびクレデンシャルストアを設定する例です。この手順には、以下の 2 つの部分が関係します。
- クレデンシャルストアおよび Vault パスワードがプレーンテキストであるクレデンシャルストアおよび vault を作成する。
-
クレデンシャルストアと vault を更新して、パスワードで
elytron-tool.shが提供するマスクを使用するように指定する。
この例では、テストターゲットは BIND DN credential: secret12 のある LDAP インスタンスです。ターゲットは、レルム ldaptest でユーザーフェデレーションを使用してマッピングされます。
13.4.1. マスクを使用しないクレデンシャルストアおよび vault の設定 リンクのコピーリンクがクリップボードにコピーされました!
クレデンシャルストアおよび Vault パスワードがプレーンテキストの Vault を作成します。
前提条件
-
実行中の LDAP インスタンスには
BIND DN credential: secret12がある。 -
デフォルトのキーリゾルバーを使用する場合に、エイリアスが <realm-name>_< key-value> 形式を使用する。この場合、インスタンスは
ldaptestレルムで実行され、ldaptest_ldap_secretはレルムのldap_secretの値に対応するエイリアスです。
リゾルバーは、レルム名とキー名のダブルアンダースコア文字に置き換えます。たとえば、キー ldaptest_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 プロバイダーの
binDN credentialは${vault.ldap_secret}に置き換えます。 LDAP 接続をテストします。
LDAP Vault
13.4.2. クレデンシャルストアおよび Vault でパスワードのマスキング リンクのコピーリンクがクリップボードにコピーされました!
クレデンシャルストアと vault を更新して、elytron-tool.sh が提供するマスクを使用するパスワードを使用できるようになりました。
saltおよびiterationパラメーターの値を使用してマスクされたパスワードを作成します。$ EAP_HOME/bin/elytron-tool.sh mask --salt SALT --iteration ITERATION_COUNT --secret PASSWORD以下に例を示します。
elytron-tool.sh mask --salt 12345678 --iteration 123 --secret testpwd1! MASK-3BUbFEyWu0lRAu8.fCqyUk;12345678;123Elytron クレデンシャルストア設定を更新して、マスクされたパスワードを使用します。
/subsystem=elytron/credential-store=cs-store:write-attribute(name=credential-reference.clear-text,value="MASK-3BUbFEyWu0lRAu8.fCqyUk;12345678;123")Red Hat Single Sign-On Vault 設定を更新して、マスクされたパスワードを使用します。
/subsystem=keycloak-server/spi=vault/provider=elytron-cs-keystore:remove() /subsystem=keycloak-server/spi=vault/provider=elytron-cs-keystore:add(enabled=true, properties={location=>/home/test/test-store.p12, secret=>”MASK-3BUbFEyWu0lRAu8.fCqyUk;12345678;123”, 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="MASK-3BUbFEyWu0lRAu8.fCqyUk;12345678;123"/> <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="MASK-3BUbFEyWu0lRAu8.fCqyUk;12345678;123"/> </credential-store> </credential-stores>-
${vault.ldap_secret}を使用して LDAP への接続をテストすることができます。