13.4. 샘플 설정


다음은 자격 증명 모음 및 인증 정보 저장소 구성의 예입니다. 절차는 두 부분으로 나뉩니다:

  • 자격 증명 저장소와 자격 증명 모음 저장소 및 자격 증명 모음 생성은 일반 텍스트입니다.
  • 암호가 elytron-tool.sh 가 제공하는 마스크를 사용하도록 자격 증명 저장소 및 자격 증명 모음 업데이트 .

이 예에서 사용된 테스트 대상은 BIND DN 인증 정보가 있는 LDAP 인스턴스 secret12 입니다. 대상은 영역 ldaptest 에서 사용자 페더레이션을 사용하여 매핑됩니다.

13.4.1. 마스크 없이 인증 정보 저장소 및 자격 증명 모음 구성

인증 정보 저장소 및 자격 증명 모음 암호가 일반 텍스트인 자격 증명 모음을 생성합니다.

사전 요구 사항

  • 실행 중인 LDAP 인스턴스에는 BIND DN 인증 정보 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에서 자격 증명 모음 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})

    이 시점에서 자격 증명 모음 및 자격 증명 저장소 암호는 마스킹되지 않습니다.

            <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 인증 정보를 ${vault.ldap_secret} 로 바꿉니다.
  6. LDAP 연결을 테스트합니다.

    LDAP Vault

    LDAP Vault

13.4.2. 자격 증명 저장소 및 자격 증명 모음의 암호 마스킹

elytron-tool.sh 에서 제공하는 마스크를 사용하는 암호를 갖도록 인증 정보 저장소 및 자격 증명 모음을 업데이트할 수 있습니다.

  1. slave 및 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 자격 증명 모음 구성을 업데이트합니다.

    /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})

    이제 자격 증명 모음 및 인증 정보 저장소가 마스킹됩니다.

            <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 툴에 대한 자세한 내용은 Using Credential Stores with Elytron Client 를 참조하십시오.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.