Strimzi 操作员 Kafka 集群 ACL 未启用类型:简单

Posted

技术标签:

【中文标题】Strimzi 操作员 Kafka 集群 ACL 未启用类型:简单【英文标题】:Strimzi operator Kafka cluster ACL not enabling with type: simple 【发布时间】:2020-07-17 05:54:47 【问题描述】:

我们知道要启用 Kafka ACL 属性 authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer 以添加到 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 代码虽然ACL type: deny 我仍然能够消费消息。

问题甚至是我在 kafka 中看到的上述代码 my-cluster-kafka-0 pod 环境变量 KAFKA_AUTHORIZATION_TYPE=simple 即使没有 authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer 也没有在server.properties

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

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

【问题讨论】:

【参考方案1】:

您的 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

【讨论】:

我不知道如何感谢你,我在过去 3 天里脑子里想着提到 type:simple for kind:KafkaUser 就够了!!!我厌倦了 srimzi 官方文档,感觉很困惑,我被这个文档困住了:strimzi.io/docs/master/… 如果文档中给出的好例子可以帮助我修复自己。先生,我向您鞠躬。

以上是关于Strimzi 操作员 Kafka 集群 ACL 未启用类型:简单的主要内容,如果未能解决你的问题,请参考以下文章

Strimzi Kafka 与 Azure 存储类兼容?

构建Strimzi Kafka的ARM64镜像

Strimzi kafka 出口商 kafka_consumergroup_members 指标

Kafka Connect 加载插件失败

Strimzi Kafka外部侦听器VM上的入口错误[关闭]

实战Kafka ACL机制