全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-24 8 分钟 ✍️ juanwangdev

ZooKeeper ACL权限控制

权限控制保护ZooKeeper数据安全。

ACL权限模型概述

权限位含义

权限缩写说明
createc创建子节点
readr读取节点数据
writew修改节点数据
deleted删除子节点
admina设置ACL权限

权限组合

组合说明
crwda全部权限
crwa管理权限(无删除)
r仅读权限
rw读写权限

ACL结构

Bash
scheme:id:permissions
scheme: 认证方案
id: 认证身份
permissions: 权限位组合

查看节点ACL

Bash
# 查看ACL
getAcl /app/config
# 输出: 'world,'anyone: cdrwa

设置节点ACL

Bash
# 创建时设置ACL
create /secure/data "secret" digest:user:password:crwa

# 修改ACL
setAcl /secure/data auth:user:crwa

注意:默认ACL是world:anyone:crwda,完全开放。

认证方案类型

四种认证方案

方案说明格式
world开放访问world:anyone
auth已认证用户auth:空
digest密码认证digest:user:pwd
ipIP限制ip:192.168.1.0/24

world方案

Bash
# 创建开放节点
create /public "data" world:anyone:crwa
# 所有人有crwa权限

digest方案

Bash
# 生成密码摘要
# 格式: digest:user:BASE64(SHA1(user:password))

# 添加认证
addauth digest user:password

# 创建密码保护节点
create /secure "secret" digest:user:password:crwa
# 只有认证用户可访问

ip方案

Bash
# IP限制
create /internal "data" ip:192.168.1.0/24:crwa
# 仅192.168.1.*网段可访问

认证流程

text
1. 使用addauth添加认证信息
2. 后续操作携带认证身份
3. ACL检查认证身份权限

认证命令

text
# 添加digest认证
addauth digest admin:admin123

# 添加后访问受保护节点
get /secure/data

典型ACL配置

场景ACL方案
公开配置world:anyone:r
系统配置digest:admin:crwa
业务数据digest:app:rw
内部节点ip:内网段:crwa

提示:生产环境敏感节点必须设置ACL,避免world开放。

要点总结

  • 权限位:c创建、r读取、w修改、d删除、a管理
  • ACL结构:scheme:id:permissions
  • world方案完全开放,默认配置
  • digest密码认证需addauth添加
  • ip方案按网段限制访问
  • 生产环境敏感节点必须设置ACL

📝 发现内容有误?点击此处直接编辑

← 上一篇 ZooKeeper命令行客户端
下一篇 → ZooKeeper集群数据同步与检测
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库