2.Zookeeper 权限控制 ACL

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
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值