全部產品
Search
文件中心

DataWorks:(進階)RAM角色登入並使用DataWorks

更新時間:Nov 15, 2024

在DataWorks中,您可使用某RAM使用者扮演指定RAM角色,並通過該角色登入DataWork進行相關開發操作。本文為您介紹如何使用角色SSO(Role Base_SSO)的方式登入並使用DataWorks。

背景資訊

DataWorks支援使用如下方式登入:

  • 使用雲帳號登入

    您可通過主帳號或RAM使用者登入並使用DataWorks。該方式通過輸入帳號、密碼的方式登入阿里雲控制台,並以當前登入帳號的身份使用DataWorks。該雲帳號將成為DataWorks某個工作空間的成員,擁有DataWorks產品的使用許可權。

  • 使用角色登入

    隨著企業安全監管要求的日益嚴格,部分企業更願意通過角色SSO的方式登入並使用DataWorks,此時,阿里雲存取控制角色(RAM Role)將成為DataWorks某個工作空間的成員,扮演該角色的使用者將擁有類似雲帳號成員同樣的產品使用許可權。角色詳情,請參見RAM角色概覽SAML角色SSO概覽

注意事項

  • DataWorks目前支援建立的資料來源中,僅MaxComputeHologres支援使用RAM角色操作。

  • 以下授權操作如果需要RAM使用者或角色完成,請為RAM使用者或角色授權AliyunRAMFullAccess策略。授權詳情,請參見為RAM使用者授權

步驟一:建立RAM角色

  1. 登入RAM控制台

    雲帳號管理者以帳號、密碼方式,使用阿里雲主帳號登入RAM控制台。

  2. 在左側導覽列,選擇身份管理 > 角色

  3. 建立角色。

    角色頁面,單擊建立角色,按照指引建立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概覽

  1. 使用RAM使用者(子帳號)登入DataWorks控制台

  2. 切換身份。

    進入DataWorks管理主控台後,將滑鼠移至上方至右上方個人資訊處,單擊切換身份,通過RAM角色登入DataWorks管理主控台。

後續步驟

建立工作空間後,您可執行如下操作:

  • 將RAM角色加入DataWorks工作空間進行資料開發

    DataWorks空間管理員可將該RAM角色添加至DataWorks工作空間進行資料開發,操作詳情請參見增加空間成員並管理成員角色許可權

  • 將RAM角色設定為MaxCompute生產調度身份

    建立MaxCompute資料來源時,可將該RAM角色設定為MaxCompute引擎生產環境調度訪問身份,一旦設定為調度訪問身份後,該RAM角色請勿再用於其它地方,並且需保障所有任務均通過獨享調度資源群組執行。