Azkaban用户管理,添加用户,定义组,定义角色

1.Azkaban用户管理

在azkaban中${AZKABAN_HOME}/conf/azkaban.properties中的以下配置文件来进行用户的管理。

user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/home/bigdata/installed/azkaban-web/conf/azkaban-users.xml

进入/home/bigdata/installed/azkaban-web/conf/azkaban-users.xml,添加如下配置:

<azkaban-users>
  <user groups="azkaban" password="azkaban" roles="admin" username="azkaban"/>
  <user password="metrics" roles="metrics" username="metrics"/>
  
  <user password="admin" roles="admin,metrics" username="admin" />
  <user password="123456" roles="metrics" username="tuzq" />
  <role name="admin" permissions="ADMIN"/>
  <role name="metrics" permissions="METRICS"/>
azkaban-users>

上面的两行分别表示添加admin用户和tuzq用户,其中admin有两种角色,分别是admin和metrics角色。tuzq角色是metrics,使用上面的这个新建立的用户登录进去之后可以看到效果。每个用户管理的配置必须以标签结束

1.1 添加用户

要想添加用户,需要添加标签,如:


  "myusername" password="mypassword" roles="a" groups="mygroup" / >
  "myusername2" password="mypassword2" roles="a, b" groups="ga, gb" / >
  ...

参数说明:

属性 是否必须
username 登录用户名 yes
password 登录密码 yes
roles 以逗号分隔的用户含有的角色 no
groups 以逗号风格的用户所在的分组 no
proxy 以逗号分隔的可以分配给一个项目的proxy用户 no

1.2 定义组

要想定义分组,可以添加标签


  "a" ... groups="groupa" / >
  ...
  "groupa" roles="myrole" / >
  ...

在上面的例子中,a用户在groupa分组中,用户a将也会拥有myrole角色,一个regular的用户不可以添加组权限到一个项目中,除非他们是那个组的成员。
下面是一些你可以指定的group的属性。

属性 是否必须
name 组的名称 yes
roles 以逗号风格的用户角色列表 no

1.3 定义角色

角色是不同的,因为它为Azkaban的用户分配全局权限,你可以通过标签设置角色。


  "a" ... groups="groupa" roles="readall" / >
  "b" ... / >
  ...
  "groupa" roles="admin" / >
  ...
  "admin" permissions="ADMIN" / >
  "readall" permissions="READ" / >

在上面的例子中,a用户拥有readall权限,这个用户定义的有READ权限。这就意味着这个用户a在所有的项目和executions中具有全局读权限。

用户a同样在groupa这个分组里面,这个角色拥有ADMIN权限,当然这个是多于的,但是这个a同样被分配给所有项目ADMIN角色。

下面的是一些你可以分配用的组的属性

属性 是否必须
name 组的名称 yes
permissions 逗号风格的为角色分配的全局的权限列表 yes

下面是是一些可以为角色分配的权限:

权限
ADMIN 授权所有的在Azkaban中的访问权限
READ 授权给用户所有项目和日志的读权限
WRITE 用于用户上传文件,改变job属性配置 或 删除任何项目
EXECUTE 允许用户在任何工作流中触发execution
SCHEDULE 用户可以为所有的flow添加或删除任务
CREATEPROJECTS 如果一个项目锁住了,允许用户创建一个新项目

你可能感兴趣的:(#)