Kafka용 Openflow 커넥터: mTLS 인증 구성
Kafka용 Openflow 커넥터: mTLS 인증 구성
mTLS(상호 전송 계층 보안) 인증은 서버와 클라이언트 양쪽이 상호 인증을 위해 인증서를 제시하도록 요구해요.
출처: Snowflake 문서
본문
참고: 이 커넥터는 Snowflake Connector Terms가 적용돼요.
mTLS(상호 Transport Layer Security) 인증은 상호 인증을 위해 클라이언트와 서버 모두 인증서를 제시하도록 요구해요.
전제 조건(Prerequisites)
mTLS 인증을 구성하기 전에 다음을 준비했는지 확인해요:
- 커넥터와 Kafka 브로커 둘 다에 필요한 인증서를 생성하고 구성했는지
- 커넥터의 개인 키와 인증서를 포함하는 키스토어(keystore)를 만들었는지
- (선택) Kafka 브로커 인증서 또는 인증 체인의 인증서를 포함하는 트러스트스토어(truststore)를 만들었는지 — 이 단계는 브로커 인증서가 신뢰할 수 있는 인증 기관(CA)의 서명이 아닌 경우에만 필요해요.
- 지원되는 키스토어/트러스트스토어 형식은 PKCS12, JKS, BCFKS예요.
1단계: SSL Context Service 구성하기
Openflow NiFi 캔버스에서 Controller Services 구성에 접근해요:
- 커넥터의 처리 그룹을 두 번 클릭해요.
- 캔버스를 마우스 오른쪽 버튼으로 클릭하고 Controller Services를 선택해요.
새 StandardSSLContextService를 추가해요:
- + 를 선택해 새 컨트롤러 서비스를 추가해요.
- 목록에서 StandardSSLContextService를 선택해요.
- Add를 선택해요.
SSL Context Service 속성을 구성해요:
| 속성 | 값 |
|---|---|
| Keystore Filename | 키스토어 파일의 전체 경로(예: /path/to/client-keystore.p12), 또는 Asset 참조 |
| Keystore Password | 키스토어의 비밀번호 |
| Keystore Type | 키스토어 형식(PKCS12, JKS, 또는 BCFKS) |
| Key Password | 개인 키의 비밀번호(키가 암호화된 경우) |
| Truststore Filename | 트러스트스토어 파일의 전체 경로(예: /path/to/client-truststore.p12), 또는 Asset 참조 |
| Truststore Password | 트러스트스토어의 비밀번호 |
| Truststore Type | 트러스트스토어 형식(PKCS12, JKS, 또는 BCFKS) |
SSL Context Service를 활성화해요:
- 서비스에 대해 Enable을 선택해요.
- 서비스 상태가 Enabled로 표시되는지 확인해요.
PEM 인코딩 SSL 컨텍스트 구성하기
인증서와 키가 JKS 또는 PKCS12 키스토어가 아니라 PEM 형식(.pem, .crt, .key)이라면, StandardSSLContextService 대신 PEMEncodedSSLContextProvider 컨트롤러 서비스를 사용해요.
- Controller Services 탭에서 + 를 선택해 새 컨트롤러 서비스를 추가해요.
- 목록에서 PEMEncodedSSLContextProvider를 선택해요.
- Add를 선택해요.
- 서비스 속성을 구성해요:
| 속성 | 값 |
|---|---|
| Certificate | PEM 인코딩 인증서 파일(.pem, .crt)의 경로, 또는 Asset 참조(Ops parameters and assets 참고) |
| Private Key | PEM 인코딩 개인 키 파일(.key)의 경로, 또는 Asset 참조 |
| CA Certificate | CA 인증서 파일의 경로, 또는 Asset 참조. 브로커 인증서가 신뢰할 수 있는 CA의 서명이 아닌 경우에만 필요 |
- 서비스를 Enable해요.
- 2단계에서 SSL Context Service를
StandardSSLContextService대신 이PEMEncodedSSLContextProvider로 설정해요.
2단계: Kafka3Connection Service 구성하기
- 같은 Controller Services 탭에서 Kafka3Connection service를 찾아요.
- 다음 속성을 구성해요:
| 속성 | 값 |
|---|---|
| Security Protocol | SSL |
| SSL Context Service | 1단계: SSL Context Service 구성하기에서 만든 SSL Context Service를 선택해요 |
- 다른 모든 Kafka3Connection service 설정은 그대로 유지해요.
- Kafka3Connection 서비스를 검증해요:
- 서비스에 대해 Verify를 선택해요.
- 서비스 상태가 Verified로 표시되는지 확인해요.