ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Zookeeper访问控制笔记

2022-02-06 15:03:15  阅读:145  来源: 互联网

标签:node zookeeper 访问控制 Zookeeper 笔记 权限 id digest


工作中用到关于访问控制的知识,在此记录一下,以备后续翻阅。

简单介绍

传统的文件系统中,ACL(Access Control)分为两个维度,一个是属组,一个是权限,子目录/文件默认继承父目录的ACL。而在Zookeeper中,node的ACL是没有继承关系的,是独立控制的。Zookeeper的ACL,可以从三个维度来理解:一是scheme; 二是user; 三是permission(权限),通常表示为scheme:id:permissions, 下面从这三个方面分别来介绍

Zookeeper提供5中访问控制策略,如下表:

策略

概述

world

它下面只有一个id, 叫anyone, world:anyone代表任何人,zookeeper中对所有人有权限的结点就是属于world:anyone的

auth

 它不需要id, 只要是通过authentication的user都有权限(zookeeper支持通过kerberos来进行authencation, 也支持username/password形式的authentication)

digest

它对应的id为username:BASE64(SHA1(password)),它需要先通过username:password形式的authentication

ip

它对应的id为客户机的IP地址,设置的时候可以设置一个ip段,比如ip:192.168.1.0/16, 表示匹配前16个bit的IP段

super

在这种scheme情况下,对应的id拥有超级权限,可以做任何事情(cdrwa)

另外,zookeeper-3.4.4的代码中还提供了对sasl的支持,不过缺省是没有开启的,需要配置才能启用,具体怎么配置在下文中介绍。

  • sasl: sasl的对应的id,是一个通过sasl authentication用户的id,zookeeper-3.4.4中的sasl authentication是通过kerberos来实现的,也就是说用户只有通过了kerberos认证,才能访问它有权限的node.

(2)id: id与scheme是紧密相关的,具体的情况在上面介绍scheme的过程都已介绍,这里不再赘述。

(3)permission: zookeeper目前支持下面一些权限:

  • CREATE(c): 创建权限,可以在在当前node下创建child node
  • DELETE(d): 删除权限,可以删除当前的node
  • READ(r): 读权限,可以获取当前node的数据,可以list当前node所有的child nodes
  • WRITE(w): 写权限,可以向当前node写数据
  • ADMIN(a): 管理权限,可以设置当前node的permission

笔记

1.zookeeper中访问控制权限不具有继承性,即每个节点是独立的,不存在父子继承关系;

2.auth与digest的策略却别是一个是明文密码、一个是密文。如下示例:

 auth策略命令组:

        addauth digest root:tlas1031@admin;#用户添加认证用户、登录

        setAcl / auth:root:tlas1031@admin:cdraw;

 digest命令组:

        setAcl / digest:root:{密文}:cdraw

        密文格式:BASE64(SHA1(password))

参考资料

说说Zookeeper中的ACL - hello嘿嘿嘿! - 博客园

初识ZooKeeper-ZooKeeper常用命令行操作_software_Dev_的博客-CSDN博客_zookeeper 目录

标签:node,zookeeper,访问控制,Zookeeper,笔记,权限,id,digest
来源: https://blog.csdn.net/phangle2015/article/details/122798210

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有