zk004 - zk的ACL介绍
来源:互联网 发布:传智播客大数据第四期 编辑:程序博客网 时间:2024/05/21 14:49
传统的文件系统中,ACL分为两个维度,一个是属组,一个是权限,子目录/文件默认继承父目录的ACL。而在Zookeeper中,znode的ACL是没有继承关系的,是独立控制的。
zookeeper支持的权限
- CREATE(c): 创建权限,可以在在当前node下创建child node
- DELETE(d): 删除权限,可以删除当前的node
- READ(r): 读权限,可以获取当前node的数据,可以list当前node所有的child nodes
- WRITE(w): 写权限,可以向当前node写数据
- ADMIN(a): 管理权限,可以设置当前node的permission
zookeeper ACL 的组成
Scheme:id:permission 比如: world:anyone:crdwa
- Scheme: cheme对应于采用哪种方案来进行权限管理
- Id: 权限被赋予的对象,比如ip或者某个用户
- Permission: 权限,上面的crdwa,表示五个权限组合
- 通过setAcl命令设置节点的权限
- 节点的ACL无继承关系
getAcl可以查看节点的Acl信息
ZooKeeper有如下几种内置的Schemes: world, auth, digest, ip .
world scheme
– Scheme:id:permission
– Id: 为固定的anyone,表示任何用户
– world:anyone:crdwa表示任何用户都具有crdwa权限
例子:
setAcl /zk-acl world:anyone:ca getAcl /zk-acl
上述例子不设置读权限, 当调用getAcl会报 认证无效
auth scheme
- Scheme:id:permission ,比如: auth:username:password:crdwa
- 表示给认证通过的所有用户设置acl权限
- 同时可以添加多个用户
- 通过addauth 命令进行认证用户的添加
- addauth digest :
- Auth策略的本质就是digest
- 如果通过addauth创建多组用户和密码,当使用setAcl修改权限时,所有的用户和密码的权限都会跟着修改
- 通过addauth新创建的用户和密码组需要重新调用setAcl才会加入到权限组中去
例子:
addauth digest test1:123addauth digest test2:123create /authpath 123 auth:test1:123:crdwaget /authpathgetAcl /authpath
digest
- Scheme:id:permission ,比如: digest:username:password:crdwa
- 指定某个用户及它的密码可以访问
- 此处的username:password必须经过SHA-1和BASE64编码
- BASE64(SHA1(username:password))
- 通过addauth命令进行认证用户的添加
- addauth digest :
例子:
create /digpath dddsetAcl /digpath digest:test1:ubmgtiw94At8IplZnri3fHnZhsA=:cdrwagetAcl /digpath
ip
- Scheme:id:permission ,比如: ip:127.0.0.1:crdwa
- 指定某个ip地址可以访问
super
在这种scheme情况下,对应的id拥有超级权限,可以做任何事情(cdrwa)
- 供运维人员维护节点使用
- 有权限操作任何节点
- 启动时,在命令参数中配置:
- -Dzookeeper.DigestAuthenticationProvider.superDigest = admin:015uTByzA4zSglcmseJsxTo7n3c=
- 打开zkCli.cmd(sh) 在命令行里增加配置.
- 用户名和密码也需要通过sha1和base64编码
0 0
- zk004 - zk的ACL介绍
- ZK ACL访问的一个小demo
- ZK ACL访问的一个小demo
- acl介绍
- ZK ACL访问控制处理流程
- Zend framework1.9.4里面的Acl介绍
- ACL Linux文件系统ACL介绍
- [ZK]zookeeper简单介绍
- zk005 zk watcher介绍
- linux ACL介绍
- Linux文件系统ACL介绍
- zk006 zk client api介绍
- ZK-Client的使用
- zk excel的导出
- zk的“异常”线程
- ZK Intbox的Constraint
- zk的checkbox
- 基于zk的配置管理
- Android 绘图XML——Shape
- 数据流图懂不懂?
- Spring框架中的各种*Aware接口
- APUE学习:进程环境
- Opengl坐标系 坐标变换 笔记
- zk004 - zk的ACL介绍
- 结构体
- java中http请求的get与post的区别(笔记)
- Android小记:eclipse下使用git上传(下载)代码至(从)github
- java基础知识总结2
- 283. Move Zeroes
- C++继承详解
- java socket编程
- 从2月14号开始,上传AppStore会碰到:Failed to locate or generate matching signing assets