Zookeeper之 ACL 权限控制

kafka_2.12-2.3.1 自带zookeeper开启ACL kafka内置zookeeper 开始ACL , 未授权访问漏洞修复 阅读详情

一、简介

Zookeeper 的ACL 权限控制,可以控制节点的读写操作,保证数据的安全性,Zookeeper ACL 权 限设置分为 3 部分组成,分别是:权限模式(Scheme)、授权对象(ID)、权限信息 (Permission)。最终组成一条例如“scheme: id :permission”格式的 ACL 请求信息。

二、权限模式

用来设置 ZooKeeper 服务器进行权限验证的方式。ZooKeeper 的权限 验证方式大体分为两种类型:

1.范围验证

所谓的范围验证就是说 ZooKeeper 可以针对一个 IP 或者一段 IP 地址授予某 种权限。比如我们可以让一个 IP 地址为“ip:192.168.0.110”的机器对服务器上的某个数据节点具有写入的权限。

2.口令验证

  1. 口令验证也就是用户的凭证。在 ZooKeeper 中这种验证方式被称为 Digest 认证,而 Digest 这种认证方式首先在客户端传送“username:password”这种形式的权限表示符后,ZooKeeper 服务端会对密码 部分使用 SHA-1 和 BASE64 算法进行加密, 以保证安全性。
  2. 还有一种Super权限模式, Super可以认为是一种特殊的 Digest 认证。具有 Super 权限的客户端 可以对 ZooKeeper 上的任意数据节点进行任意操作。

三、授权对象

1.采用范围验证方式

当采用范围验证方式时,其授权对象为ip,多个ip间用逗号隔开

2.采用口令验证方式

当采用口令验证方式时,其授权对象为授权ID或者用户名密码

  1. 授权ID生成
import org.apache.commons.codec.binary.Base64;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;


public class Test {
    public static void main(String[] args) throws NoSuchAlgorithmException {
        String usernameAndPassword = "user:123456";
        byte digest[] = MessageDigest.getInstance("SHA1").digest(usernameAndPassword.getBytes());
        Base64 base64 = new Base64();
        String encodeToString = base64.encodeToString(digest);
        System.out.println(encodeToString);
        //6DY5WhzOfGsWQ1XFuIyzxkpwdPo=
    }
}
setAcl /zkPro digest:user:6DY5WhzOfGsWQ1XFuIyzxkpwdPo=:cdrwa
  1. auth明文授权
addauth digest user:123456
create /node‐1 node1data auth:user:123456:cdwra 
#这是u100用户授权信息会被zk保存,可以认为当前的授权用户为u100 

四、权限信息

在 ZooKeeper 中已经定义好的 权限有 5 种:

  • 数据节点(c: create)创建权限,授予权限的对象可以在数据节点下创建子节点;
  • 数据节点(w: wirte)更新权限,授予权限的对象可以更新该数据节点;
  • 数据节点(r: read)读取权限,授予权限的对象可以读取该节点的内容以及子节点的列表信息;
  • 数据节点(d: delete)删除权限,授予权限的对象可以删除该数据节点的子节点;
  • 数据节点(a: admin)管理者权限,授予权限的对象可以对该数据节点体进行 ACL 权限设置。

五、实例

1.创建节点的时候设置ACL

  • 授权ID方式:
create /zk-node dataTest digest:user:6DY5WhzOfGsWQ1XFuIyzxkpwdPo=:cdrwa
get /zk-node
#直接访问出现下面报错
##org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /zk-node
#需要在访问前添加授权信息
addauth digest user:123456
get /zk-node
  • auth明文授权:
addauth digest root:root
create /node-auth authTest auth:root:root:cdwra
#root用户授权信息会被zk保存,可以认为当前的授权用户为root,因此可以直接查看值
  • 范围验证方式
create /node‐ip data ip:ip1:cdwra,ip:ip2:cdwra

2.设置已创建节点的ACL

  • 授权ID方式:
setAcl /zk-node digest:user:6DY5WhzOfGsWQ1XFuIyzxkpwdPo=:cdrwa
  • auth明文授权:
addauth digest root:root
setAcl /node-auth auth:root:root:cdwra
  • 范围验证方式
setAcl /node‐ip ip:ip1:cdwra,ip:ip2:cdwra
Zookeeper 节点权限控制ACL详解 Zookeeper可以使用ACL(access control list)访问控制列表来对节点的权限进行控制 阅读详情

相关推荐

Zookeeper针对ip网段的ACL

最近想在生产环境中给zookeeper加ip网段的权限控制,试了下发现一直报错:Acl is not valid 。官网和网上博客都说可以针对ip网段加ACL,但是没人实验成功过。最后在StackOverflow 上找到答案,因为生产环境的zookeeper版本是3.4.12,而版本为3.4.*的zookeeper虽然支持单个ip的白名单设置,可同时设置多个ip,但是不支持ip网段...

Zuxiaohui的博客 3814

zookeeper--ACL详解

zookeeper ACL权限详解 addauth 详解

qq_41768644的博客 3851

ZooKeeper通过Auth和ACL完成节点的权限控制。

Auth表示某种认证,由于一个ZooKeeper集群可能被多个项目使用,各个项目属于不同的项目组,他们在进行开发时肯定不想其他项目访问与自己相关的节点,这时可以通过为每个项目组分配一个Auth,然后每个项目组先通过Auth认证以后再继续相关的操作,这样甲Auth认证的用户就不能操作其他Auth认证后创建的节点,从而实现各个项目之间的隔离。ZooKeeper提供了如下方法完成认证,如下所示: Vo

tycoon的专栏 1955

Zookeeper(2)常用命令,ACL权限

Zookeeper 常用命令和ACL权限等

一个后端菜鸟的博客 2867

【zookeeper】zookeeper的ACL权限控制

1.概述 ACL:Access Control List 访问控制列表 关联文章:【zookeeper】ZooKeeper 权限管理与Curator增加权限验证 关联文章:【kafka】kerberos client is being asked for a password not available to garner authentication informa 1.1 简介 ACL 权限控制,使用:scheme:id:perm 来标识,主要涵盖 3 个方面:   权限模式(Scheme):授权的

九师兄 2764

Windows 11 部署 Docker Desktop:从 WSL 报错到服务配置的完整排障实录

本文详细记录了在Windows 11上部署Docker Desktop时遇到的WSL报错问题及完整解决方案。从Hyper-V配置、BIOS设置到系统服务检查,提供了一系列实用命令和排查步骤,帮助开发者快速解决'Unexpecter WSL error'等常见问题,实现Docker与WSL2的稳定运行。

weixin_30687051的博客 120

Zookeeper 权限控制 ACL

《ZooKeeper权限控制(ACL)详解》系统介绍了ZooKeeper的访问控制机制。文章通过门禁类比,解析ACL核心概念:控制谁(Who)能对哪个节点(Where)进行何种操作(What)。详细说明5种权限位(CREATE/READ/WRITE/DELETE/ADMIN)和5种身份认证方案(world/ip/digest/sasl/auth),重点推荐生产环境使用digest方案。提供zkCli命令示例和Java/Curator代码实现,并给出递归设置、权限继承等高级技巧。最后总结了最小权限原则、ACL

likuoelie的博客 1022

LAMMPS in文件详解:从零开始手把手教你配置金属分子动力学模拟

本文详细解析了LAMMPS in文件的配置方法,手把手教你完成金属分子动力学模拟的全流程。从软件环境准备、势函数选择,到使用Materials Studio构建模型、编写in文件进行能量最小化与系统弛豫,再到实施单轴拉伸生产模拟并提取应力应变数据,最后通过Python和OVITO进行结果分析与可视化,提供了完整的实战指南和常见问题排查技巧。

weixin_28475533的博客 527

zookeeper的acl权限控制_zookeeper的ACL权限控制

ACL:Access Control List访问控制列表1. 简介0.概述ACL 权限控制,使用:scheme:id:perm来标识,主要涵盖 3 个方面:权限模式(Scheme):授权的策略授权对象(ID):授权的对象权限(Permission):授予的权限其特性如下:ZooKeeper的权限控制是基于每个znode节点的,需要对每个节点设置权限每个znode支持设置多种权限控制方案和...

weixin_39827304的博客 224

Howland电流源电路:从理论到实践的深度解析与优化策略

本文深度解析了Howland电流源电路的工作原理,从经典四电阻架构的“虚短”“虚断”分析,到其实现宽带恒流输出的理论优势。重点剖析了实践中因电阻精度、运放参数及PCB布局导致的性能瓶颈,并提供了引入第五电阻、优化运放选型等关键优化策略,旨在将输出阻抗从kΩ级提升至MΩ级,以满足精密测量与传感器驱动等应用需求。

weixin_29243063的博客 441

YOLO11多个点组合创新:GC10-DET缺陷检测 | DCNv4结合SPPF+11Detect创新性结合

DCNv4结合SPPF+11Detect创新性结合,原始mAP50为0.633 提升至0.651

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1290

Zookeeper——ACL权限控制原理

摘要 数据模型节点、Watch 监控机制等知识。并利用这些知识实现了在分布式环境中经常用到的诸如分布式锁、配置管理等功能。这些功能的本质都在于操作数据节点,而如果作为分布式锁或配置项的数据节点被错误删除或修改,那么对整个分布式系统有很大的影响,甚至会造成严重的生产事故。而作为在分布式领域应用最为广泛的一致性解决框架,ZooKeeper 提供一个很好的解决方案那就是 ACL 权限控制。 说到 ACL 可能你会觉得陌生,但是提到权限控制相信你一定很熟悉。比如 Linux 系统将对文件的使用者分为三种身份,即

庄小焱 1930

【AI大模型应用开发】教你用AI轻松将你的知识库变为知识图谱(附完整代码,直接运行)

本文我们来介绍如何使用AI,将自己的知识库自动转换为知识图谱,并进行可视化展示。

同学小张的博客 3927

Zookeeper ACL权限控制

Zookeeper使用ACL来控制访问Znode,ACL的实现和UNIX的实现非常相似:它采用权限位来控制那些操作被允许,那些操作被禁止。但是和标准的UNIX权限不同的是,Znode没有限制用户(user,即文件的所有者),组(group)和其他(world)。Zookeepr是没有所有者的概念的。 每个ZNode的ACL是独立的,且子节点不会继承父节点的ACL。例如:Znode /app对于i...

qianshanding0708的博客 6291

手把手教您如何在飞牛NAS上部署OpenClaw(Clawdbot/Moltbot)智能助手,接入钉钉,0成本使用(万字保姆级教程)

想在飞牛NAS上部署一个24小时待命的AI助手?🤖 本文手把手教您如何在飞牛NAS上部署一个完全免费的OpenClaw智能助手 ✅

XiaoqiangClub的博客 7229

60、新型共轴直升机建模与事件触发积分强化学习研究

本文研究了新型共轴直升机的动力学建模与控制方法,基于牛顿-欧拉方程建立了6自由度非线性模型,并设计了四通道闭环控制器实现稳定飞行。同时,提出一种事件触发积分强化学习方法,用于解决非零和博弈中的最优跟踪控制问题,在减少通信开销的同时保证系统性能。通过仿真验证了控制器的轨迹跟踪能力,并证明了算法下跟踪误差与神经网络权重估计误差的一致最终有界性。两种方法协同可提升飞行器的自主性与鲁棒性,未来可拓展至多智能体协作、智能交通等复杂系统应用。

rl6adventurer的博客 118

Zookeeper权限控制ACL详解

概述 Zookeeper类似于unix文件系统,节点类比文件,客户端可以删除节点,创建节点,修改节点。Zookeeper可以使用ACL(access control list)访问控制列表来对节点的权限进行控制。 acl权限控制使用:scheme????permission来标志,主要涵盖三个方面: 权限模式(scheme):授权的策略。 权限对象(id):授权的对象。 权限(permission):授予的权限。 Zookeeper acl的特性: Zookeeper的权限控制是基于znode节点的,

qq_40837310的博客 5461

YOLOv11改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型

一、本文介绍 本文记录的是基于MobileNet V4的YOLOv11目标检测轻量化改进方法研究。MobileNet V4通过整合UIB、Mobile MQA以及优化的NAS策略,能够在在不降低性能指标的前提下,降低计算成本。本文配置了原论文中MNv4-Conv-S、MNv4-Conv-M、MNv4-Conv-L、MNv4-Hybrid-M和MNv4-Hybrid-L五种模型,以满足不同的需求。 模型 参数量 计算量 推理速度 YOLOv11m 20.0M 67.6GFLOPs 3.5ms

Limiiiing的博客 4456

ZooKeeper ACL权限控制

ZK 类似文件系统,Client 可以在上面创建节点、更新节点、删除节点等如何做到权限的控制?查阅文档,zk的ack(Access Control List)能够保证权限,但是调研完后发现它不是很好用。 ACL 权限控制,使用:schema:id:permission 来标识,主要涵盖 3 个方面: 权限模式(Schema):鉴权的策略授权对象(ID)权限(Permission) 其

赶路人儿 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Zookeeper的ACL权限控制

目录 一、概述 二、acl权限各部分组成说明 三、授权的相关命令 四、world授权模式 五、IP授权模式 六、Auth授权模式 七、Digest授权模式 八、多种模式授权 九、总结 一、概述 zookeeper类似linux文件系统,客户端可以创建数据节点、更新节点数据、删除节点等,那么我们如何做到节点的权限控制呢?回想一下linux文件的权限文件,由r(读)、w(写)、x(可执行)组成,同理,zookeeper中存在访问控制列表,也可以实现类似的权限控制。 acl 权限控制,使用

weixiaohuai的博客 1112

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

zookeeper的acl权限控制_ZooKeeper ACL权限设置

ZK的节点有5种操作权限:CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、删、改、查、管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写)注:这5种权限中,delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限身份的认证有4种方式:world:默认方式,相当于全世界都能访问auth:代表已经认证通过的用户(cli中可以通过addauth dig...

weixin_28783097的博客 1329

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

zookeeper ACL 权限控制

版本说明: zookeeper:3.4.6 一、概述 zooKeeper使用acl(Access Control List)来控制对其znode(zooKeeper数据树的数据节点)的访问。 不过,zookeeper的acl并不像HDFS系统的acl一样,可以递归控制权限。zookeeper的acl不是递归的,仅适用于特定的znode。比如/app这个znode,设置一些权限,只能某用户可以访...

CREATE_17的博客 3200

zookeeper的ACL权限控制

zookeeper的权限控制ACL类似于linux的权限控制,主要就是控制用户对数据的读写权限的。 用zookeeper客户端连接zookeeper,创建了一个节点后,我们可以用 getAcl /节点目录查看该节点的ACL权限。 如: [zk: localhost:2181(CONNECTED) 20] getAcl /test/xyz 'world,'anyone : cdrwa ...

liulangcheshou的博客 473

zookeeper的acl权限控制_【Zookeeper教程】(五)ACL权限控制

提到权限控制,我们比较熟悉的应该是Linux系统中UGO(User,Group,Others)权限控制。针对文件或者目录,可以对用户,用户所在的组,其他用户分配不同的权限。但是它比较有局限性,比如我想要U1所在的组G1对F1有读权限,另一个所在组G2对F1有写权限,就无法解决。而ACL权限控制,也叫访问控制列表。是一种比较新颖而且更细粒度的权限管理方式。可以针对任意用户和组进行细粒度的权限控制。权...

weixin_39961369的博客 354
上一篇: springBoot项目整合mybatis
下一篇: MySQL 时间函数加减计算
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值