我是靠谱客的博主 天真外套,最近开发中收集的这篇文章主要介绍zookeeper acl 权限配置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Zookeeper提供了一套完善的ACL(Access Control List)权限控制机制来保障数据的安全。

Zookeeper的ACL权限控制和Unix/Linux操作系统中的ACL有一些区别,可以从三个方面来理解ACL机制,分别是:权限模式(Scheme)、授权对象(ID)和权限(Permission)、通常使用“scheme:id:permission”来标识一个有效的ACL信息。

权限模式:Scheme

权限模式用来确定权限验证过程中使用的检验策略。在Zookeeper中,开发人员使用最多的就是以下四种权限模式:

IP

  IP模式通过IP地址粒度来进行权限控制,例如配置了“ip:192.168.0.110”,即表示权限控制都是针对这个IP地址的。同时,IP模式也支持按照网段的方式进行配置,例如“ip:192.168.0.1/24”表示针对192.168.0.*这个IP段进行权限控制。

Digest

  Digest是最常用的权限控制模式,也更符合我们对于权限控制的认识,其以类似于“username:password”形式的权限标识来进行权限配置,便于区分不同应用来进行权限控制。当我们通过“username:password”形式配置了权限标识后,Zookeeper会对其先后进行两次编码处理,分别是SHA-1算法加密和BASE64编码,其具体实现由DigestAuthenticationProvider.generateDigest(String idPassword)函数进行封装。

World

  World是一种最开放的权限控制模式,从其名字中也可以看出,事实上这种权限控制方式几乎没有任何作用,数据节点的访问权限对所有用户开放,即所有用户都可以在不进行任何权限校验的情况下操作ZooKeeper上的数据。另外,World模式也可以看作是一种特殊的Digest模式,它只有一个权限标识,即“world:anyone”。

Super

  Super模式,顾名思义就是超级用户的意思,也是一种特殊的Digest模式。在Super模式下,超级用户可以对任意ZooKeeper上的数据节点进行任何操作。

 

授权对象:ID

  授权对象指的是权限赋予的用户或一个指定实体,例如IP地址或是机器等。在不同的权限模式下,授权对象是不同的。

  IP  通常是一个IP地址或是IP段,例如“192.168.0.110” 或 “192.168.0.1/24”

  Digest  自定义,通常是“username:BASE64(SHA-1(password))”,例如 “foo:kWN6aNSbjcKWPqjiV7cg0N24raU=”

  World  只有一个ID:"anyone"

  Super 与Digest模式一致

 

权限: Permission

  权限就是指那些通过权限检查后可以被允许执行的操作。在ZooKeeper中,所有对数据的操作权限分为以下五大类:

  CREATE(C)

  DELETE(D)

  READ(R)

  WRITE(W)

  ADMIN(A)

 

设置ACL

  1、通过zkCli脚本登录ZooKeeper服务器后,可以通过两种方式进行ACL的设置。一种是在数据节点创建的同时进行ACL权限的设置,命令格式如下:

  create [-s] [-e] path data acl

  清单:

  create -e /zk-book init digest:foo:ayaR385TXr8czBg0+7glQfl3TvQ=:cdrwa

  2、另一种方式则是使用setAcl命令单独对已经存在的数据节点进行ACL设置:

  setAcl path acl

  清单:

  setAcl /zk-book digest:foo:ayaR385TXr8czBg0+7glQfl3TvQ=:cdrwa

  注意:子目录不继承父目录acl权限。举例:新建zk-book下子目录/zk-book/test,该子目录/zk-book/test的权限默认为:'world':anyone:cdrwa,而不是默认继承父目录权限。

 

  配置zkCli客户端权限

  当设置一个目录权限后,zkCli在不配置权限下也无法访问该目录,可使用如下命令配置权限:

  addauth digest foo:123456

最后

以上就是天真外套为你收集整理的zookeeper acl 权限配置的全部内容,希望文章能够帮你解决zookeeper acl 权限配置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部