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 添加用戶

要想添加用戶,需要添加標籤,如:

<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 如果一個項目鎖住了,允許用戶創建一個新項目
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章