【问题标题】:Restrict Topic creation/alteration限制主题创建/更改
【发布时间】:2017-07-06 19:21:49
【问题描述】:

我有一个 3 节点不安全 kafka(v0.10.2.1) 集群,在 server.properties 中禁用了主题自动创建和删除功能

auto.create.topics.enable=false
delete.topic.enable=true

然后使用bin/kafka-topics.sh 在集群上创建/更改主题。但是,看起来任何人都可以在知道端点后在集群上创建主题。

有没有办法将主题创建/更改锁定到特定主机以防止滥用?


编辑 1
由于建议使用 ACL,因此我尝试将主题创建限制为使用 kafka-acls.sh 选择主机。

将以下内容添加到server.properties 后,我重新启动了代理。

authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer                                           
allow.everyone.if.no.acl.found=true

我尝试了以下限制本地主机上的主题创建。

 bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:* --cluster --operation Create --allow-host 127.0.0.1

但是,我仍然能够使用 kafka-topics.sh 和正确的端点从其他主机创建主题。是不是没有认证就不能使用ACL?


【问题讨论】:

  • 你掌握了窍门吗?尽管有 ACL,kafka 似乎允许您创建主题,但随后限制管理它

标签: apache-kafka


【解决方案1】:

您需要使用访问控制列表 (ACL) 来限制此类操作,这意味着知道调用者是谁,因此您首先需要通过身份验证机制来保护 kafka。

ACL:http://kafka.apache.org/documentation.html#security_authz

可以使用 SSL 或 SASL 或通过插入自定义提供程序来完成身份验证,请参阅同一文档的前面部分。

禁用自动创建不是访问控制机制,它仅意味着尝试生产或消费主题不会自动创建它。

【讨论】:

  • 根据您的建议更新问题 Michal
猜你喜欢
  • 2022-01-21
  • 2019-08-05
  • 2021-03-08
  • 2019-01-24
  • 1970-01-01
  • 2020-05-12
  • 1970-01-01
  • 2015-03-19
相关资源
最近更新 更多