【问题标题】:Restrict Consumers from publishing data in kafka限制消费者在 kafka 中发布数据
【发布时间】:2020-03-23 18:45:34
【问题描述】:

正如标题所示,我正在寻找一种方法来限制 Kafka 消费者将数据发布到我的 kafka 主题。例如,我们可以在数据库中拥有只读用户。

我的用例要求我从一些供应商处获取数据,丰富这些数据并将其发布到我们的 Kafka 主题。该主题的数据将被少数消费者读取。据我了解,我必须向消费者提供相同的用户名和密码(生产者使用的那个)。那么有没有办法阻止消费者在Kafka主题中发布数据。

例如:根据用户名/IP 地址进行限制。

【问题讨论】:

  • “据我所知,我必须向消费者提供相同的用户名和密码(生产者使用的那个)” - 你能解释一下这个假设吗?您是否正在使用配置了安全性的现有 Kafka 环境?
  • 我们有一个现有的 Kafka 环境,我们的生产者向我们的 Kafka 发布的用户与我们的消费者连接到我们的 Kafka 的用户是同一个用户
  • 那么如何在您当前的环境中配置安全性?因为默认情况下,您只需生产/消费到 Kafka,无需身份验证。
  • 消费者不发布...这意味着他们既是生产者又是消费者
  • @RobinMoffatt 我们已配置安全性,因此我们通过用户名和密码进行连接。消费者也使用相同的用户名和密码。我想我需要与基础架构团队交谈,以检查他们是否可以提供只读(仅订阅用户)。感谢您提出正确的问题,给了我一些方向。

标签: apache-kafka


【解决方案1】:

默认情况下,Kafka 没有这个功能。

Apache Ranger 和 Open Policy Agent 是示例系统,您可以实施比 Zookeeper 内置选项更丰富的 ACL 策略。根据我的经验,只有 Ranger 可以做 IP 白名单。

我认为默认的 Zookeeper ACL 策略除了用户名和密码访问之外不能做很多事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 2020-09-19
    相关资源
    最近更新 更多