1.介绍
ACL (Access Control List),Zookeeper作为一个分布式协调框架,其内部存储的都是一些关于分布式系统运行时状态的元数据,默认情况下,所有应用都可以读写任何节点,在复杂的应用中,这不太安全,ZK通过ACL机制来解决访问权限问题。
Zookeeper节点权限模式:即Scheme;
开发人员最多使用的如下四种权限模式:
ip: ip模式通过ip地址粒度进行权限控制模式,例如配置了:192.168.110.135即表示权限控制都是针对这个ip地址的,同时也支持按网段分配,比如:192.168.110.135
digest:digest是最常用的权限控制模式,采用"username:password"形式的权限标识进行权限配置,ZK会对形成的权限标识先后进行两次加密处理,分别是SHA-1加密算法和Base64编码。
world: world是一种最开放的权限控制模式,这种模式可以看做特殊的Digest,他仅仅是一个标识而已,有个唯一的id, anyone ,代表所有人。
auth:不使用任何id,代表任何已认证的用户。
Zookeeper节点操作权限:权限就是指那些通过权限检测后可以被允许执行的操作,在ZK中,对数据的操作权限分为以下五大类:
create, delete, read, write, admin,
也就是 增、删、改、查、管理权限,这5种权限简写为crwda (即:每个单词的首字符缩写);
2.命令行操作
1)增加一个认证用户
addauth digest 用户名:密码明文
addauth digest zhangsan:123456
2)设置权限
setAcl /path auth:用户名:密码明文:权限
setAcl /root auth:zhangsan:123456:cdrwa会登陆这个命令
3)查看Acl设置
getAcl /root
看不到信息