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

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值