【问题标题】:Kafka SASL configuration: Is it possible to enable it for only clientsKafka SASL 配置:是否可以仅为客户端启用它
【发布时间】:2019-06-23 11:04:05
【问题描述】:

我想要做的是只为 client to broker 通信而不是

启用 SASL 身份验证
  • 经纪人对经纪人
  • Zookeeper 的经纪人

有可能吗?如果是,我该如何实现。

我也关注了各种链接和官方 kafka 文档,但没有运气清楚地了解它。

任何帮助将不胜感激!

【问题讨论】:

    标签: authentication apache-kafka apache-zookeeper sasl


    【解决方案1】:

    是的,这是可能的。

    这需要几个步骤,恐怕我不能比 Kafka 官方文档更清楚地了解 configuring SASL。我建议您再看一遍,如果有部分您不确定,请明确询问。

    无论如何,我会给你一些关于 SASL PLAIN 的建议(可能是最容易设置的)

    • 在经纪人方面,关注these docs

      • 创建一个带有 KafkaServer 部分的 JAAS 文件:

        KafkaServer {
            org.apache.kafka.common.security.plain.PlainLoginModule required
            username="admin"
            password="admin-secret"
            user_admin="admin-secret"
            user_alice="alice-secret";
        };
        
      • 设置 JVM 属性 java.security.auth.login.config 以便获取 JAAS 文件

      • 更新 server.properties 以包含 SASL 设置。例如:

        security.protocol=SASL_PLAINTEXT
        sasl.mechanism=PLAIN
        

        我建议开始时不使用 SSL,但请记住,如果您最终使用 SASL PLAIN,则必须启用 SSL,否则包括身份验证在内的所有流量都将以明文形式显示!

    • 在客户端,关注these docs

      • 更新您的客户端属性以包括:

        sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
          username="alice" password="alice-secret";
        security.protocol=SASL_SSL
        sasl.mechanism=PLAIN
        

    显然,在生产环境中,您不应依赖代理的 JAAS 文件中的硬编码用户。 Kafka docs 解释了如何正确地提供用户标识。

    【讨论】:

    • 感谢您的指点,我确实按照文档中的这些步骤进行操作,我唯一没有指定的问题是 - 我有两个听众 -:SASL_PlAINTEXT://localhost:9092,PLAINTEXT://localhost :9093,我想要的是 SASL_PLAINTEXT 应该只用于客户代理,其他人不应该使用 SASL,我确实指定了 - server.properties 中的 inter.broker.listener.name=PLAINTEXT,但它仍然给我一个错误- 在 jaas 文件中找不到 KafkaSever 配置
    • 您似乎没有正确指定java.security.auth.login.config。您能否确保它已正确设置并指向 JAAS 文件?
    • 是的,我确实再次检查了它,它指向正确的文件。
    • 我相信这个答案是错误的,因为即使您的KafkaServer 配置也是用于设置代理间SASL 通信(还要注意管理员用户,这仅适用于代理间 SASL), OP 想将 SASL 用于代理间,仅用于客户端代理
    猜你喜欢
    • 2017-12-15
    • 2018-04-05
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多