参考: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./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./azkaban-web-server/conf>cat azkaban.properties
.....
# Azkaban Jetty server properties.
jetty.use.ssl=false
jetty.maxThreads=
jetty.port=8081
.....
# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/software/azkaban-3.12./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,看执行日志,但是不能更改。

azkaban用户管理及权限配置的更多相关文章

  1. CentOS学习笔记--账号管理与权限配置

    Linux 的账号管理与权限配置 管理员的工作中,相当重要的一环就是『管理账号』啦! 使用者标识符: UID 与 GID 虽然我们登陆 Linux 主机的时候,输入的是我们的账号,但是其实 Linux ...

  2. MySQL 用户管理与权限管理

    MySQL 用户管理与权限管理 -- 操作环境mysql> show variables like 'version';  +---------------+--------+| Variabl ...

  3. Oracle 用户管理与权限控制

    Oracle 用户管理与权限控制 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create ...

  4. centos7下mysql 用户管理和权限设置

    1.进入mysql命令行,输入root及密码[root@localhost ~]# mysql -u root -pEnter password: Welcome to the MySQL monit ...

  5. Mysql用户管理及权限分配

    早上到公司,在服务器上Mysql的数据库里新建了个database,然后本地的系统里用原来连接Mysql账号admin连这个数据库.结果报错了,大概是这样子的: Access denied for u ...

  6. MySQL数据分析-(9)库操作补充:用户管理和权限管理

    大家好,我是jacky,很高兴继续跟大家学习MySQL数据分析实战,本节课的主题是用户管理和权限管理: 在分享之前,jacky在不厌其烦的强调一下:学习任何一门学科和技能,最重要的是捋清逻辑,我们要知 ...

  7. MySQL用户管理及权限设置

    mysql 用户管理和权限设置 用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mysql ...

  8. 超哥笔记 -- 用户管理、权限设置、进程管理、中文配置、计划任务和yum源配置(5)

    一 网卡配置 ifconfig 查询.设置网卡和ip等参数 ifup,ifdown    脚本命令,更简单的方式启动关闭网络 ip 符合指令,直接修改上述功能 网络配置文件: /etc/sysconf ...

  9. Mosquitto搭建Android推送服务(四)Mosquitto服务器用户登录与权限配置

    文章钢要: 1.对服务器进行多用户配置 2.根据不同用户给予不同权限 一.Mosquitto的用户机制 mosquitto中可以添加多个用户,只有使用用户名和密码登陆服务器才允许用户进行订阅与发布操作 ...

随机推荐

  1. DEA快速生成get&set方法

    将下图UserInfo类中的几个对象全部生成 get/set方法: 方法步骤: 1.   将光放置空白区域,按 [alt + (fn+insert)] ,或 [ alt + insert] 键! 2. ...

  2. 2-Add Two Numbers @LeetCode

    2-Add Two Numbers @LeetCode 题目 思路 题目中得到的信息有: 这是两个非负数,每位分别保存在链表的一个结点上: 逆序保存,从低位到高位依次. 一般整数的相加都是从低往高进行 ...

  3. MySQL Error--Got error 28 from storage engine

    问题描述执行查询或SHOW命令,返回错误信息:Got error 28 from storage engine 问题原因临时文件所在磁盘空间已满 解决办法1.使用df -lh查看磁盘空间使用情况;2. ...

  4. Web前端3.0时代,“程序猿”如何“渡劫升仙”

    Web前端入行门槛低,很多人在成为前端工程师后很容易进入工作的舒适区,认为该熟悉的业务已熟悉了,然后就是重复用轮子,这样很容易让自己的成长处于原地打转以及低水平重复的状态. 想要不被行业抛弃,就要努力 ...

  5. idea 启动项目提示 Command line is too long. Shorten command line for Application or also for Spring Boot default configuration.

    在.idea 文件夹中打开workspace.xml文件找到<component name="PropertiesComponent">,在标签里加一行  <pr ...

  6. Java泛型相关总结(上)

    最近在看<Java核心技术>泛型相关的部分,总结下. 泛型程序设计是什么? 泛型编程(generic programming)是计算机编程中的一种风格,类型通过参数指定.意味着编写的代码可 ...

  7. py-day3-6 python map函数

    map函数 :处理序列中的每个元素,得到的结果是一个列表,该列表元素个数及位置与原来一样 ## 求列表里元素的平方 (原始方法) num_1=[1,2,13,5,8,9] res =[] for i ...

  8. ningx.conf location

    server { listen ; server_name localhost; location /dirName { alias "C:/Users/VALEB/Downloads/in ...

  9. 在DataFrame数据表里面提取需要的行

    在DataFrame数据表里面提取需要的行 代码功能: 在DataFrame表格中使用loc(),得到我们想要的行,然后根据某一列元素的值进行排序 此代码中还展示了为DataFrame添加列,即直接n ...

  10. hg (Mercurial)multiple heads (hg 多头)、撤销 commit,并保留修改

    有时候 commit 后才意识到还未 pull,这个时候会有如下提示: wlan-0-182:mobile-v2 lixiumei$ hg pull -upulling from ssh://hg@b ...