Kafka용 Openflow 커넥터: mTLS 인증 구성

Kafka용 Openflow 커넥터: mTLS 인증 구성

mTLS(상호 전송 계층 보안) 인증은 서버와 클라이언트 양쪽이 상호 인증을 위해 인증서를 제시하도록 요구해요.

출처: Snowflake 문서

본문

참고: 이 커넥터는 Snowflake Connector Terms가 적용돼요.

mTLS(상호 Transport Layer Security) 인증은 상호 인증을 위해 클라이언트와 서버 모두 인증서를 제시하도록 요구해요.

전제 조건(Prerequisites)

mTLS 인증을 구성하기 전에 다음을 준비했는지 확인해요:

  1. 커넥터와 Kafka 브로커 둘 다에 필요한 인증서를 생성하고 구성했는지
  2. 커넥터의 개인 키와 인증서를 포함하는 키스토어(keystore)를 만들었는지
  3. (선택) Kafka 브로커 인증서 또는 인증 체인의 인증서를 포함하는 트러스트스토어(truststore)를 만들었는지 — 이 단계는 브로커 인증서가 신뢰할 수 있는 인증 기관(CA)의 서명이 아닌 경우에만 필요해요.
  4. 지원되는 키스토어/트러스트스토어 형식은 PKCS12, JKS, BCFKS예요.

1단계: SSL Context Service 구성하기

Openflow NiFi 캔버스에서 Controller Services 구성에 접근해요:

  1. 커넥터의 처리 그룹을 두 번 클릭해요.
  2. 캔버스를 마우스 오른쪽 버튼으로 클릭하고 Controller Services를 선택해요.

새 StandardSSLContextService를 추가해요:

  1. + 를 선택해 새 컨트롤러 서비스를 추가해요.
  2. 목록에서 StandardSSLContextService를 선택해요.
  3. 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를 활성화해요:

  1. 서비스에 대해 Enable을 선택해요.
  2. 서비스 상태가 Enabled로 표시되는지 확인해요.

PEM 인코딩 SSL 컨텍스트 구성하기

인증서와 키가 JKS 또는 PKCS12 키스토어가 아니라 PEM 형식(.pem, .crt, .key)이라면, StandardSSLContextService 대신 PEMEncodedSSLContextProvider 컨트롤러 서비스를 사용해요.

  1. Controller Services 탭에서 + 를 선택해 새 컨트롤러 서비스를 추가해요.
  2. 목록에서 PEMEncodedSSLContextProvider를 선택해요.
  3. Add를 선택해요.
  4. 서비스 속성을 구성해요:
속성 값
Certificate PEM 인코딩 인증서 파일(.pem, .crt)의 경로, 또는 Asset 참조(Ops parameters and assets 참고)
Private Key PEM 인코딩 개인 키 파일(.key)의 경로, 또는 Asset 참조
CA Certificate CA 인증서 파일의 경로, 또는 Asset 참조. 브로커 인증서가 신뢰할 수 있는 CA의 서명이 아닌 경우에만 필요
  1. 서비스를 Enable해요.
  2. 2단계에서 SSL Context Service를 StandardSSLContextService 대신 이 PEMEncodedSSLContextProvider로 설정해요.

2단계: Kafka3Connection Service 구성하기

  1. 같은 Controller Services 탭에서 Kafka3Connection service를 찾아요.
  2. 다음 속성을 구성해요:
속성 값
Security Protocol SSL
SSL Context Service 1단계: SSL Context Service 구성하기에서 만든 SSL Context Service를 선택해요
  1. 다른 모든 Kafka3Connection service 설정은 그대로 유지해요.
  2. Kafka3Connection 서비스를 검증해요:
    • 서비스에 대해 Verify를 선택해요.
    • 서비스 상태가 Verified로 표시되는지 확인해요.

더 알아보기 (Learn more)