概述
Zookeeper 权限控制 ACL(Access Control List,访问控制表)
ACL 权限可以针对节点设置相关读写等权限,保障数据安全性。permissions 可以指定不同的权限范围及角色。
ACL命令
# 获取节点acl权限信息
getAcl /demoNode
# 设置节点acl权限信息
setAcl /demoNode world:anyone:crwa
ACL结构
zookeeper 的 acl 通过 [scheme????permissions] 来构成权限列表。
- scheme:代表采用的某种权限机制,包括 world、auth、digest、ip、super 几种
- id:代表允许访问的用户
- permissions:权限组合字符串,由 cdrwa 组成,其中每个字母代表支持不同权限, 创建权限 create©、删除权限 delete(d)、读权限 read®、写权限 write(w)、管理权限admin(a)
world
world 代表开放式权限
auth
auth 用于授予权限,注意需要先创建用户
setAcl /demoNode auth:user1:123456:cdrwa
# 添加认证用户,否则无法再访问已经设置权限的节点
addauth digest user1:123456
# 设置权限
setAcl /demoNode auth:user1:123456:cdrwa
digest
digest 可用于账号密码登录和验证
# 密码是上面创建的密码密文
setAcl /demoNode digest:user1:HYGa7IZRm2PUBFiFFu8xY2pPP/s=:cdrwa
getAcl /demoNode
# 登录用户
# 对于某些认证(如ShardingSphere-proxy)只需要设置用户:addauth digest user1
addauth digest user1:123456
getAcl /demoNode
节点密码忘记
如果节点密码等忘记,无法连接删除时,可以采用以下两种方法解决
- 在zoo.cfg中添加配置跳过Acl认证,然后重启Zookeeper就可以删除或修改该节点。注意操作完成后要记得将Acl认证打开
# 跳过ACL认证
skipACL=yes
- 清空Zookeeper数据,重置Zookeeper(一般生产环境不推荐)
在Zookeeper配置文件中找到dataDir=…/data配置项,该项配置了Zookeeper数据存储路径,只需要删除该路径下的数据,就可以重置Zookeeper
最后
以上就是淡然白猫为你收集整理的2.Zookeeper 权限控制 ACL的全部内容,希望文章能够帮你解决2.Zookeeper 权限控制 ACL所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复