zoukankan      html  css  js  c++  java
  • azkaban用户管理及权限配置

    参考:https://blog.csdn.net/zlx510tsde/article/details/52287931

    官网:https://azkaban.readthedocs.io/en/latest/

    1.用户权限管理介绍

    azkaban使用jetty创建服务端,通过配置$AZKABAN_WEB_HOME/conf/azkaban-users.xml文件来配置用户,在官网的说明如下https://azkaban.readthedocs.io/en/latest/userManager.html 。采用用户——角色——权限三个维度控制权限。其中用户可以创建用户组,给用户组制定权限,这样在该用户组下的所有用户自动拥有该权限。

    配置用户的文件:$AZKABAN_HOME/azkaban-web-server/conf/azkaban-users.xml

    在azkaban中被引入使用:$AZKABAN_HOME/azkaban-web-server/conf/azkaban.propertes

    root@hadoop01:/software/azkaban-3.12.0/azkaban-web-server/conf>cat azkaban-users.xml 
    <azkaban-users>
            <user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
            <user username="metrics" password="metrics" roles="metrics"/>
    
            <role name="admin" permissions="ADMIN" />
            <role name="metrics" permissions="METRICS"/>
    </azkaban-users>
    root@hadoop01:/software/azkaban-3.12.0/azkaban-web-server/conf>cat azkaban.properties 
    ..... # Azkaban Jetty server properties. jetty.use.ssl
    =false jetty.maxThreads=25 jetty.port=8081
    .....
    # Azkaban UserManager class user.manager.class=azkaban.user.XmlUserManager user.manager.xml.file=/software/azkaban-3.12.0/azkaban-web-server/conf/azkaban-users.xml
    ....

    azkaban提供的权限有如下几种,用户可以自行组合配置

    注意这里的CREATEPROJECTS权限,说明是"如果project creation 是 locked down,就允许用户创建新的project"。
    这个locked down配置是在$AZKABAN_HOME/azkaban-web-server/conf/azkaban.properties文件中

    lockdown.create.projects=false

    2添加用户

    <azkaban-users>
       <user username="myusername" password="mypassword" roles="a" groups="mygroup" / >
       <user username="myusername2" password="mypassword2" roles="a, b" groups="ga, gb" / >
       ...
     </azkaban-users>

    3添加组

    组成员自动拥有组的权限

    <azkaban-users>
      <user username="a" ... groups="groupa" / >
      ...
      <group name="groupa" roles="myrole" / >
      ...
    </azkaban-users>

    4添加角色

    <azkaban-users>
      <user username="a" ... groups="groupa" roles="readall" / >
      <user username="b" ... / >
      ...
      <group name="groupa" roles="admin" / >
      ...
      <role name="admin" permissions="ADMIN" / >
      <role name="readall" permissions="READ" / >
    </azkaban-users>

    下面是一个标准范本

    <azkaban-users>
    <user username="admin" password="admin" roles="admin" groups="admin" />
    
    <user username="zhangsan" password="zhangsan"  groups="group_user" />
    <user username="lisi" password="lisi" groups="group_user" />
    
    <user username="metrics" password="metrics" roles="metrics"/>
    <user username="azkaban" password="azkaban" groups="group_inspector"/>
    
    <group name="group_user" roles="user" />
    <group name="group_inspector" roles="inspector" />
    
    <role name="admin" permissions="ADMIN" />
    <role name="metrics" permissions="METRICS"/>
    <role name="user" permissions="READ,WRITE,EXECUTE,SCHEDULE,CREATEPROJECTS"/>
    <role name="inspector" permissions="READ"/>
    <role name="write" permissions="WRITE"/>
    <role name="execute" permissions="EXECUTE"/>
    <role name="schedule" permissions="SCHEDULE"/>
    <role name="createprojects" permissions="CREATEPROJECTS"/>
    </azkaban-users>

    配置后重启azkaban-web-server。

    admin用户拥有超级管理员权限,可以给其他用户赋权限。

    在group_user用户组下的用户,拥有使用azkaban的权限,可以创建project,读写执行,调度。

    在group_inspector用户组下的用户,拥有审查员权限,只能读。也就是只能看project项目,flow,看执行日志,但是不能更改。

  • 相关阅读:
    一场由空格引发的错误数据
    ECS服务器搭建Discuz 邮箱设置,报错处理
    MS SQL CASE WHEN 的用法
    sql prompt 缩写 快捷键
    CentOS 防火墙
    docker swarm
    docker machine
    docker-compose 配置
    docker-compsoe & .netcore & nginx
    dockerfile
  • 原文地址:https://www.cnblogs.com/pu20065226/p/10782867.html
Copyright © 2011-2022 走看看