인증서 인증기

인증서 인증기 (Certificate authenticator)

Trino는 커스텀 인증서 인증기를 통해 X509 인증서 기반의 TLS 인증을 지원해요. 이 인증기는 클라이언트 인증서에서 주체(principal)를 추출해요.

출처: 문서

본문

구현 (Implementation)

CertificateAuthenticatorFactoryCertificateAuthenticator 인스턴스를 만드는 책임을 가져요. 그리고 관리자가 Trino 설정에서 사용하는 이 인증기의 이름도 정의해요.

CertificateAuthenticator에는 authenticate() 메서드 하나가 있어요. 이 메서드는 클라이언트 인증서를 검증하고 Principal을 반환하는데, 이 주체는 이후 시스템 접근 제어에서 인가돼요.

CertificateAuthenticatorFactory의 구현은 플러그인으로 감싸서 Trino 클러스터에 설치해야 해요.

설정 (Configuration)

CertificateAuthenticatorFactory를 구현한 플러그인을 코디네이터에 설치한 뒤에는 etc/certificate-authenticator.properties 파일로 설정해요. certificate-authenticator.name을 제외한 모든 속성은 CertificateAuthenticatorFactory 구현체별로 달라요.

certificate-authenticator.name 속성은 Trino가 CertificateAuthenticatorFactory.getName()이 반환하는 이름을 기준으로 등록된 팩토리를 찾는 데 사용해요. 나머지 속성은 맵으로 묶여 CertificateAuthenticatorFactory.create()에 전달돼요.

예제 설정 파일:

certificate-authenticator.name=custom
custom-property1=custom-value1
custom-property2=custom-value2

추가로, 코디네이터가 인증서 인증을 사용하도록 설정하고 HTTPS(또는 HTTPS 포워딩)를 활성화해야 해요.

더 알아보기 (Learn more)

시스템 접근 제어와 함께 인증기들이 어떻게 협력하는지는 시스템 접근 제어 문서를 살펴보세요.