13장. 자격 증명 모음을 사용하여 시크릿 가져오기
직접 입력하지 않고 자격 증명 모음에서 시크릿을 얻으려면 다음 특수하게 조작된 문자열을 적절한 필드에 입력합니다.
**${vault.**_key_**}**
여기서 키는
자격 증명 모음에서 인식하는 시크릿의 이름입니다.
Red Hat Single Sign-On은 영역 이름 및 자격 증명 모음 식에서 얻은 키
와 시크릿이 유출되지 않도록 합니다. 이 방법은 키가 자격 증명 모음의 항목에 직접 매핑되지 않지만 키
를 영역 이름과 결합하는 데 사용되는 알고리즘에 따라 최종 항목 이름을 생성함을 의미합니다.
다음 필드의 자격 증명 모음에서 보안을 가져올 수 있습니다.
- SMTP 암호
- 영역 SMTP 설정
- LDAP 바인딩 인증 정보
- LDAP 기반 사용자 페더레이션의 LDAP 설정에서.
- OIDC ID 공급자 시크릿
- OpenID Connect Config내부의 클라이언트 시크릿 에서
자격 증명 모음을 사용하려면 Red Hat Single Sign-On에 자격 증명 모음 공급자를 등록합니다. 여기에 설명된 공급자를 사용하거나 공급자를 구현할 수 있습니다. 자세한 내용은 서버 개발자 가이드를 참조하십시오.
Red Hat Single Sign-On에서는 한 번에 Red Hat Single Sign-On 인스턴스당 최대 하나의 활성 자격 증명 모음 공급자를 사용할 수 있습니다. 클러스터 내의 각 인스턴스에서 자격 증명 모음 공급자를 일관되게 구성합니다.
13.1. Kubernetes / OpenShift 파일 일반 텍스트 자격 증명 모음 공급자
Red Hat Single Sign-On은 Kubernetes 보안에 대한 자격 증명 모음 구현을 지원합니다. Kubernetes 시크릿을 데이터 볼륨으로 마운트할 수 있으며 플랫 파일 구조가 있는 디렉터리로 표시됩니다. Red Hat Single Sign-On은 각 시크릿을 시크릿 이름으로, 파일의 내용을 시크릿 값으로 사용하는 파일로 나타냅니다.
이 디렉터리의 파일 이름은 영역 이름 및 밑줄이 붙은 시크릿 이름으로 지정해야 합니다. 보안 이름 또는 파일 이름의 영역 이름 내에서 밑줄을 두 배로 늘립니다. 예를 들어 sso_realm
이라는 영역에 있는 필드의 경우 secret-name
이라는 보안에 대한 참조는 ${vault.secret-name}
로 작성되고, 조회된 파일 이름은 sso__realm_secret-name
입니다. 영역 이름에 밑줄을 두 배로 늘립니다.
이러한 유형의 시크릿 저장소를 사용하려면 standalone.xml 파일에서 files-plaintext
자격 증명 모음 공급자를 선언하고 마운트된 볼륨이 포함된 디렉터리에 대한 매개 변수를 설정해야 합니다. 이 예에서는 자격 증명 모음 파일이 Red Hat Single Sign-On 기본 디렉터리를 기준으로 standalone/configuration/vault
로 설정된 디렉터리가 있는 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/" /> </properties> </provider> </spi>
다음은 CLI 명령을 사용하는 것과 동등한 구성입니다.
/subsystem=keycloak-server/spi=vault/:add /subsystem=keycloak-server/spi=vault/provider=files-plaintext/:add(enabled=true,properties={dir => "${jboss.home.dir}/standalone/configuration/vault"}) /subsystem=keycloak-server/spi=vault:write-attribute(name=default-provider,value=files-plaintext)