6장. Kafka에 대한 액세스 보안
클라이언트가 Kafka 브로커에 대한 액세스를 관리하여 Kafka 클러스터를 보호합니다. Kafka 브로커 및 클라이언트를 보호하기 위한 구성 옵션 지정
Kafka 브로커와 클라이언트 간의 보안 연결은 다음을 포함할 수 있습니다.
- 데이터 교환을 위한 암호화
- ID를 증명하기 위한 인증
- 사용자가 실행하는 작업을 허용하거나 거부할 수 있는 권한 부여
클라이언트에 지정된 인증 및 권한 부여 메커니즘은 Kafka 브로커에 지정된 인증 및 권한 부여 메커니즘과 일치해야 합니다.
6.1. 리스너 구성
Kafka 브로커의 암호화 및 인증은 리스너별로 구성됩니다. Kafka 리스너 구성에 대한 자세한 내용은 5.3.1절. “리스너” 을 참조하십시오.
Kafka 브로커의 각 리스너는 자체 보안 프로토콜로 구성됩니다. 구성 속성 listener.security.protocol.map
은 보안 프로토콜을 사용하는 리스너를 정의합니다. 각 리스너 이름을 보안 프로토콜에 매핑합니다. 지원되는 보안 프로토콜은 다음과 같습니다.
일반 텍스트
- 암호화 또는 인증이 없는 리스너입니다.
SSL
- TLS 암호화를 사용하는 리스너 및 필요한 경우 TLS 클라이언트 인증서를 사용한 인증입니다.
SASL_PLAINTEXT
- 암호화가 없지만 SASL 기반 인증을 사용하는 리스너입니다.
SASL_SSL
- TLS 기반 암호화 및 SASL 기반 인증을 사용하는 리스너입니다.
다음 리스너 구성이
제공됩니다.
listeners=INT1://:9092,INT2://:9093,REPLICATION://:9094
listeners=INT1://:9092,INT2://:9093,REPLICATION://:9094
listener.security.protocol.map
은 다음과 같을 수 있습니다.
listener.security.protocol.map=INT1:SASL_PLAINTEXT,INT2:SASL_SSL,REPLICATION:SSL
listener.security.protocol.map=INT1:SASL_PLAINTEXT,INT2:SASL_SSL,REPLICATION:SSL
이렇게 하면 SASL 인증과 함께 암호화되지 않은 연결을 사용하고, 리스너 INT2
가 SASL 인증과 함께 암호화된 연결을 사용하고 REPLICATION
인터페이스를 사용하여 TLS 암호화(TLS 클라이언트 인증과 함께)를 사용하도록 리스너 INT1
을 구성합니다. 동일한 보안 프로토콜을 여러 번 사용할 수 있습니다. 다음 예도 유효한 구성입니다.
listener.security.protocol.map=INT1:SSL,INT2:SSL,REPLICATION:SSL
listener.security.protocol.map=INT1:SSL,INT2:SSL,REPLICATION:SSL
이러한 구성은 모든 인터페이스에 TLS 암호화 및 TLS 인증(선택 사항)을 사용합니다.