azkaban用户管理及权限配置

本文详细介绍了Azkaban的工作流调度系统中的用户权限管理机制,包括如何通过配置azkaban-users.xml文件来添加用户、组和角色,以及如何设置不同级别的权限。还提供了配置示例,帮助读者理解如何为用户分配特定的权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:https://blog.youkuaiyun.com/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:/iot/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:/iot/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=/iot/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,看执行日志,但是不能更改。

 

转载于:https://www.cnblogs.com/pu20065226/p/10782867.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值