美文网首页程序员大数据
Zookeeper的ACL权限控制

Zookeeper的ACL权限控制

作者: 木木与呆呆 | 来源:发表于2019-01-17 14:41 被阅读53次

1.Zookeeper的节点有5种操作权限

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

2.身份的认证有4种方式

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

3.设置访问控制

3.1.方法一(推荐)

3.1.1.增加一个认证用户

addauth digest 用户名:密码明文
eg. addauth digest user1:password1

3.1.2.设置权限

setAcl /path auth:用户名:密码明文:权限
eg. setAcl /test auth:user1:password1:cdrwa

3.1.3.查看Acl设置

getAcl /path

3.2.方法二

setAcl /path digest:用户名:密码密文:权限
注:这里的加密规则是SHA1加密,然后base64编码。

4.使用auth进行身份认证的场景

在zookeeper上面,使用yuwen:zdh1234用户,
创建/test目录,进行增删改查。

4.1.创建目录

使用zkCli.sh客户端登陆,创建目录:
create /test

4.2.查看目录权限

getAcl /test

'world,'anyone
: cdrwa

可以看到任何人对/test目录都有增、删、改、查、管理权限。

4.3.增加一个认证用户

增加的用户名和密码可以自定义:
addauth digest yuwen:zdh1234

4.4.使用上面的认证用户设置目录的权限

setAcl /test auth:yuwen:zdh1234:cdrwa

4.5.查看目录权限

getAcl /test

'digest,'yuwen:zCY6ODYZ1NC2Ci6hz4bXA3AESFE=
: cdrwa

可以看到yuwen对/test目录有增、删、改、查、管理权限,
而不是原来的anyone任何人了。
ls /test
可以看到命令执行成功。

4.6.重新登陆查看目录

新开一个zkCli.sh客户端重新登陆,
查看/test目录:
ls /test

KeeperErrorCode = NoAuth for /test

可以看到没有对/test目录的查看权限。

4.7.使用认证用户查看

增加一个认证用户:
addauth digest yuwen:zdh1234
查看/test目录:
ls /test
可以看到命令执行成功。

4.8.一点说明

上面第4.3步中如果不增加一个认证用户,
则在设置权限的时候,直接使用如下命令:
setAcl /path digest:用户名:密码密文:权限
setAcl /test digest:yuwen:zCY6ODYZ1NC2Ci6hz4bXA3AESFE=:cdrwa
但是ls /test的时候任然会没有执行权限。

5.使用sasl进行身份认证的场景

在zookeeper上面,使用yuwen用户,
创建/testB目录,进行增删改查。

使用zkCli.sh客户端登陆,
创建/testB目录,同时设置sasl的ACL,
赋予yuwen对/testB目录增、删、改、查、管理权限:
create /testB sasl:yuwen:zdh1234:cdrwa
create -s /testB data sasl:yuwen:zdh1234:cdrwa

6.使用IP地址进行身份认证的场景

create /testC ip:10.43.159.12:cdrwa

相关文章

  • Curator 使用(三) ACL 权限控制

    Curator 使用(三) ACL 权限控制 Zookeeper 五种操作权限 总体来说,ZK的节点有5种操作权限...

  • zookeeper ACL权限控制

    ACL(访问权限列表) ZooKeeper 支持以下权限: CREATE: 能创建子节点 READ:能获取节点数据...

  • Zookeeper权限控制ACl

    本文摘抄至-说说Zookeeper中的ACL zookeeper中,node的ACL是没有继承关系的,是独立控制的...

  • ZooKeeper ACL权限控制

    Zookeeper由Apache Hadoop的一个子项目发展而来,是一个开源的分布式协调服务。其作为一个分布式架...

  • Zookeeper ACL权限

    ACL(Access Control Lists):zookeeper中定义了五种控制权限:CREATE:创建当前...

  • ACL权限

    ACL权限ZooKeeper的ACL可针对znodes设置相应的权限信息。 一个 ACL 权限设置通常可以分为 3...

  • Zookeeper的ACL权限控制

    1.Zookeeper的节点有5种操作权限 CREATE、READ、WRITE、DELETE、ADMIN也就是 增...

  • zookeeper 四 : ACL 权限控制

    权限控制 ACL:Access Control List,访问控制列表,是前几年盛行的一种权限设计,它的核心在于用...

  • ZooKeeper 【三】 acl权限控制

    ACL ( access control lists ) [ 类似shiro ]针对节点可以设置相关的读写等权限,...

  • zookeeper权限acl与四字命令

    本文转载自51CTO博客作者ZeroOne01zookeeper权限acl与四字命令 权限acl介绍,acl的构成...

网友评论

    本文标题:Zookeeper的ACL权限控制

    本文链接:https://www.haomeiwen.com/subject/qljidqtx.html