4.3.2. 保护用户对 Kafka 的访问
使用 KafkaUser
资源的属性来配置 Kafka 用户。
您可以使用 oc apply
创建或修改用户,使用 oc delete
删除现有用户。
例如:
-
oc apply -f USER-CONFIG-FILE
-
oc delete KafkaUser USER-NAME
当您配置 KafkaUser
身份验证和授权机制时,请确保它们与等同的 Kafka
配置匹配:
-
KafkaUser.spec.authentication
matchesKafka.spec.kafka.listeners[*].authentication
-
KafkaUser.spec.authorization
与Kafka.spec.kafka.authorization
匹配
此流程演示了如何使用 TLS 身份验证创建用户。您还可以创建具有 SCRAM-SHA 身份验证的用户。
所需的身份验证取决于为 Kafka 代理监听程序配置的身份验证类型。
Kafka 用户和 Kafka 代理之间的身份验证取决于每个用户的身份验证设置。例如,如果 Kafka 配置中没有启用 TLS 的用户,则无法验证它。
先决条件
- 正在运行的 Kafka 集群使用 Kafka 代理监听程序配置使用 TLS 身份验证和加密。
- 一个正在运行的 User Operator( 通常使用 Entity Operator 部署)。
KafkaUser
中的身份验证类型应与 Kafka
代理中配置的身份验证匹配。
流程
配置
KafkaUser
资源。例如:
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaUser metadata: name: my-user labels: strimzi.io/cluster: my-cluster spec: authentication: 1 type: tls authorization: type: simple 2 acls: - resource: type: topic name: my-topic patternType: literal operation: Read - resource: type: topic name: my-topic patternType: literal operation: Describe - resource: type: group name: my-group patternType: literal operation: Read
创建或更新
KafkaUser
资源。oc apply -f USER-CONFIG-FILE
已创建用户,以及名称与
KafkaUser
资源相同的 Secret。Secret 包含用于 TLS 客户端身份验证的私钥和公钥。
有关使用安全连接到 Kafka 代理的属性配置 Kafka 客户端的详情,请参考在 OpenShift 指南中为 OpenShift 之外的客户端设置访问权限。