16.3.2. 사용자 인증 구성


KafkaUser 사용자 지정 리소스를 사용하여 Kafka 클러스터에 액세스해야 하는 사용자(클라이언트)에 대한 인증 자격 증명을 구성합니다. KafkaUser.spec인증 속성을 사용하여 인증 정보를 구성합니다. 유형을 지정하면 생성되는 인증 정보를 제어할 수 있습니다.

지원되는 인증 유형:

  • mTLS 인증용 TLS
  • 외부 인증서를 사용한 mTLS 인증에 대한 TLS- external
  • SCRAM-SHA-512 인증을 위한 SCRAM-sha -512

tls 또는 scram-sha-512 가 지정된 경우 User Operator는 사용자를 생성할 때 인증 인증 정보를 생성합니다. tls-external 가 지정된 경우에도 사용자는 mTLS를 계속 사용하지만 인증 인증 정보는 생성되지 않습니다. 자체 인증서를 제공할 때 이 옵션을 사용합니다. 인증 유형을 지정하지 않으면 User Operator에서 사용자 또는 인증 정보를 생성하지 않습니다.

tls-external 를 사용하여 User Operator 외부에서 발행된 인증서를 사용하여 mTLS로 인증할 수 있습니다. User Operator는 TLS 인증서 또는 보안을 생성하지 않습니다. tls 메커니즘을 사용하는 경우와 동일한 방식으로 User Operator를 통해 ACL 규칙 및 할당량을 계속 관리할 수 있습니다. 즉, ACL 규칙 및 할당량을 지정할 때 CN=USER-NAME 형식을 사용합니다. USER-NAME 은 TLS 인증서에 지정된 일반적인 이름입니다.

16.3.2.1. mTLS 인증

mTLS 인증을 사용하려면 KafkaUser 리소스의 type 필드를 tls 로 설정합니다.

mTLS 인증이 활성화된 사용자 예

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaUser
metadata:
  name: my-user
  labels:
    strimzi.io/cluster: my-cluster
spec:
  authentication:
    type: tls
  # ...

인증 유형은 Kafka 클러스터에 액세스하는 데 사용되는 Kafka 리스너의 동등한 구성과 일치해야 합니다.

User Operator에 의해 사용자를 생성하면 KafkaUser 리소스와 동일한 이름으로 새 시크릿을 생성합니다. 보안에는 mTLS의 개인 및 공개 키가 포함됩니다. 공개 키는 사용자 인증서에 포함되어 있으며 클라이언트 CA(인증 기관)가 이를 생성할 때 서명합니다. 모든 키는 X.509 형식으로 되어 있습니다.

참고

Cluster Operator에서 생성한 클라이언트 CA를 사용하는 경우 Cluster Operator에 의해 클라이언트 CA를 갱신할 때 User Operator에서 생성한 사용자 인증서도 갱신됩니다.

사용자 시크릿 은 PEM 및 PKCS #12 형식의 키와 인증서를 제공합니다.

사용자 인증 정보가 있는 시크릿 예

apiVersion: v1
kind: Secret
metadata:
  name: my-user
  labels:
    strimzi.io/kind: KafkaUser
    strimzi.io/cluster: my-cluster
type: Opaque
data:
  ca.crt: <public_key> # Public key of the clients CA used to sign this user certificate
  user.crt: <user_certificate> # Public key of the user
  user.key: <user_private_key> # Private key of the user
  user.p12: <store> # PKCS #12 store for user certificates and keys
  user.password: <password_for_store> # Protects the PKCS #12 store

클라이언트를 구성할 때 다음을 지정합니다.

  • Kafka 클러스터의 ID를 확인하기 위한 공용 클러스터 CA 인증서의 truststore 속성
  • 클라이언트를 확인하기 위한 사용자 인증 자격 증명의 키 저장소 속성

구성은 파일 형식(PEM 또는 PKCS #12)에 따라 다릅니다. 이 예에서는 PKCS #12 저장소와 저장소의 자격 증명에 액세스하는 데 필요한 암호를 사용합니다.

PKCS #12 형식의 mTLS를 사용하는 클라이언트 구성 예

bootstrap.servers=<kafka_cluster_name>-kafka-bootstrap:9093 
1

security.protocol=SSL 
2

ssl.truststore.location=/tmp/ca.p12 
3

ssl.truststore.password=<truststore_password> 
4

ssl.keystore.location=/tmp/user.p12 
5

ssl.keystore.password=<keystore_password> 
6

1
Kafka 클러스터에 연결할 부트스트랩 서버 주소입니다.
2
암호화에 TLS를 사용할 때 보안 프로토콜 옵션입니다.
3
truststore 위치에는 Kafka 클러스터의 공개 키 인증서(ca.p12)가 포함되어 있습니다. 클러스터 CA 인증서 및 암호는 Kafka 클러스터가 생성될 때 < cluster_name>-cluster-ca-cert 시크릿의 Cluster Operator에 의해 생성됩니다.
4
신뢰 저장소에 액세스하기 위한 암호(ca.password)입니다.
5
키 저장소 위치에는 Kafka 사용자의 공개 키 인증서(user.p12)가 포함되어 있습니다.
6
키 저장소에 액세스하기 위한 암호(user.password)입니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동