1

authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer我们知道要启用要添加的Kafka ACL 属性,server.properties但是如果 Kafka 集群由 Strimzi 操作员运行,如何启用该属性?

从我了解到的 Strimzi 文档中,为了启用授权,需要kind: Kafka在规范下启用以下代码:

listeners:
      tls:
        authentication:
         type: tls 

完整代码@ kafka-zookeeper-apps-tls-enabled.yml

还有下面的代码kind: KafkaUser

authentication:
    type: tls
  authorization:
    type: simple

完整代码@ example-consumer-deny-deployment-authentication-TLS-alias-SSL.yml

在上面的example-consumer-deny-deployment-authentication-TLS-alias-SSL.yml代码中,虽然 ACLtype: deny 仍然能够使用消息。

问题是即使上面的代码我在 kafka my-cluster-kafka-0 pod 环境变量KAFKA_AUTHORIZATION_TYPE=simple中看到,即使authorizer.class.name=kafka.security.auth.SimpleAclAuthorizerserver.properties

注意:部署上述代码时, srimzi-cluster-operator pod的日志中没有警告/错误。

我正在第一次使用 Strimzi,所以请帮助我启用 ACL。

4

1 回答 1

2

您的 Kafka 自定义资源未启用您需要添加“授权”部分。

    listeners:
      tls:
        authentication:
          type: tls
      external:
        type: route
        authentication:
          type: tls
    authorization:
      type: simple
      superUsers:
        - CN=my-user

您可以在文档中阅读有关它的更多信息:https ://strimzi.io/docs/latest/full.html#assembly-kafka-authentication-and-authorization-deployment-configuration-kafka

于 2020-04-05T15:17:58.187 回答