zookeeper acl权限控制

一、设置步骤

1.下载zk客户端

https://zookeeper.apache.org/releases.html

2.用命令连接服务器

./zkCli.sh -server ip:2181

3.查询节点权限

getAcl /test

4.设置节点权限

setAcl /test2 ip:192.168.21.44:crwda,world:anyone:r

这表示/test2给所有人可读权限,给192.168.21.44这个ip上访问时所有权限

二、ACL介绍

ACL 权限控制,使用:scheme:id:perm 来标识,主要涵盖 3 个方面:
  权限模式(Scheme):授权的策略
  授权对象(ID):授权的对象
  权限(Permission):授予的权限

1.  scheme  采用何种方式授权

  world:默认方式,相当于全部都能访问
  auth:代表已经认证通过的用户(cli中可以通过addauth digest user:pwd 来添加当前上下文中的授权用户)
  digest:即用户名:密码这种方式认证,这也是业务系统中最常用的。用 username:password 字符串来产生一个MD5串,然后该串被用来作为ACL ID。认证是通过明文发送username:password 来进行的,当用在ACL时,表达式为username:base64 ,base64是password的SHA1摘要的编码。
  ip:使用客户端的主机IP作为ACL ID 。这个ACL表达式的格式为addr/bits ,此时addr中的有效位与客户端addr中的有效位进行比对。
2.  ID   给谁授予权限

  授权对象ID是指,权限赋予的用户或者一个实体,例如:IP 地址或者机器。授权模式 schema 与 授权对象 ID 之间
    有4种值,ip、digest、world、super

3.  permission   授予什么权限

  CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、删、改、查、管理权限,这5种权限简写为crwda

注意:

  这5种权限中,delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限

更详细的如下:

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

文/程忠 浏览次数:0次   2021-09-10 16:03:50

相关阅读


评论: