全部產品
Search
文件中心

SchedulerX:分布式任務調度自訂權限原則參考

更新時間:Oct 15, 2024

如果系統權限原則不能滿足您的要求,您可以建立自訂權限原則實現最小授權。使用自訂權限原則有助於實現許可權的精細化管控,是提升資源訪問安全的有效手段。本文介紹分布式任務調度使用自訂權限原則樣本。

什麼是自訂權限原則

在基於RAM的存取控制體系中,自訂權限原則是指在系統權限原則之外,您可以自主建立、更新和刪除的權限原則。自訂權限原則的版本更新需要由您來維護。

  • 建立自訂權限原則後,需為RAM使用者、使用者組或RAM角色綁定權限原則,這些RAM身份才能獲得權限原則中指定的存取權限。

  • 已建立的權限原則支援刪除,但刪除前需確保該策略未被引用。如果該權限原則已被引用,您需要在該權限原則的引用記錄中移除授權。

  • 自訂權限原則支援版本控制,您可以按照RAM規定的版本管理機制來管理您建立的自訂權限原則版本。

操作文檔

SchedulerX許可權說明

主帳號預設擁有該帳號下所有資源的操作系統管理權限。在後續許可權控制中,建議採用RAM存取控制進行權限原則分配。SchedulerX基於RAM使用者與使用者組,便於大量設定權限原則,因此在原SchedulerX對應用的管理下,無需逐個對單獨的使用者進行獨立授權。SchedulerX的權限原則支援共用系統權限原則配置。

系統策略

說明

AdministratorAccess

管理所有阿里雲資源,包含對SchedulerX下所有操作及資源的訪問操作許可權。

下面將對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}

參數

描述

${regionid}

地區,針對某個地區資源訪問。預設可配置*

${accountid}

帳號,針對某個賬戶資源訪問。預設可配置*

${namespace_id}

命名空間ID,針對某個命名空間。

  • 非EDAS使用者擷取方式:

    1. 登入分布式任務調度平台

    2. 在左側導覽列,單擊命名空間,將滑鼠移至上方至目標命名空間ID右側,單擊image.png表徵圖複製ID號替換${namespace_id}參數。

      image.png

  • EDAS使用者擷取方式:

    1. 登入EDAS控制台

    2. 在左側導覽列,選擇資源管理>微服務空間,在微服務空間頁面,將滑鼠移至上方至目標微服務空間名稱/ID/namespace右側,單擊image.png表徵圖複製ID號替換${namespace_id}參數。

      image.png

${resourceType}

資源種類,可選:JobGroup(SchedulerX下的任務應用分組)。

${resourceId}

上述資源類型${resourceType}具體的ID。如果資源類型為JobGroup,該項配置為調度應用管理中的GroupId。

${resourceId}擷取方式:

  1. 登入分布式任務調度平台

  2. 在左側導覽列,單擊應用管理,將滑鼠移至上方至應用ID右側,單擊image.png表徵圖複製ID號替換${resourceId}參數。

    image.png

常見自訂權限原則樣本

給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/*"
            ]
        }
    ]
}

image.png

給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"
            ]
        }
    ]
}

image.png