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 添加用戶
要想添加用戶,需要添加標籤,如:
<azkaban-users>
<user username="myusername" password="mypassword" roles="a" groups="mygroup" / >
<user username="myusername2" password="mypassword2" roles="a, b" groups="ga, gb" / >
...
</azkaban-users>
參數說明:
屬性 | 值 | 是否必須 |
---|---|---|
username | 登錄用戶名 | yes |
password | 登錄密碼 | yes |
roles | 以逗號分隔的用戶含有的角色 | no |
groups | 以逗號風格的用戶所在的分組 | no |
proxy | 以逗號分隔的可以分配給一個項目的proxy用戶 | no |
1.2 定義組
要想定義分組,可以添加標籤
<azkaban-users>
<user username="a" ... groups="groupa" / >
...
<group name="groupa" roles="myrole" / >
...
</azkaban-users>
在上面的例子中,a用戶在groupa分組中,用戶a將也會擁有myrole角色,一個regular的用戶不可以添加組權限到一個項目中,除非他們是那個組的成員。
下面是一些你可以指定的group的屬性。
屬性 | 值 | 是否必須 |
---|---|---|
name | 組的名稱 | yes |
roles | 以逗號風格的用戶角色列表 | no |
1.3 定義角色
角色是不同的,因爲它爲Azkaban的用戶分配全局權限,你可以通過標籤設置角色。
<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>
在上面的例子中,a用戶擁有readall權限,這個用戶定義的有READ權限。這就意味着這個用戶a在所有的項目和executions中具有全局讀權限。
用戶a同樣在groupa這個分組裏面,這個角色擁有ADMIN權限,當然這個是多於的,但是這個a同樣被分配給所有項目ADMIN角色。
下面的是一些你可以分配用的組的屬性
屬性 | 值 | 是否必須 |
---|---|---|
name | 組的名稱 | yes |
permissions | 逗號風格的爲角色分配的全局的權限列表 | yes |
下面是是一些可以爲角色分配的權限:
權限 | 值 |
---|---|
ADMIN | 授權所有的在Azkaban中的訪問權限 |
READ | 授權給用戶所有項目和日誌的讀權限 |
WRITE | 用於用戶上傳文件,改變job屬性配置 或 刪除任何項目 |
EXECUTE | 允許用戶在任何工作流中觸發execution |
SCHEDULE | 用戶可以爲所有的flow添加或刪除任務 |
CREATEPROJECTS | 如果一個項目鎖住了,允許用戶創建一個新項目 |