我是靠谱客的博主 淡然白猫,最近开发中收集的这篇文章主要介绍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

最后

以上就是淡然白猫为你收集整理的2.Zookeeper 权限控制 ACL的全部内容,希望文章能够帮你解决2.Zookeeper 权限控制 ACL所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部