全部產品
Search
文件中心

SchedulerX:任務調度SchedulerX授權

更新時間:Nov 08, 2024

SchedulerX支援基於RAM使用者與使用者組大量設定使用者權限策略。RAM可以讓您避免與其他使用者共用阿里雲帳號密鑰,按需分配最小許可權,從而降低資訊安全風險。本文介紹如何為RAM使用者授予相關操作的許可權。

快速入門配置

RAM許可權配置提供了兩種方案,可為RAM使用者快速開通SchedulerX使用許可權的配置說明。兩種權限原則管控範圍由低到高,您可以按照所需的權限原則來配置,如需更詳細粒度的自訂許可權配置,請參見自訂權限原則配置案例

通過給RAM使用者授權建立資源

預設情況下RAM使用者不具備建立、查看、操作SchedulerX任何資源的許可權,您可以給某個RAM使用者授權建立資源的許可權,該RAM使用者建立的所有資源預設都可以讀寫。

操作步驟:

  1. 登入RAM控制台

  2. 建立自訂權限原則,具體操作請參見建立自訂權限原則。您可以使用以下策略指令碼內容,為RAM使用者授予建立命名空間許可權,以及所有命名空間下建立應用分組的許可權。該RAM使用者僅限於擁有自己建立的應用分組的許可權。如需其他RAM帳號建立的應用分組和資源許可權請參見本文自訂權限原則配置章節。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": ["edas:CreateSchedulerxNamespace*",
                           "edas:CreateSchedulerxAppGroup*"],
                "Effect": "Allow",
                "Resource": "acs:edas:*:*:*"
            }
        ]
    }
  3. (可選)建立使用者或使用者組。具體操作,請參見建立RAM使用者建立RAM使用者組。若已存在可跳過。

  4. 為單個使用者指派步驟2配置的權限原則。具體操作,請參見為RAM使用者授權

  5. 為使用者組分配步驟2配置的權限原則以及將使用者添加至具備相應權限原則的使用者組。

    1. 為使用者組分配權限原則。具體操作,請參見為RAM使用者組授權8

    2. 將使用者添加至具備相應權限原則的使用者組。具體操作,請參見方式二:在RAM使用者組頁面添加RAM使用者到RAM使用者組9

通過管理員建立資源再授權給RAM使用者

一般情況下,在軟體專案管理中只有營運人員才能建立資源,開發人員只有讀和操作的許可權。您可以給營運人員建立一個管理員角色,使其擁有分布式任務調度平台上所有資源的操作許可權。後續再由該管理員來建立相應空間和應用分組資源,並建立操作對應空間或應用分組的權限原則分配給其他需要的RAM使用者。

操作步驟:

  1. 登入RAM控制台

  2. 建立自訂權限原則,具體操作請參見建立自訂權限原則。您可以使用以下策略指令碼內容,為RAM使用者授予SchedulerX管理員權限策略,擁有該主帳號下SchedulerX所有資源系統管理權限。

    {
      "Statement": [
        {
          "Action": "edas:*Schedulerx*",
          "Effect": "Allow",
          "Resource": [
                    "acs:edas:*:*:*"
                ]
        }
      ],
      "Version": "1"
    }
  3. (可選)建立使用者或使用者組。具體操作,請參見建立RAM使用者建立RAM使用者組。若已存在可跳過。

  4. 為單個使用者指派步驟2配置的權限原則。具體操作,請參見為RAM使用者授權

  5. 為使用者組分配步驟2配置的權限原則以及將使用者添加至具備相應權限原則的使用者組。

    1. 為使用者組分配權限原則。具體操作,請參見為RAM使用者組授權8

    2. 將使用者添加至具備相應權限原則的使用者組。具體操作,請參見方式二:在RAM使用者組頁面添加RAM使用者到RAM使用者組9

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}

參數

描述

${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