目录
为zookeeper配置ACL权限,以便增加安全机制。以下以kafka集成版zookeeper举例。在一台节点设置即可。
增加认证用户
进入zookeeper命令目录中,进行配置
##kafka集成版zookeeper
./zookeeper-shell.sh 192.141.96.10:2181
##独立版zookeeper
./zkCli.sh 192.141.96.10:2181

- 增加认证用户
addauth digest qrl:XXXXXX
其中qrl为认证用户名,冒号后面的为明文密码。
获取密码
使用digest认证方式,设置ACL控制权限时,需使用base64编码的 SHA1密码。
echo -n qrl:XXXXXX| openssl dgst -binary -sha1 | openssl base64

为根节点设置用户并为kafka启用IP白名单
- 配置ACL
setAcl / ip:127.0.0.1:cdrwa,ip:192.141.96.4:cdrwa,ip:192.141.96.9:cdrwa,ip:192.141.96.10:cdrwa,digest:qrl:JeVjErnAzso4KsuLHqXqFDilmMA=:cdrwa
命令解析:
- /为根节点,也可为每个节点路径配置不同的acl控制
- ip:设置白名单IP;
- Digest为配置认证用户,此时填写的密码不可再使用明文密码(除auth认证方式),需使用openssl获取的base64编码的 SHA1密码;
- cdrwa为权限,分别为创建、删除、读取、设置数据权限、设置ACL权限

- 查看ACL配置
getAcl /

验证认证效果
- 查看节点目录方式验证
-
再次登录时,使用查看节点空间命令,会报许可不允许
ls /

此时,则需要进行密码认证,才可获取查看权限:
addauth digest qrl:XXXXXX
ls /

可以看到已经可以正常查看节点空间了。
- 因为为kafka设置了IP白名单,因此可以尝试重启kafka,kafka能够正常启动,亦可证明ACL配置正确。
本文介绍了如何在ZooKeeper中配置ACL权限,以增强安全性。通过增加认证用户,设置用户密码,并为根节点及Kafka启用IP白名单,确保了Zookeeper的安全操作。同时,验证了认证效果,包括限制未授权访问和确认Kafka在ACL配置后的正常运行。

554

被折叠的 条评论
为什么被折叠?



