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"
}