Kafka ACLs权限设置问题

石头剪子布 发表于: 2016-08-31   最后更新时间: 2016-09-01 09:47:03   8,215 游览

我的操作步骤如下(没有设置SSL和SASL):

1、每个broker的server.properties文件增加
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer

2、给集群增加权限

kafka_2.11-0.9.0.1/bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --operation All --allow-principal User:* --allow-host 192.168.70.101 --allow-host 192.168.70.102 --add --cluster

3、重启集群
kafka-server报version无效,启动失败。
启动zookeeper时,zookeeper自动在/var/lib/zookeeper下新建了version-2文件夹,此时报的错误是version-2有问题,只能是1或0。环境在内网,我没办法截图过来。

4、server.properties增加
allow.everyone.if.no.acl.found=true

5、重启集群
正常

6、在另一台机器 192.168.70.105 上新增topic、新增console-producer并发送消息、新增console-consumer并发送消息,一切正常,没有任何权限提示。

实在是不明白server的权限需要怎么设置,求指教!谢谢!

我需要对producer和consumer所在的Host做ip限制,有对应权限的host才能进行相应操作。broker之间可以不做权限控制。

发表于 2016-08-31
添加评论

在server.properteis中增加
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer

遇到了同样的问题啊。。。3台服务器,未设置ssl以及sasl 。在server.propertities中均配置了

#allow.everyone.if.no.acl.found=false
allow.everyone.if.no.acl.found=true
#zookeeper.set.acl=true
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
principal.builder.class=org.apache.kafka.common.security.auth.DefaultPrincipalBuilder

在其他服务器上,新增console-producer并发送消息,一切正常。acl的相关设置哪里出了问题么?

给你个常用的例子吧

kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test1

kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --operation Write --operation Read --allow-principal User:* --allow-host 192.168.0.11 --add --topic test1

这样,就可以在11节点上对 topic test1 拥有读与写的权限

格律诗 -> 半兽人 7年前

您好,貌似我在不添加host的ACL权限的时候,也是可以发送数据的,这是因为kafka-acl.sh脚本执行的问题嘛?

半兽人 -> 格律诗 7年前

仔细检查相关步骤。

格律诗 -> 半兽人 7年前

您好,不知道您这边做kafka acl方面的实例没,我发现对User和Host的隔离好像并没有太大的影响,能分享一下您是怎么做的嘛?

你的答案

查看kafka相关的其他问题或提一个您自己的问题