分布式任務調(diào)度自定義權(quán)限策略參考
如果系統(tǒng)權(quán)限策略不能滿足您的要求,您可以創(chuàng)建自定義權(quán)限策略實現(xiàn)最小授權(quán)。使用自定義權(quán)限策略有助于實現(xiàn)權(quán)限的精細化管控,是提升資源訪問安全的有效手段。本文介紹分布式任務調(diào)度使用自定義權(quán)限策略示例。
什么是自定義權(quán)限策略
在基于RAM的訪問控制體系中,自定義權(quán)限策略是指在系統(tǒng)權(quán)限策略之外,您可以自主創(chuàng)建、更新和刪除的權(quán)限策略。自定義權(quán)限策略的版本更新需要由您來維護。
創(chuàng)建自定義權(quán)限策略后,需為RAM用戶、用戶組或RAM角色綁定權(quán)限策略,這些RAM身份才能獲得權(quán)限策略中指定的訪問權(quán)限。
已創(chuàng)建的權(quán)限策略支持刪除,但刪除前需確保該策略未被引用。如果該權(quán)限策略已被引用,您需要在該權(quán)限策略的引用記錄中移除授權(quán)。
自定義權(quán)限策略支持版本控制,您可以按照RAM規(guī)定的版本管理機制來管理您創(chuàng)建的自定義權(quán)限策略版本。
操作文檔
SchedulerX權(quán)限說明
主賬號默認擁有該賬號下所有資源的操作管理權(quán)限。在后續(xù)權(quán)限控制中,建議采用RAM訪問控制進行權(quán)限策略分配。SchedulerX基于RAM用戶與用戶組,便于批量設置權(quán)限策略,因此在原SchedulerX對應用的管理下,無需逐個對單獨的用戶進行獨立授權(quán)。SchedulerX的權(quán)限策略支持共享系統(tǒng)權(quán)限策略配置。
系統(tǒng)策略 | 說明 |
AdministratorAccess | 管理所有阿里云資源,包含對SchedulerX下所有操作及資源的訪問操作權(quán)限。 |
下面將對SchedulerX如何自定義權(quán)限策略配置細節(jié)進行說明,在RAM中定義權(quán)限策略主要包括:操作Action和資源Resource,您可根據(jù)SchedulerX定義的規(guī)則自行創(chuàng)建權(quán)限策略。
自定義策略主體結(jié)構(gòu)
{
"Statement": [
{
"Action": "edas:*", // 操作Action配置項,配置說明參考下一節(jié)《操作Action》
"Effect": "Allow",
"Resource": "*" // 操作對象Resource配置項,配置說明參考下一節(jié)《資源Resource》
}
],
"Version": "1",
}
操作Action
SchedulerX的操作Action定義結(jié)構(gòu)如下:
edas:${type}Schedulerx*
${type}
分為4個類型:Read、Manage、Delete、Create。包含相關(guān)操作如下所示:
類型 | 相關(guān)操作 |
Create | 創(chuàng)建命名空間、創(chuàng)建應用、創(chuàng)建任務、創(chuàng)建工作流。 |
Manage |
|
Delete | 刪除命名空間、刪除應用分組、刪除任務、刪除流程。 |
Read | 查詢應用分組、查詢?nèi)蝿铡⒉樵內(nèi)蝿諏嵗⒉樵兞鞒獭⒉樵冊诰€實例。 |
資源Resource
SchedulerX的資源Resource定義結(jié)構(gòu)如下:
acs:edas:${regionid}:${accountid}:namespace/${namespace_id}/${resourceType}/${resourceId}
參數(shù) | 描述 |
| 區(qū)域,針對某個區(qū)域資源訪問。默認可配置 |
| 賬號,針對某個賬戶資源訪問。默認可配置 |
| 命名空間ID,針對某個命名空間。
|
| 資源種類,可選:JobGroup(SchedulerX下的任務應用分組)。 |
| 上述資源類型
|
常見自定義權(quán)限策略示例
給RAM用戶授權(quán)所有資源的管理權(quán)限
管理SchedulerX的所有權(quán)限策略,允許訪問SchedulerX下的所有操作和資源。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"edas:*Schedulerx*"
],
"Resource": [
"acs:edas:*:*:*"
]
}
]
}
給RAM用戶授權(quán)所有資源的只讀權(quán)限
設置ScheudlerX下所有資源的只讀查詢權(quán)限,允許查看SchedulerX下的所有資源信息。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"edas:ReadSchedulerx*"
],
"Resource": [
"acs:edas:*:*:*"
]
}
]
}
給RAM用戶授權(quán)指定命名空間下所有Action的權(quán)限
設置指定空間或者部分空間下所有應用任務資源的管理權(quán)限,命名空間ID值需要從EDAS微服務空間下自行獲取并進行配置。如下表示對兩個空間(命名空間ID-01、命名空間ID-02)具備調(diào)度相關(guān)資源信息的管理權(quán)限。您還可以自行調(diào)整切換其中的Action配置來限制對上述資源的操作(如:Action定義為"edas:ReadSchedulerx*",則表示為對上述兩個空間具備只讀查詢權(quán)限)。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"edas:*Schedulerx*"
],
"Resource": [
"acs:edas:*:*:namespace/命名空間ID-01/*",
"acs:edas:*:*:namespace/命名空間ID-02/*"
]
}
]
}
給RAM用戶授權(quán)指定應用下所有Action的權(quán)限
設置任務調(diào)度中部分應用下的資源訪問管理權(quán)限,Resource指定如下空間對應的JobGroup的應用ID信息即可設置相應應用下的訪問權(quán)限。您也可以通過前綴加“*”模式(如下:"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"
]
}
]
}