zookeeper的acl权限控制_Zookeeper:acl权限控制

1.概述

acl:access control list 访问控制列表,使用scheme:id:permission来表示

scheme:权限模式

id:授权对象

permission:授予的权限

其特性如下:

Zookeeper的权限控制是基于每个znode节点的,需要对每个节点设置权限。

每个znode支持多种权限控制方案和多个权限

子节点不会继承父节点的权限,客户端无权访问某个节点,但可以访问它的子节点

2.授权模式

world    只有一个用户:anyone,代表登陆zookeeper所有人(默认)

ip           对客户端使用ip地址认证

auth      使用已添加认证的用户认证

digest   使用“用户名:密码”方式认证

3.授权对象

给谁授予权限

授权对象ID是指,权限赋予的尸体,例如:IP地址或用户。

4.授予的权限

权限

ACL简写

描述

create

c

可以创建子节点

delete

d

可以删除子节点(仅下一级节点)

read

r

可以读取节点数据及显示子节点列表

write

w

可以设置节点数据

admin

a

可以设置节点访问控制列表权限

5.相关命令

getAcl path #读取acl权限

setAcl path acl #设置acl权限

addauth scheme auth #添加认证用户

6.详细命令

world模式:

setAcl world:anyone:

ip模式:

setAcl ip::

auth模式:

先添加认证用户:

addauth digest :

setAcl auth::

digest模式:

setAcl digest:::

这里的面面是经过SHA1及BASE64处理的密文,在shell中可以通过一下命令计算:

echo -n : | openssl dgst -binary -sha1 | openssl base64

多种模式授权:

同一个节点可以使用多种模式授权,用逗号分隔

setAcl ip::,auth:::,digest:::

7.acl超级管理员

zookeeper的权限管理模式有一种叫做super,超管可以访问任何权限的节点。

假如超管是super:admin,首先生成密码的密文

echo -n super:admin | openssl dgst -binary -sha1 | openssl base64

编辑zookeeper的服务器脚本文件zkServer.sh:

找到该行

加入如下命令:其中super为超管的名字,后面为密码

"-Dzookeeper.DigestAuthenticationProvider.superDigest=super:xQJmxLMiHGwaqBvst5y6rkB6HQs="

然后重启zookeeper服务,配置即可生效。

addauth digest super:admin #添加超级管理员用户

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值