zoukankan      html  css  js  c++  java
  • 05_zookeeper的ACL

    【ACL概述】

    ACL:access control Lists,权限控制。

    * 针对节点可以设置相关的读写等权限,目的是为了保障数据安全性。

    * 权限permissions可以指定不同的权限范围以及角色。

    【ACL命令行】

    [ getAcl ]

    获取某个节点的ACL权限信息。

    [ setAcl ]

    设置某个节点的ACL权限信息

    [ addauth ]

    输入认证授权信息,注册时输入明文密码(登录),但是在zk的系统里,密码是以加密的形式存在的。

    【ACL的构成】

    zk的acl通过[scheme:id:permissions]来构成权限列表的

      scheme:代表采用某种权限机制

      id:代表允许访问的用户

      permissions:权限组合字符串

    【ACL的构成——scheme】

    *  world 

    world下只有一个id,即只有一个用户,也就是anyone,那么组合的写法就是world:anyone:[permissions]

    * auth

    auth代表认证登录,需要注册用户有权限就可以,形式为auth:user:passworld:[permissions]

    * digest

    需要对密码加密才能访问,组合形式为 digest:username:BASE64(SHA1(passworld)):[permissions]

    [注意]  

    简而言之,auth和digest的区别就是,前者明文,后者密文。

    setAcl /path auth:lee:lee:cdrwa

    与setACl /path digest:lee:BASE64(SHA1(passworld)) cdrwa是等价的,在通过addauth digest lee:lee后都能操作指定节点的权限。

    * ip

    当设置为ip指定的ip地址,此时限制ip进行访问,比如ip:192.168.1.1:[permissions]

    * super

    代表超级管理员,拥有所有的权限。

    【ACL的构成——permisssions】

    权限字符串缩写 crdwa

    * CREATE:创建子节点,注意,是子节点

    * READ:获取节点/子节点

    * WRITE:设置节点数据

    * DELETE:删除子节点

    * ADMIN:设置权限的权限

    【ACL命令行】

    [ world:anyone:cdrwa ]

     【ACL的常用使用场景】

    * 开发/测试环境分离,开发者无权操作测试库的节点,只能看。

    * 生产环境上控制指定ip的服务可以访问相关节点,防止混乱。

  • 相关阅读:
    云服务器Ubuntu更改默认python版本
    例题4-1-3-古老的密码、刽子手的游戏,救济金发放
    Github pages和Hexo搭建自己的博客
    Python字典基本操作介绍
    python win32api win32gui win32con PyUserInput实现自动化脚本
    spring--分类索引
    目录-java并发基础知识
    【转】集群单点故障的应对策略
    CnBlogs自定义博客样式
    读书笔记——《redis入门指南(第2版)》第七章 持久化
  • 原文地址:https://www.cnblogs.com/HigginCui/p/9658597.html
Copyright © 2011-2022 走看看