10.7. Kafka 리스너 인증서
TLS 암호화가 활성화된 모든 리스너에 대한 자체 서버 인증서 및 개인 키를 제공할 수 있습니다. 이러한 사용자 제공 인증서를 Kafka 리스너 인증서 라고 합니다.
Kafka 리스너 인증서를 제공하면 조직의 개인 CA 또는 공용 CA와 같은 기존 보안 인프라를 활용할 수 있습니다. Kafka 클라이언트는 리스너 인증서에 서명하는 데 사용된 CA를 신뢰해야 합니다.
필요한 경우 Kafka 리스너 인증서를 수동으로 갱신해야 합니다.
10.7.1. 자체 Kafka 리스너 인증서 제공 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 Kafka 리스너 인증서라는 고유한 개인 키와 서버 인증서를 사용하도록 리스너 를 구성하는 방법을 보여줍니다.
클라이언트 애플리케이션은 Kafka 브로커의 ID를 확인하기 위해 CA 공개 키를 신뢰할 수 있는 인증서로 사용해야 합니다.
사전 요구 사항
- OpenShift 클러스터입니다.
- Cluster Operator가 실행 중입니다.
각 리스너에 대해 외부 CA에서 서명한 호환 서버 인증서입니다.
- PEM 형식으로 X.509 인증서를 제공합니다.
- 각 리스너에 대해 올바른 주체 대체 이름(SAN)을 지정합니다. 자세한 내용은 10.7.2절. “Kafka 리스너에 대한 서버 인증서의 대체 대상”의 내용을 참조하십시오.
- 인증서 파일에 전체 CA 체인을 포함하는 인증서를 제공할 수 있습니다.
절차
개인 키와 서버 인증서가 포함된 보안을 생성합니다.
oc create secret generic my-secret --from-file=my-listener-key.key --from-file=my-listener-certificate.crt
oc create secret generic my-secret --from-file=my-listener-key.key --from-file=my-listener-certificate.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의
Kafka리소스를 편집합니다.configuration.brokerCertAndKey속성에서Secret, 인증서 파일 및 개인 키 파일을 사용하도록 리스너를 구성합니다.TLS 암호화가 활성화된
로드 밸런서외부 리스너 구성 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow TLS 리스너 구성 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 구성을 적용하여 리소스를 생성하거나 업데이트합니다.
oc apply -f kafka.yaml
oc apply -f kafka.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster Operator는 Kafka 클러스터의 롤링 업데이트를 시작하여 리스너 구성을 업데이트합니다.
참고TLS 또는 외부 리스너에서 이미 사용하고 있는
Secret에서 Kafka 리스너 인증서를 업데이트하는 경우에도 롤링 업데이트가 시작됩니다.
10.7.2. Kafka 리스너에 대한 서버 인증서의 대체 대상 링크 복사링크가 클립보드에 복사되었습니다!
자체 Kafka 리스너 인증서와 함께 TLS 호스트 이름 확인을 사용하려면 각 리스너 에 올바른 주체 대체 이름(SAN)을 사용해야 합니다. 인증서 SAN은 다음의 호스트 이름을 지정해야 합니다.
- 클러스터의 모든 Kafka 브로커
- Kafka 클러스터 부트스트랩 서비스
CA에서 지원하는 와일드카드 인증서를 사용할 수 있습니다.
10.7.2.1. TLS 리스너 SAN 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제를 사용하면 TLS 리스너에 대한 인증서에 SAN의 호스트 이름을 지정하는 데 도움이 됩니다.
와일드카드 예
와일드카드가 아닌 예
10.7.2.2. 외부 리스너 SAN 예 링크 복사링크가 클립보드에 복사되었습니다!
TLS 암호화가 활성화된 외부 리스너의 경우 인증서에 지정해야 하는 호스트 이름은 외부 리스너 유형에 따라 다릅니다.
| 외부 리스너 유형 | SAN에서…을 지정합니다. |
|---|---|
|
|
모든 Kafka 브로커 일치하는 와일드카드 이름을 사용할 수 있습니다. |
|
|
모든 Kafka 브로커 일치하는 와일드카드 이름을 사용할 수 있습니다. |
|
| Kafka 브로커 Pod를 예약할 수 있는 모든 OpenShift 작업자 노드의 주소입니다. 일치하는 와일드카드 이름을 사용할 수 있습니다. |