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 になります。

手順

  1. 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})
  2. クレデンシャルストアにエイリアスを追加します。

    /subsystem=elytron/credential-store=test-store:add-alias(alias=ldaptest_ldap__secret,secret-value=secret12)

    リゾルバーにより、ldaptest_ldap__secret キーが二重アンダースコアを使用することに注意してください。

  3. クレデンシャルストアのエイリアスをリスト表示し、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,
  4. 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>
  5. LDAP プロバイダーの binDN credential${vault.ldap_secret} に置き換えます。
  6. LDAP 接続をテストします。

    LDAP Vault

    LDAP Vault

13.4.2. クレデンシャルストアおよび Vault でパスワードのマスキング

クレデンシャルストアと vault を更新して、elytron-tool.sh が提供するマスクを使用するパスワードを使用できるようになりました。

  1. 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;123
  2. Elytron クレデンシャルストア設定を更新して、マスクされたパスワードを使用します。

    /subsystem=elytron/credential-store=cs-store:write-attribute(name=credential-reference.clear-text,value="MASK-3BUbFEyWu0lRAu8.fCqyUk;12345678;123")
  3. 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>
  4. ${vault.ldap_secret} を使用して LDAP への接続をテストすることができます。

関連情報

Elytron ツールの詳細は、Elytron クライアントでのクレデンシャルストアの使用 を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.