本文介紹任務調度SchedulerX支援的所有系統權限原則及其相應的許可權描述,以供您授權 RAM 身份時參考。同時,還提供了自訂權限原則的建立方法及樣本,以實現精細化授權。
什麼是系統權限原則
權限原則是用文法結構描述的一組許可權的集合,可以精確地描述被授權的資源集、操作集以及授權條件。阿里雲存取控制(RAM)產品提供了兩種類型的權限原則:系統策略和自訂策略。系統策略統一由阿里雲建立,策略的版本更新由阿里雲維護,使用者只能使用不能修改。自訂策略由使用者管理,策略的版本更新由使用者維護。使用者可以自主建立、更新和刪除自訂策略。在產品迭代過程中,分布式任務調度會向系統策略中添加新的許可權,用來支援新的功能和能力。系統策略的更新將會影響所有授予了該策略的 RAM 身份,包括 RAM 使用者、RAM 使用者組和 RAM 角色。有關 RAM 權限原則的更多資訊,請參閱權限原則概覽。
產品系統策略旨在協助使用者快速入門,僅需簡單配置即可通過控制台訪問該產品及其依賴產品。雖然系統策略包含的許可權同樣適用於 OpenAPI 或 CLI 等訪問方式,但為了提高安全性,我們推薦您在這些情境下使用自訂策略,按需授予人員及應用特定 API 的存取權限。
系統策略可進一步細分為產品系統策略、服務角色策略和服務關聯角色策略三類。部分雲產品僅提供三類策略中的一類或兩類,請以本文實際展示的策略類型為準。
產品系統策略
AliyunMSEFullAccess
您可以將 AliyunMSEFullAccess 策略授權給RAM身份。本策略定義了管理微服務引擎(MSE)的許可權,並包括對SchedulerX和XXL-JOB的系統管理權限。
AliyunMSEReadOnlyAccess
您可以將 AliyunMSEReadOnlyAccess 策略授權給RAM身份。本策略定義了唯讀訪問微服務引擎(MSE)的許可權,並包括對SchedulerX和XXL-JOB的唯讀存取權限。
授權操作參考
RAM 身份預設沒有任何許可權,需要由阿里雲帳號管理員為其授權後才能訪問阿里雲帳號下的資源。為保證資源的資料安全,建議您遵循最小授權原則為允許訪問雲資源的身份授予恰好夠用的許可權。授權的詳細操作請參見:
什麼是自訂權限原則
在基於RAM的存取控制體系中,自訂權限原則是指在系統權限原則之外,您可以自主建立、更新和刪除的權限原則。自訂權限原則的版本更新需由您來維護。
建立自訂權限原則後,需為RAM使用者、使用者組或RAM角色綁定權限原則,這些RAM身份才能獲得權限原則中指定的存取權限。
已建立的權限原則支援刪除,但刪除前需確保該策略未被引用。如果該權限原則已被引用,您需要在該權限原則的引用記錄中移除授權。
自訂權限原則支援版本控制,您可以按照RAM規定的版本管理機制來管理您建立的自訂權限原則版本。
操作文檔
許可權說明
下面將對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/*"
]
}
]
}
給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"
]
}
]
}


