ZooKeeper设置ACL权限控制

Posted keystone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ZooKeeper设置ACL权限控制相关的知识,希望对你有一定的参考价值。

ZK的节点有5种操作权限:
CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、删、改、查、管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写)
注:这5种权限中,delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限

身份的认证有4种方式:
world:默认方式,相当于全世界都能访问
auth:代表已经认证通过的用户(cli中可以通过addauth digest user:pwd 来添加当前上下文中的授权用户)
digest:即用户名:密码这种方式认证,这也是业务系统中最常用的
ip:使用Ip地址认证

 

一、设置访问控制:

方式一:(推荐)
1)增加一个认证用户
addauth digest 用户名:密码明文
eg. addauth digest user1:password1
2)设置权限
setAcl /path auth:用户名:密码明文:权限
eg. setAcl /test auth:user1:password1:cdrwa
3)查看Acl设置
getAcl /path

方式二:
setAcl /path digest:用户名:密码密文:权限

注:这里的加密规则是SHA1加密,然后base64编码。

 

 

二、zookeeper创建ip白名单

 

 

(1)设置IP白名单,格式:setAcl 路径 ip:xxx.xxx.xxx.xx1:cdrwa,ip:xxx.xxx.xxx.xx2:cdrwa

       例如:setAcl /zkaa ip:127.0.0.1:cdrwa,ip:10.111.134.6:cdrwa

       重点说明:在设置IP白名单时,将本机ip 127.0.0.1也加上,让本机也可以访问及修改,否则到时本机服务器都无法进行查看及修改,到时会很麻烦

技术图片

(2)怎么取消ACL权限(当前连接IP有权限的情况下,如本机127.0.0.1),格式:setAcl 路径 world:anyone:cdrwa

 例如:setAcl /zkee world:anyone:cdrwa

可以添加-R选项,表示递归操作
技术图片

 

以上是关于ZooKeeper设置ACL权限控制的主要内容,如果未能解决你的问题,请参考以下文章

ZooKeeper设置ACL权限控制,删除权限

Zookeeper:acl权限控制

ZooKeeper设置ACL权限控制

Zookeeper 客户端之ACL权限访问控制

Zookeeper 节点权限控制ACL详解

Zookeeper 节点权限控制ACL详解