TLS/SSL 구성
TLS/SSL 구성 (Configuring TLS/SSL)
Apache Pinot에서 TLS(전송 계층 보안)를 구성해 클라이언트와 클러스터 컴포넌트 사이의 통신을 암호화하는 방법을 안내해요.
출처: 문서
본문
개요 (Overview)
Pinot은 클라이언트-클러스터 연결과 클러스터 내부 연결 모두에 TLS를 지원해요. 각 컴포넌트에 키스토어(keystore)와 트러스트스토어(truststore)를 구성하면 단방향 TLS 또는 양방향(상호) TLS를 활성화할 수 있어요.
사전 요구사항 (Prerequisites)
- 각 컴포넌트용 JKS 또는 PKCS12 키스토어와 트러스트스토어가 생성되어야 해요.
- 키스토어/트러스트스토어의 경로와 비밀번호를 구성 파일에 지정할 수 있어야 해요.
컨트롤러 TLS 구성 (Controller TLS)
컨트롤러에 TLS를 활성화하려면 컨트롤러 구성 파일에 다음을 설정하세요:
pinot.controller.tls.enabled=true
pinot.controller.tls.keystore.type=PKCS12
pinot.controller.tls.keystore.path=/path/to/keystore.p12
pinot.controller.tls.keystore.password=keystore_password
pinot.controller.tls.truststore.type=PKCS12
pinot.controller.tls.truststore.path=/path/to/truststore.p12
pinot.controller.tls.truststore.password=truststore_password
브로커 TLS 구성 (Broker TLS)
브로커에 TLS를 활성화하려면 브로커 구성 파일에 다음을 설정하세요:
pinot.broker.tls.enabled=true
pinot.broker.tls.keystore.type=PKCS12
pinot.broker.tls.keystore.path=/path/to/keystore.p12
pinot.broker.tls.keystore.password=keystore_password
pinot.broker.tls.truststore.type=PKCS12
pinot.broker.tls.truststore.path=/path/to/truststore.p12
pinot.broker.tls.truststore.password=truststore_password
서버 TLS 구성 (Server TLS)
서버에 TLS를 활성화하려면 서버 구성 파일에 다음을 설정하세요:
pinot.server.tls.enabled=true
pinot.server.tls.keystore.type=PKCS12
pinot.server.tls.keystore.path=/path/to/keystore.p12
pinot.server.tls.keystore.password=keystore_password
pinot.server.tls.truststore.type=PKCS12
pinot.server.tls.truststore.path=/path/to/truststore.p12
pinot.server.tls.truststore.password=truststore_password
무중단 TLS 마이그레이션 (Zero-downtime TLS migration)
실행 중인 클러스터에 단계적으로 TLS를 추가할 수 있어요:
- 기존 HTTP 리스너 옆에 보조 HTTPS 리스너 추가
- 컴포넌트 간 이그레스(egress)가 HTTPS를 선호하도록 전환
- HTTP 리스너 비활성화
양방향 TLS (mTLS) (Two-way TLS)
양방향 TLS(상호 TLS, mTLS)는 클라이언트 인증서 검증을 추가해 신뢰된 컴포넌트와 클라이언트만 연결할 수 있게 보장해요. 자세한 구성은 Security Hardening Guide의 mTLS 섹션을 참고하세요.