当前位置:   article > 正文

Zookeeper节点ACL权限设置—digest模式

Zookeeper节点ACL权限设置—digest模式

ACL全称为Access Control List(访问控制列表),用于控制资源的访问权限。ZooKeeper使用ACL来控制对其znode(ZooKeeper数据树的数据节点)的访问。


zk利用ACL策略控制节点的访问权限:
CREATE   c 可以创建子节点
DELETE   d 可以删除子节点(仅下一级节点)
READ     r 可以读取节点数据及显示子节点列表
WRITE    w 可以设置节点数据
ADMIN    a 可以设置节点访问控制列表权限


在传统的文件系统中,一个文件拥有某个组的权限即拥有了组里的所有权限,文件或子目录默认会继承自父目录的ACL。而在Zookeeper中,znode的ACL是没有继承关系的,每个znode的权限都是独立控制的,只有客户端满足znode设置的权限要求时,才能完成相应的操作。Zookeeper的ACL,分为三个维度:scheme、id、permission,通常表示为:scheme:id:permission,schema代表授权策略,id代表用户,permission代表权限。下面分别讲述一下这三个属性:
 

语法:digest:username:BASE64(SHA1(password)):cdrwa
digest:是授权方式
username:BASE64(SHA1(password)):是id部分
cdrwa:权限部份

授予什么权限

CREATE   c 可以创建子节点

DELETE   d 可以删除子节点(仅下一级节点)

READ       r 可以读取节点数据及显示子节点列表

WRITE     w 可以设置节点数据

ADMIN     a 可以设置节点访问控制列表权限

创建节点:

create /demo001 001

生成密钥:

假设我要设置的用户名为admin,密码为admin123

echo -n admin:admin123 | openssl dgst -binary -sha1 | openssl base64

给节点设置acl:

setAcl /demo001 digest:admin:dyks0yAxrXfvFZ7G5BN0+ZUcGCE=:cdrwa

可以看到,设置了acl后,再次获取节点数据时,提示权限不足。

设置权限信息:

addauth digest admin:admin123

参考:

Zookeeper节点ACL权限设置(四)_禁止zk某个节点的数据访问-CSDN博客

ZooKeeper: Because Coordinating Distributed Systems is a Zoo

https://www.cnblogs.com/quchunhui/p/13214699.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/784287
推荐阅读
相关标签
  

闽ICP备14008679号