1、azkaban 用户权限管理介绍
azkaban使用jetty创建服务端,通过配置$AZKABAN_WEB_HOME/conf/azkaban-users.xml文件来配置用户,在官网的说明如下http://azkaban.github.io/azkaban/docs/latest/#user-manager 。采用用户——角色——权限三个维度控制权限。其中用户可以创建用户组,给用户组制定权限,这样在该用户组下的所有用户自动拥有该权限。
azkaban提供的权限有如下几种,用户可以自行组合配置
ADMIN | Grants all access to everything in Azkaban. |
READ | Gives users read only access to every project and their logs |
WRITE | Allows users to upload files, change job properties or remove any project |
EXECUTE | Allows users to trigger the execution of any flow |
SCHEDULE | Users can add or remove schedules for any flows |
CREATEPROJECTS | Allows users to create new projects if project creation is locked down |
这个locked down配置是在$AZKABAN_WEB_HOME/conf/azkaban.properties文件中
lockdown.create.projects=true
2、azkaban用户权限配置
打开$AZKABAN_WEB_HOME/conf/azkaban-users.xml的配置文件
<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,看执行日志,但是不能更改。