zookeeper-ACL 权限相关
acl 权限模式
acl 权限模式有 3 种:
world:授权任何登录 zookeeper 的人
ip:对客户端指定 ip 授权
auth:对已添加的认证用户进行授权
digest:使用用户名:密码进行授权
授权方式:
scheme:id:permission
其中 scheme 表示指定授权的策略 id 表示指定授权的对象 permission 指定授予的权限
特性
zooKeeper 的权限控制是基于每个 znode 节点进行授权的,所以需要对每个节点进行设置权限
每个 znode 可以支持设置多种权限控制方案,也可以授予多个权限
子节点不会继承父节点的权限,客户端无权访问某节点,但可能可以访问它的子节点
权限列表
对节点授予的权限主要包含 5 种:增、删、改、查、管理
增:可以创建子节点,acl 简写为 c 删:可以删除子节点(仅下一级节点)改:可以设置节点数据查:可以读取节点数据及显示子节点列表管理:可以设置节点访问控制列表权限
授权相关命令
getAcl:读取 acl 权限信息用法:
getAcl path
setAcl:设置 ACL 权限用法:
setAcl <path> world:anyone:<acl>
addauth:添加认证用户用法:
addauth digest <user>:<password> #添加认证用户
setAcl <path> auth:<user>:<acl>
zookeeper 超级管理员
zookeeper 的权限管理模式有一种叫做 super,该模式提供一个超管可以方便的访问任何权限的节点。首先需要添加超管账号,添加方式如下:第一步:先为超管生成密码的密文,命令:
第二步:打开 zookeeper 目录下的/bin/zkServer.sh 服务器脚本文件,找到如下信息:
在这之后加上超管的配置项第三步:重启 zookeeper,输入命令,添加权限用户
注意需要输入 base64 的密码
版权声明: 本文为 InfoQ 作者【zarmnosaj】的原创文章。
原文链接:【http://xie.infoq.cn/article/2392f27005eb1084b22dca36a】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论