DataWorks支持您通過自定義RAM Policy策略并授權給指定RAM用戶的方式,實現精細化權限管理。使得RAM用戶僅擁有該權限策略所定義的權限。本文為您介紹產品及控制臺權限控制能力與自定義權限策略的常見應用示例。
前提條件
已了解RAM Policy的語法結構,詳情請參見權限策略語法和結構。
已了解DataWorks產品及控制臺權限管控基本情況,詳情請參見產品及控制臺權限控制詳情:RAM Policy。
注意事項
以下內容僅為自定義策略,您需要在創建RAM權限策略后將該策略授權給指定RAM用戶(子賬號),該RAM用戶才能擁有您指定的權限。RAM用戶授權詳情請參見為RAM用戶授權。
產品級管控權限策略
策略一:禁止RAM用戶執行所有操作
管理員可授權禁止RAM用戶執行所有操作的RAM Policy給某用戶,授權后該用戶將無法使用DataWorks的所有功能。例如,操作管理控制臺、使用DataWorks各模塊界面功能、調用OpenAPI。
授權腳本如下。
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "dataworks:*",
"Resource": "*"
}
]
}
策略二:禁止RAM用戶調用OpenAPI
管理員可授權禁止RAM用戶調用OpenAPI的RAM Policy給某用戶,授權后該用戶將無法調用DataWorks的OpenAPI。
授權腳本如下。
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "dataworks:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"dataworks:Scope": "OpenAPI"
}
}
}
]
}
策略三:禁止RAM用戶進入DataWorks各模塊界面
管理員可授權禁止RAM用戶進入DataWorks各模塊界面的RAM Policy給某用戶,授權后該用戶將無法進入DataWorks產品內各模塊界面。
該策略僅禁止RAM用戶訪問模塊界面,若該用戶擁有相關模塊的API調用權限,則可繼續正常調用。
授權腳本如下。
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "dataworks:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"dataworks:Scope": "Page"
}
}
}
]
}
控制臺實體對象級權限管控策略
當前針對DataWorks控制臺各細節操作的權限管控,DataWorks細分出以下的自定義策略。
Resource說明:
實際自定義策略時,您需要將下表中Resource中占位符
$
表示的內容替換為真實ID值。例如,$regionid
需要替換為真實的地域ID值、$accountid
需要替換為阿里云主賬號的UID。*
為通配符,實際使用時您可以替換為具體的參數值,用來做進一步權限管控范圍的細化。例如,將workspace/*
替換為workspace/workspaceid
則表明權限策略生效的范圍為指定的這個工作空間內。
對象1:工作空間
Action | Resource | Action說明 |
CreateWorkspace | acs:dataworks:$regionid:$accountid:workspace/* | 創建工作空間 |
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 | 啟用工作空間 |
應用示例:自定義角色,授予角色修改工作空間權限
腳本編輯的權限策略代碼如下。
{
"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/* | 展示獨享資源組頁簽。如果沒有此授權,則在控制臺中看不到獨享資源組的頁簽。 | ListResourceGroup和ShowResourceGroupDetail通常組合應用于控制用戶查看獨享資源組頁簽的權限。
說明
|
ShowResourceGroupDetail | acs:dataworks:$regionid:$accountid:exclusive_resource_group/$resourceGroupName | 根據資源組名稱展示資源組詳情。 | |
CreateResourceGroup | acs:dataworks:$regionid:$accountid:exclusive_resource_group/* | 創建獨享資源組。 | 非購買獨享資源組,此處為授權用戶可根據已購買的訂單在DataWorks的控制臺上創建資源組。資源組的購買、擴容、縮容、續費、規格變更等資源購買相關操作需要有AliyunDataWorksFullAccess和AliyunBSSOrderAccess權限。 |
ModifyResourceGroup | acs:dataworks:$regionid:$accountid:exclusive_resource_group/$resourceGroupName | 修改獨享資源組。 | - |
應用示例1:自定義角色,授予角色查看并管理某個獨享資源組的權限
腳本編輯的權限策略代碼如下。
{ "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" }
應用示例2:自定義角色,授予角色查看所有上海地域資源組、創建及修改獨享資源組的權限
說明創建獨享資源組權限指選擇訂單來新建資源組,而非購買獨享資源的權限。
腳本編輯的權限策略代碼如下。
{ "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/* | 查看聯系人 |
ModifyContacts | acs:dataworks:$regionid:$accountid:contacts_ram_user/* | 修改聯系人信息 |
ListAlarmResource | acs:dataworks:$regionid:$accountid:alarm_resource/* | 查看報警資源 |
SetUpperLimits | acs:dataworks:$regionid:$accountid:alarm_resource/* | 設置報警數量上限 |
應用示例:自定義角色,授予角色查看報警資源、設置報警數量上線、查看聯系人權限、修改聯系人信息
腳本編輯的權限策略代碼如下。
{
"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"
}