패스워드 프로바이더(Password providers)

패스워드 프로바이더(Password providers)

패스워드는 메타데이터 저장소(metadata store), 서버 인증서가 담긴 키스토어(keystore) 등 Apache Druid 시스템을 보호하는 데 쓰여요. 이 문서에서는 런타임 속성에 패스워드를 설정하는 방법(평문, 환경 변수, 커스텀 구현)을 알려드릴게요.

출처: 문서

본문

패스워드는 메타데이터 저장소와 서버 인증서가 담긴 키스토어 등 Apache Druid 시스템을 보호하는 데 도움을 줘요. 이 패스워드들에는 대응하는 런타임 속성이 있는데, 예를 들어 druid.metadata.storage.connector.password는 메타데이터 저장소 패스워드에 해당합니다.

기본적으로 사용자는 런타임 속성에 패스워드를 평문으로 직접 설정할 수 있어요. 예를 들어 druid.metadata.storage.connector.password=pwd는 Druid가 메타데이터 저장소에 연결할 때 사용할 패스워드를 pwd로 설정해요. 또는 패스워드를 환경 변수로 설정할 수도 있어요.

환경 변수 패스워드는 사용자가 runtime.properties 파일에 패스워드를 노출하지 않게 해줍니다. 환경 변수 패스워드는 다음 예시처럼 설정할 수 있어요:

druid.metadata.storage.connector.password={ "type": "environment", "variable": "METADATA_STORAGE_PASSWORD" }

값은 아래에서 설명할게요.

Field Type Description Required
type String 패스워드 프로바이더 타입 Yes: environment
variable String 패스워드를 읽어올 환경 변수 Yes

훨씬 더 세밀한 제어를 제공하는 또 다른 옵션은, Druid 프로세스 시작 시 등록되는 PasswordProvider 인터페이스의 커스텀 확장을 사용해 런타임에 패스워드를 안전하게 가져오는 방식이에요. 자세한 내용은 Adding a new Password Provider implementation 문서를 참고하세요. 이 구현을 사용하려면, 환경 변수 패스워드에서 보여준 것과 비슷하게 관련 패스워드 런타임 속성을 설정하면 됩니다:

druid.metadata.storage.connector.password={ "type": "<registered_password_provider_name>", "<jackson_property>": "<value>", ... }