DataWorks自定義權(quán)限策略參考
如果系統(tǒng)權(quán)限策略不能滿足您的要求,您可以創(chuàng)建自定義權(quán)限策略實現(xiàn)最小授權(quán)。使用自定義權(quán)限策略有助于實現(xiàn)權(quán)限的精細(xì)化管控,是提升資源訪問安全的有效手段。本文介紹DataWorks使用自定義權(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)限策略版本。
操作文檔
常見自定義權(quán)限策略場景及示例
產(chǎn)品級管控權(quán)限策略
策略一:禁止RAM用戶執(zhí)行所有操作
管理員可授權(quán)禁止RAM用戶執(zhí)行所有操作的RAM Policy給某用戶,授權(quán)后該用戶將無法使用DataWorks的所用功能。例如,操作管理控制臺、使用DataWorks各模塊界面功能、調(diào)用OpenAPI。
授權(quán)腳本如下。
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "dataworks:*",
"Resource": "*"
}
]
}
策略二:禁止RAM用戶調(diào)用OpenAPI
管理員可授權(quán)禁止RAM用戶調(diào)用OpenAPI的RAM Policy給某用戶,授權(quán)后該用戶將無法調(diào)用DataWorks的OpenAPI。
授權(quán)腳本如下。
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "dataworks:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"dataworks:Scope": "OpenAPI"
}
}
}
]
}
策略三:禁止RAM用戶進入DataWorks各模塊界面
管理員可授權(quán)禁止RAM用戶進入DataWorks各模塊界面的RAM Policy給某用戶,授權(quán)后該用戶將無法進入DataWorks產(chǎn)品內(nèi)各模塊界面。
該策略僅禁止RAM用戶訪問模塊界面,若該用戶擁有相關(guān)模塊的API調(diào)用權(quán)限,則可繼續(xù)正常調(diào)用。
授權(quán)腳本如下。
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "dataworks:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"dataworks:Scope": "Page"
}
}
}
]
}
控制臺實體對象級權(quán)限管控策略
當(dāng)前針對DataWorks控制臺各細(xì)節(jié)操作的權(quán)限管控,DataWorks細(xì)分出以下的自定義策略。
Resource說明:
實際自定義策略時,您需要將下表中Resource中占位符
$
表示的內(nèi)容替換為真實ID值。例如,$regionid
需要替換為真實的地域ID值、$accountid
需要替換為阿里云主賬號的UID。*
為通配符,實際使用時您可以替換為具體的參數(shù)值,用來做進一步權(quán)限管控范圍的細(xì)化。例如,將workspace/*
替換為workspace/workspaceid
則表明權(quán)限策略生效的范圍為指定的這個工作空間內(nèi)。
對象1:工作空間
Action | Resource | Action說明 |
CreateWorkspace | acs:dataworks:$regionid:$accountid:workspace/* | 創(chuàng)建工作空間 |
ModifyWorkspace | acs:dataworks:$regionid:$accountid:workspace/$workspaceName | 修改工作空間 |
DeleteWorkspace | acs:dataworks:$regionid:$accountid:workspace/$workspaceName | 刪除工作空間 |
DisableWorkspace | acs:dataworks:$regionid:$accountid:workspace/$workspaceName | 禁用工作空間 |
EnableWorkspace | acs:dataworks:$regionid:$accountid:workspace/$workspaceName | 啟用工作空間 |
應(yīng)用示例:自定義角色,授予角色修改工作空間權(quán)限
腳本編輯的權(quán)限策略代碼如下。
{
"Statement": [
{
"Action": "dataworks:ModifyWorkspace",
"Effect": "Allow",
"Resource": "acs:dataworks:$regionid:$accountid:workspace/$workspaceName"
}
],
"Version": "1"
}
對象2:資源組
Action | Resource | Action說明 | 注意事項 |
ListResourceGroup | acs:dataworks:$regionid:$accountid:exclusive_resource_group/* | 展示獨享資源組頁簽。如果沒有此授權(quán),則在控制臺中看不到獨享資源組的頁簽。 | ListResourceGroup和ShowResourceGroupDetail通常組合應(yīng)用于控制用戶查看獨享資源組頁簽的權(quán)限。
說明 授權(quán)ShowResourceGroupDetail前必須先授權(quán)ListResourceGroup,僅有ShowResourceGroupDetail權(quán)限時無法查看獨享資源組詳情。 |
ShowResourceGroupDetail | acs:dataworks:$regionid:$accountid:exclusive_resource_group/$resourceGroupName | 根據(jù)資源組名稱展示資源組詳情。 | |
CreateResourceGroup | acs:dataworks:$regionid:$accountid:exclusive_resource_group/* | 創(chuàng)建獨享資源組。 | 非購買獨享資源組,此處為授權(quán)用戶可根據(jù)已購買的訂單在DataWorks的控制臺上創(chuàng)建資源組。資源組的購買、擴容、縮容、續(xù)費、規(guī)格變更等資源購買相關(guān)操作需要有AliyunDataWorksFullAccess和AliyunBSSOrderAccess權(quán)限。 |
ModifyResourceGroup | acs:dataworks:$regionid:$accountid:exclusive_resource_group/$resourceGroupName | 修改獨享資源組。 | - |
應(yīng)用示例1:自定義角色,授予角色查看并管理某個獨享資源組的權(quán)限
腳本編輯的權(quán)限策略代碼如下。
{ "Statement": [ { "Action": "dataworks:ListResourceGroup", "Effect": "Allow", "Resource": "acs:dataworks:*:1111:exclusive_resource_group/*" }, { "Action": "dataworks:ShowResourceGroupDetail", "Effect": "Allow", "Resource": "acs:dataworks:*:11111:exclusive_resource_group/resourceGroupName2" }, { "Action": "dataworks:ModifyResourceGroup", "Effect": "Allow", "Resource": "acs:dataworks:*:111:exclusive_resource_group/resourceGroupName2" } ], "Version": "1" }
應(yīng)用示例2:自定義角色,授予角色查看所有上海地域資源組、創(chuàng)建及修改獨享資源組的權(quán)限
說明創(chuàng)建獨享資源組權(quán)限指選擇訂單來新建資源組,而非購買獨享資源的權(quán)限。
腳本編輯的權(quán)限策略代碼如下。
{ "Statement": [ { "Action": "dataworks:ListResourceGroup", "Effect": "Allow", "Resource": "acs:dataworks:*:$accountid:exclusive_resource_group/*" }, { "Action": "dataworks:ShowResourceGroupDetail", "Effect": "Allow", "Resource": "acs:dataworks:cn-shanghai:$accountid:exclusive_resource_group/*" }, { "Action": "dataworks:CreateResourceGroup", "Effect": "Allow", "Resource": "acs:dataworks:cn-shanghai:$accountid:exclusive_resource_group/*" }, { "Action": "dataworks:ModifyResourceGroup", "Effect": "Allow", "Resource": "acs:dataworks:cn-shanghai:$accountid:exclusive_resource_group/resourceGroupName1" }, { "Action": "dataworks:ModifyResourceGroup", "Effect": "Allow", "Resource": "acs:dataworks:cn-shanghai:$accountid:exclusive_resource_group/resourceGroupName2" } ], "Version": "1" }
對象3:報警信息
Action | Resource | Action說明 |
ListContacts | acs:dataworks:$regionid:$accountid:contacts_ram_user/* | 查看聯(lián)系人 |
ModifyContacts | acs:dataworks:$regionid:$accountid:contacts_ram_user/* | 修改聯(lián)系人信息 |
ListAlarmResource | acs:dataworks:$regionid:$accountid:alarm_resource/* | 查看報警資源 |
SetUpperLimits | acs:dataworks:$regionid:$accountid:alarm_resource/* | 設(shè)置報警數(shù)量上限 |
應(yīng)用示例:自定義角色,授予角色查看報警資源、設(shè)置報警數(shù)量上線、查看聯(lián)系人權(quán)限、修改聯(lián)系人信息
腳本編輯的權(quán)限策略代碼如下。
{
"Statement": [
{
"Action": "dataworks:ListAlarmResource",
"Effect": "Allow",
"Resource": "*"
},
{
"Action": "dataworks:SetUpperLimits",
"Effect": "Allow",
"Resource": "acs:dataworks:$regionid:$accountid:alarm_resource/*"
},
{
"Action": "dataworks:ListContacts",
"Effect": "Allow",
"Resource": "acs:dataworks:$regionid:$accountid:contacts_ram_user/*"
},
{
"Action": "dataworks:ModifyContacts",
"Effect": "Allow",
"Resource": "acs:dataworks:$regionid:$accountid:contacts_ram_user/*"
}
],
"Version": "1"
}
授權(quán)信息參考
使用自定義權(quán)限策略,您需要了解業(yè)務(wù)的權(quán)限管控需求,并了解DataWorks的授權(quán)信息。詳細(xì)內(nèi)容請參見授權(quán)信息。