【发布时间】:2022-01-21 08:13:17
【问题描述】:
我们目前正在 AWS MSK 上运行不安全的 Kafka 设置(因此我无法直接访问大多数配置文件,需要使用 kafka-cli)并且正在寻找增加保护的方法。设置 TLS 和 SASL 很容易,但由于我们的 Kafka 集群位于 VPN 之后并且已经限制访问并不会增加安全性。
我们希望从最重要且在我们看来能快速获胜的安全添加开始。保护主题不被所有用户删除(和创建)。
我们目前将allow.everyone.if.no.acl.found 设置为true。
我在 Google 或 Stack Overflow 上找到的所有内容都向我展示了如何限制用户阅读/写入他们无法访问的其他主题。虽然理想情况下,这不是我们想要实现的第一步。
我发现了有关 root 用户的信息(虽然是管理员用户,但在我阅读的所有教程中都称为 root)。虽然我发现的示例没有显示向该根用户添加 ACL 以使其成为唯一可访问的示例,即主题删除/创建。
你能解释一下如何创建一个用户,并阻止所有其他用户吗?
顺便说一句,我们也不使用 zookeeper,尽管 MSK 集群默认广告。并希望我们可以在不主动将 zookeeper 添加到我们的堆栈中的情况下做到这一点。 here 给出的答案几乎不依赖于动物园管理员。此外,this answer 仅指向主题读/写示例,即使问题与我所问的相同
【问题讨论】:
-
为什么不能使用 IAM 角色?您可以允许读取用户特定的集群和主题。
-
这是一个有效的问题,我不能使用 IAM 角色,因为 Ruby 库依赖于 librdkafka,他们don't want to add support 是我们需要的 AWS_MSK_IAM 机制。 IAM 本来是我的首选方式,尽管没有这种额外的复杂性。
标签: apache-kafka acl aws-msk kafka-topic