16.2. Kafka에 대한 승인된 액세스 구성
Kafka 리소스에서 Kafka.spec.kafka.authorization 속성을 사용하여 Kafka 클러스터에 대한 인증된 액세스를 구성합니다. 권한 부여 속성이 없으면 권한 부여가 활성화되지 않으며 클라이언트에 제한이 없습니다. 활성화하면 활성화된 모든 리스너에 권한 부여가 적용됩니다. 권한 부여 방법은 type 필드에 정의됩니다.
지원되는 권한 부여 옵션:
- 간단한 권한 부여
- OAuth 2.0 인증 ( OAuth 2.0 토큰 기반 인증을 사용하는 경우)
- OCI(Open Policy Agent) 권한 부여
- 사용자 정의 권한 부여
그림 16.2. Kafka 클러스터 권한 부여 옵션
16.2.1. 슈퍼유저 지정 링크 복사링크가 클립보드에 복사되었습니다!
슈퍼 사용자는 액세스 제한에 관계없이 Kafka 클러스터의 모든 리소스에 액세스할 수 있으며 모든 권한 부여 메커니즘에서 지원됩니다.
Kafka 클러스터의 슈퍼 사용자를 지정하려면 Kafka 리소스의 superUsers 속성에 사용자 주체 목록을 추가합니다. 사용자가 mTLS 인증을 사용하는 경우 사용자 이름은 CN= 접두사가 붙은 TLS 인증서 제목의 일반 이름입니다. User Operator를 사용하지 않고 mTLS에 자체 인증서를 사용하지 않는 경우 사용자 이름은 전체 인증서 제목입니다.
전체 인증서 주체는 다음 필드를 포함할 수 있습니다.
-
CN=<common_name> -
OU=<organizational_unit> -
O=<organization> -
L=<locality> -
ST=<state> -
C=<country_code>
적용되지 않는 필드를 생략합니다.
슈퍼 유저를 사용하는 구성의 예
apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
name: my-cluster
annotations:
strimzi.io/node-pools: enabled
strimzi.io/kraft: enabled
namespace: myproject
spec:
kafka:
# ...
authorization:
type: simple
superUsers:
- CN=user-1
- user-2
- CN=user-3
- CN=user-4,OU=my-ou,O=my-org,L=my-location,ST=my-state,C=US
- CN=user-5,OU=my-ou,O=my-org,C=GB
- CN=user-6,O=my-org
# ...