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를 추가할 수 있어요:

  1. 기존 HTTP 리스너 옆에 보조 HTTPS 리스너 추가
  2. 컴포넌트 간 이그레스(egress)가 HTTPS를 선호하도록 전환
  3. HTTP 리스너 비활성화

양방향 TLS (mTLS) (Two-way TLS)

양방향 TLS(상호 TLS, mTLS)는 클라이언트 인증서 검증을 추가해 신뢰된 컴포넌트와 클라이언트만 연결할 수 있게 보장해요. 자세한 구성은 Security Hardening Guide의 mTLS 섹션을 참고하세요.

더 알아보기 (Learn more)