15.2. 配置对 Kafka 的授权访问权限
使用 Kafka 资源中的 Kafka .spec.kafka.authorization 属性配置
对 Kafka
集群的授权访问。如果缺少 authorization
属性,则不会启用授权,并且客户端没有限制。启用后,授权将应用到所有已启用的监听程序。授权方法在 type
字段中定义。
支持的授权选项:
- 简单授权
- OAuth 2.0 授权 (如果您使用基于 OAuth 2.0 令牌的身份验证)
- 开放策略代理 (OPA) 授权
- 自定义授权
图 15.2. Kafka 集群授权选项

15.2.1. 设计超级用户
超级用户都可以访问 Kafka 集群中的所有资源,无论访问限制如何,且都由所有授权机制支持。
要为 Kafka 集群指定超级用户,请在 superUsers
属性中添加用户主体列表。如果用户使用 mTLS 身份验证,则用户名是 TLS 证书主题中的通用名称,前缀为 CN=
。如果您不使用 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 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 # ...
apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
name: my-cluster
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
# ...