Secrets

Secrets (시크릿)

Trino 구성 속성 파일에 민감한 값을 직접 넣지 않고 환경 변수를 통해 관리할 때 쓰는 기능이에요. 비밀번호 같은 값을 파일에 저장하지 않고 안전하게 다룰 수 있어요.

출처: 문서

본문

Trino는 구성 세부 사항을 정적 속성 파일에서 관리해요. 이 구성에는 사용자 이름, 비밀번호, 기타 문자열 같은 값들이 포함되며, 종종 비밀로 유지해야 하는 값들이 많아요. 실제 값에 접근할 수 있는 사람은 소수의 선별된 관리자나 프로비저닝 시스템뿐이에요.

Trino의 시크릿 지원을 통해 모든 구성 속성의 값으로 환경 변수를 사용할 수 있어요. Trino가 사용하는 모든 속성 파일(config.properties와 카탈로그 속성 파일 포함)이 지원돼요. 속성을 로드할 때 Trino는 환경 변수에 대한 참조를 환경 변수의 값으로 대체해요.

환경 변수는 값을 설정하고 검색하는 가장 널리 지원되는 수단이에요. 환경 변수는 수행 중인 작업의 범위에서 설정할 수 있어 외부 접근을 막을 수 있어요. 대부분의 프로비저닝·구성 관리 시스템은 환경 변수 설정을 지원해요. 가상 머신에서 자주 쓰이는 Ansible, 컨테이너 사용을 위한 Kubernetes 같은 시스템이 여기에 포함돼요. 명령줄에서 환경 변수를 수동으로 설정할 수도 있어요.

export DB_PASSWORD=my-super-secret-pwd

속성 파일에서 이 변수를 사용하려면 ${ENV:VARIABLE} 구문으로 참조해요. 예를 들어 etc/catalog/db.properties 같은 카탈로그 속성 파일에서 비밀번호를 사용하고 싶다면 다음 줄을 추가하세요:

connection-password=${ENV:DB_PASSWORD}

이렇게 구성해 두면 시크릿은 프로비저닝 시스템이나 머신을 관리하는 관리자에 의해 관리돼요. 파일 시스템이나 어디에서 관리되든 Trino 구성 파일에는 어떤 시크릿도 저장되지 않아요.

더 알아보기 (Learn more)

시크릿 관리는 클러스터 외부로의 통신(카탈로그)과 내부 통신 모두에서 민감한 값을 보호하는 데 활용돼요. Security overview에서 보안 구성의 전체 그림을 함께 살펴보세요.