zoukankan      html  css  js  c++  java
  • Zookeeper:acl权限控制

    1.概述

    acl:access control list 访问控制列表,使用scheme:id:permission来表示

    scheme:权限模式

    id:授权对象

    permission:授予的权限

    其特性如下:

    Zookeeper的权限控制是基于每个znode节点的,需要对每个节点设置权限。

    每个znode支持多种权限控制方案和多个权限

    子节点不会继承父节点的权限,客户端无权访问某个节点,但可以访问它的子节点

    2.授权模式

    world    只有一个用户:anyone,代表登陆zookeeper所有人(默认)

    ip           对客户端使用ip地址认证

    auth      使用已添加认证的用户认证

    digest   使用“用户名:密码”方式认证

    3.授权对象

    给谁授予权限

    授权对象ID是指,权限赋予的尸体,例如:IP地址或用户。

    4.授予的权限

    权限 ACL简写 描述
    create c 可以创建子节点
    delete d 可以删除子节点(仅下一级节点)
    read r 可以读取节点数据及显示子节点列表
    write w 可以设置节点数据
    admin a 可以设置节点访问控制列表权限

    5.相关命令

    getAcl path  #读取acl权限
    setAcl path acl  #设置acl权限
    addauth scheme auth   #添加认证用户
    

    6.详细命令

    world模式:

    setAcl <path> world:anyone:<acl>
    

    ip模式:

    setAcl <path> ip:<ip>:<acl>
    

    auth模式:

    先添加认证用户:

    addauth digest <user>:<password>
    
    setAcl <path> auth:<user>:<acl>
    

    digest模式:  

    setAcl <path> digest:<user>:<password>:<acl> 

     这里的面面是经过SHA1及BASE64处理的密文,在shell中可以通过一下命令计算:

    echo -n <user>:<password> | openssl dgst -binary -sha1 | openssl base64
    

    多种模式授权:

    同一个节点可以使用多种模式授权,用逗号分隔

    setAcl <path> ip:<ip>:<acl>,auth:<user>:<password>:<acl>,digest:<user>:<password>:<acl>
    

    7.acl超级管理员

    zookeeper的权限管理模式有一种叫做super,超管可以访问任何权限的节点。

    假如超管是super:admin,首先生成密码的密文

    echo -n super:admin | openssl dgst -binary -sha1 | openssl base64
    

     编辑zookeeper的服务器脚本文件zkServer.sh:

    找到该行

     加入如下命令:其中super为超管的名字,后面为密码

    "-Dzookeeper.DigestAuthenticationProvider.superDigest=super:xQJmxLMiHGwaqBvst5y6rkB6HQs="
    

     

     然后重启zookeeper服务,配置即可生效。

    addauth digest super:admin #添加超级管理员用户 
  • 相关阅读:
    Android学习小Demo一个显示行线的自定义EditText
    Android中自定义checkbox样式
    android圆角View实现及不同版本这间的兼容
    android下大文件分割上传
    drwtsn32.exe 遇到问题须要关闭。我们对此引起的不便表示抱歉
    【分享】深入浅出WPF全系列教程及源码
    iOS国际化时遇到的错误:read failed: the data couldn&#39;t be read because it isn&#39;t in the correct format.
    void及void指针含义的深刻解析
    堆和栈的差别(转过无数次的文章)
    sizeof,终极无惑(上)
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/12930516.html
Copyright © 2011-2022 走看看