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