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的服务可以访问相关节点,防止混乱。

  • 相关阅读:
    php apc 安装
    apaache php 日记设计
    memcache windows64 位安装
    JavaScript的作用域与闭包
    怎样写一个简单的操作系统?
    php 关于锁的一些看法
    Windows版本Apache+php的Xhprof应用__[2]
    Windows版本Apache+php的Xhprof应用
    使用TortoiseGit对Git版本进行分支操作
    机器学习数据不均衡问题
  • 原文地址:https://www.cnblogs.com/HigginCui/p/9658597.html
Copyright © 2011-2022 走看看