SchedulerX支援基於RAM使用者與使用者組大量設定使用者權限策略。RAM可以讓您避免與其他使用者共用阿里雲帳號密鑰,按需分配最小許可權,從而降低資訊安全風險。本文介紹如何為RAM使用者授予相關操作的許可權。
快速入門配置
RAM許可權配置提供了兩種方案,可為RAM使用者快速開通SchedulerX使用許可權的配置說明。兩種權限原則管控範圍由低到高,您可以按照所需的權限原則來配置,如需更詳細粒度的自訂許可權配置,請參見自訂權限原則配置案例。
通過給RAM使用者授權建立資源
預設情況下RAM使用者不具備建立、查看、操作SchedulerX任何資源的許可權,您可以給某個RAM使用者授權建立資源的許可權,該RAM使用者建立的所有資源預設都可以讀寫。
操作步驟:
-
登入RAM控制台。
-
建立自訂權限原則,具體操作請參見建立自訂權限原則。您可以使用以下策略指令碼內容,為RAM使用者授予建立命名空間許可權,以及所有命名空間下建立應用分組的許可權。該RAM使用者僅限於擁有自己建立的應用分組的許可權。如需其他RAM帳號建立的應用分組和資源許可權請參見本文自訂權限原則配置章節。
{ "Version": "1", "Statement": [ { "Action": ["edas:CreateSchedulerxNamespace*", "edas:CreateSchedulerxAppGroup*"], "Effect": "Allow", "Resource": "acs:edas:*:*:*" } ] } -
為單個使用者指派步驟2配置的權限原則。具體操作,請參見管理RAM使用者的許可權。
-
為使用者組分配步驟2配置的權限原則以及將使用者添加至具備相應權限原則的使用者組。
-
為使用者組分配權限原則。具體操作,請參見為RAM使用者組授權。在目標使用者組的操作列,單擊添加許可權為該使用者組分配權限原則,單擊添加群組成員將 RAM 使用者添加至該使用者組。
-
將使用者添加至具備相應權限原則的使用者組。具體操作,請參見方式二:在RAM使用者組頁面添加RAM使用者到RAM使用者組。在添加群組成員彈窗中,使用者組選擇
schedulerx_admin,在左側使用者列表中選擇目標使用者,確認右側已選擇地區顯示所選使用者後,單擊確定。
-
通過管理員建立資源再授權給RAM使用者
一般情況下,在軟體專案管理中只有營運人員才能建立資源,開發人員只有讀和操作的許可權。您可以給營運人員建立一個管理員角色,使其擁有分布式任務調度平台上所有資源的操作許可權。後續再由該管理員來建立相應空間和應用分組資源,並建立操作對應空間或應用分組的權限原則分配給其他需要的RAM使用者。
操作步驟:
-
登入RAM控制台。
-
建立自訂權限原則,具體操作請參見建立自訂權限原則。您可以使用以下策略指令碼內容,為RAM使用者授予SchedulerX管理員權限策略,擁有該主帳號下SchedulerX所有資源系統管理權限。
{ "Statement": [ { "Action": "edas:*Schedulerx*", "Effect": "Allow", "Resource": [ "acs:edas:*:*:*" ] } ], "Version": "1" } -
為單個使用者指派步驟2配置的權限原則。具體操作,請參見管理RAM使用者的許可權。
-
為使用者組分配步驟2配置的權限原則以及將使用者添加至具備相應權限原則的使用者組。
-
為使用者組分配權限原則。具體操作,請參見為RAM使用者組授權。
-
將使用者添加至具備相應權限原則的使用者組。具體操作,請參見方式二:在RAM使用者組頁面添加RAM使用者到RAM使用者組。
-
SchedulerX許可權說明
主帳號預設擁有該帳號下所有資源的操作系統管理權限。在後續許可權控制中,建議採用RAM存取控制進行權限原則分配。SchedulerX基於RAM使用者與使用者組,便於大量設定權限原則,因此在原SchedulerX對應用的管理下,無需逐個對單獨的使用者進行獨立授權。SchedulerX的權限原則支援共用系統權限原則配置。
|
系統策略 |
說明 |
|
AliyunEDASFullAccess |
管理Enterprise Distributed Application Service(EDAS)的許可權。 |
下面將對SchedulerX如何自訂權限原則配置細節進行說明,在RAM中定義權限原則主要包括:操作Action和資源Resource,您可根據SchedulerX定義的規則自行建立權限原則。
自訂策略主體結構
{
"Statement": [
{
"Action": "edas:*", // 操作Action配置項,配置說明參考下一節《操作Action》
"Effect": "Allow",
"Resource": "*" // 操作對象Resource配置項,配置說明參考下一節《資源Resource》
}
],
"Version": "1",
}
操作Action
SchedulerX的操作Action定義結構如下:
edas:${type}Schedulerx*
${type}分為4個類型:Read、Manage、Delete、Create。包含相關操作:
|
類型 |
相關操作 |
|
Create |
建立命名空間、建立應用、建立任務、建立工作流程。 |
|
Manage |
|
|
Delete |
刪除命名空間、刪除應用分組、刪除任務、刪除流程。 |
|
Read |
查詢應用分組、查詢任務、查詢任務執行個體、查詢流程、查詢線上執行個體。 |
資源Resource
SchedulerX的資源Resource定義結構如下:
acs:edas:${regionid}:${accountid}:namespace/${namespace_id}/${resourceType}/${resourceId}
|
參數 |
描述 |
|
|
地區,針對某個地區資源訪問。預設可配置 |
|
|
帳號,針對某個賬戶資源訪問。預設可配置 |
|
|
命名空間ID,針對某個命名空間。
|
|
|
資源種類,可選:JobGroup(SchedulerX下的任務應用分組)。 |
|
|
上述資源類型
|
自訂權限原則配置案例
給RAM使用者授權所有資源的系統管理權限
管理SchedulerX的所有權限原則,允許訪問SchedulerX下的所有操作和資源。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"edas:*Schedulerx*"
],
"Resource": [
"acs:edas:*:*:*"
]
}
]
}
給RAM使用者授權所有資源的唯讀許可權
設定ScheudlerX下所有資源的唯讀查詢許可權,允許查看SchedulerX下的所有資源資訊。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"edas:ReadSchedulerx*"
],
"Resource": [
"acs:edas:*:*:*"
]
}
]
}
給RAM使用者授權指定命名空間下所有Action的許可權
設定指定空間或者部分空間下所有應用任務資源的系統管理權限,命名空間ID值需要從EDAS微服務空間下自行擷取並進行配置。如下表示對兩個空間(命名空間ID-01、命名空間ID-02)具備調度相關資源資訊的系統管理權限。您還可以自行調整切換其中的Action配置來限制對上述資源的操作(如:Action定義為"edas:ReadSchedulerx*",則表示為對上述兩個空間具備唯讀查詢許可權)。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"edas:*Schedulerx*"
],
"Resource": [
"acs:edas:*:*:namespace/命名空間ID-01/*",
"acs:edas:*:*:namespace/命名空間ID-02/*"
]
}
]
}
在 SchedulerX 控制台左側導覽列單擊命名空間,在命名空間列表的命名空間ID列擷取目標命名空間的 ID 值,將其填入上述策略中的 命名空間ID-01、命名空間ID-02 位置。
給RAM使用者授權指定應用下所有Action的許可權
設定任務調度中部分應用下的資源訪問系統管理權限,Resource指定如下空間對應的JobGroup的應用ID資訊即可設定相應應用下的存取權限。您也可以通過首碼加“*”模式(如下:"TestGroup*",表示TestGroup首碼的所有應用)來指定符合相應首碼的應用分組進行快速大量設定。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"edas:*Schedulerx*"
],
"Resource": [
"acs:edas:*:*:namespace/命名空間ID-01/JobGroup/TestGroup*",
"acs:edas:*:*:namespace/命名空間ID-02/JobGroup/AppGroup"
]
}
]
}
在分布式任務調度控制台左側導覽列單擊應用管理,在應用列表的應用ID/應用key列擷取目標應用的應用ID。