在DataWorks中,您可使用某RAM用戶扮演指定RAM角色,并通過該角色登錄DataWorks進行相關開發操作。本文為您介紹如何使用角色SSO(Role-Based SSO)的方式登錄并使用DataWorks。
背景信息
DataWorks支持使用如下方式登錄:
使用云賬號登錄
您可通過主賬號或RAM用戶登錄并使用DataWorks。該方式通過輸入賬號、密碼的方式登錄阿里云控制臺,并以當前登錄賬號的身份使用DataWorks。該云賬號將成為DataWorks某個工作空間的成員,擁有DataWorks產品的使用權限。
使用角色登錄
隨著企業安全監管要求的日益嚴格,部分企業更愿意通過角色SSO的方式登錄并使用DataWorks,此時,阿里云訪問控制角色(RAM Role)將成為DataWorks某個工作空間的成員,扮演該角色的使用者將擁有類似與云賬號成員同樣的產品使用權限。角色詳情,請參見RAM角色概覽和SAML角色SSO概覽。
注意事項
DataWorks目前支持創建的數據源中,僅MaxCompute、Hologres支持使用RAM角色操作。
以下授權操作如果需要RAM用戶或角色完成,請為RAM用戶或角色授權AliyunRAMFullAccess策略。授權詳情,請參見為RAM用戶授權。
步驟一:新建RAM角色
登錄RAM控制臺。
云賬號管理者以賬號、密碼方式,使用阿里云主賬號登錄RAM控制臺。
在左側導航欄,選擇 。
創建角色。
在角色頁面,單擊創建角色,按照指引創建RAM角色。
若需要通過阿里云控制臺切換身份方式扮演該角色,選擇阿里云賬號類型角色。詳情請參見創建可信實體為阿里云賬號的RAM角色。
若需要通過本地IDP身份提供商賬號登錄至阿里云扮演該角色,選擇身份提供商類型角色。詳情請參見創建可信實體為身份提供商的RAM角色。
步驟二:定義RAM角色策略
在
頁面,單擊角色名稱,在信任策略頁簽定義RAM角色策略。內容策略大致分兩部分,一部分定義該RAM角色可被阿里云賬號下RAM用戶或IDP身份扮演,另一部分定義該RAM角色可被DataWorks服務扮演,具體策略內容如下,您可根據實際場景選擇。請替換下述策略中的UID為阿里云主賬號的UID,替換IDP為您選擇的身份提供商的名稱。
場景一:RAM賬號扮演RAM角色
若需要通過RAM用戶扮演RAM角色訪問DataWorks,請修改RAM角色的信任策略,內容如下:
如下策略中,允許兩個實體(指定RAM用戶和DataWorks服務)獲取扮演角色的臨時身份憑證,AssumeRole的更多信息,請參見AssumeRole - 獲取扮演角色的臨時身份憑證。
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"RAM": [
"acs:ram::UID:root"
]
}
},
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"dataworks.aliyuncs.com"
]
}
}
],
"Version": "1"
}
場景二:IDP身份提供商賬號扮演RAM角色
若需要通過IDP身份提供商賬號扮演RAM角色訪問DataWorks,請修改RAM角色的信任策略,內容如下:
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"saml:recipient": "https://signin.aliyun.com/saml-role/sso"
}
},
"Effect": "Allow",
"Principal": {
"Federated": [
"acs:ram::UID:saml-provider/IDP"
]
}
},
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"dataworks.aliyuncs.com"
]
}
}
],
"Version": "1"
}
步驟三:授權RAM用戶AliyunSTSAssumeRoleAccess策略
如果您使用RAM用戶而非IDP賬號來扮演RAM角色,請為RAM用戶授予AliyunSTSAssumeRoleAccess策略。允許RAM用戶調用STS服務,通過調用AssumeRole接口,來獲取該RAM角色的STS Token,獲得該臨時身份憑證。策略授權,詳情請參見為RAM用戶授權。
若通過IDP身份提供商賬號扮演RAM角色,無須執行此步驟。
步驟四:RAM用戶通過RAM角色登錄DataWorks
本步驟為您展示RAM用戶如何扮演RAM角色,登錄并使用DataWorks。角色SSO詳情,請參見SAML角色SSO概覽。
使用RAM用戶(子賬號)登錄DataWorks控制臺。
切換身份。
進入DataWorks管理控制臺后,將鼠標懸停至右上方個人信息處,單擊切換身份,通過RAM角色登錄DataWorks管理控制臺。
后續步驟
創建工作空間后,您可執行如下操作:
將RAM角色加入DataWorks工作空間進行數據開發
DataWorks空間管理員可將該RAM角色添加至DataWorks工作空間進行數據開發,操作詳情請參見添加空間成員并管理成員角色權限。
將RAM角色設置為MaxCompute生產調度身份
創建MaxCompute數據源時,可將該RAM角色設置為MaxCompute引擎生產環境調度訪問身份,一旦設置為調度訪問身份后,該RAM角色請勿再用于其它地方,并且需保障所有任務均通過獨享調度資源組執行。