您在使用RAM使用者訪問同帳號或其他阿里雲帳號(跨帳號)下的雲資源時,需根據使用情境為RAM使用者授權。同帳號訪問的雲資源時,您需要為RAM使用者授予AliyunADBSparkProcessingDataRole許可權;跨帳號訪問雲資源時,您需要為其他阿里雲帳號授權。本文介紹同帳號授權和跨帳號授權的詳細步驟。
前提條件
叢集的產品系列為湖倉版。
Spark作業許可權說明
提交Spark作業,需要具備以下三種許可權。
AliyunADBFullAccess:管理AnalyticDB for MySQL叢集的許可權。具體操作請參見為RAM子帳號授權。
AnalyticDB for MySQL庫表的讀寫權限:AnalyticDB for MySQL預設通過資料庫帳號進行庫表許可權管理。通過RAM使用者提交Spark作業時,如果Spark作業需要讀寫資料,需要將資料庫普通帳號與RAM使用者綁定。具體操作請參見綁定或解除綁定RAM使用者與資料庫帳號。
AliyunADBSparkProcessingDataRole:用於授權AnalyticDB for MySQL Spark訪問其他雲資源,如訪問OSS目錄,OTS資料等。具體操作請參見同帳號授權。
同帳號授權
同帳號授權時,需先建立RAM使用者。詳情請參見建立RAM使用者。
單擊快速授權連結。
單擊左下角同意授權,快速授予AliyunADBSparkProcessingDataRole許可權。
授權後將自動建立可供AnalyticDB for MySQL使用的服務角色AliyunADBSparkProcessingDataRole,AnalyticDB for MySQL使用此角色來訪問其他雲資源。
僅支援使用阿里雲帳號(主帳號)為RAM使用者授權。
跨帳號授權
AnalyticDB for MySQL Spark支援訪問其他阿里雲帳號的所有雲資源。本文以阿里雲帳號A(主帳號,帳號ID為testAccountID)跨帳號訪問阿里雲帳號B(主帳號,帳號ID為testAccountID1)中的資料為例,介紹跨帳號授權的具體操作。
步驟1:為B帳號建立RAM角色並授權
建立RAM角色,並允許A帳號扮演該RAM角色。
說明如果您已建立RAM角色,並允許A帳號扮演該RAM角色,可跳過該步驟,執行後續步驟。
使用阿里雲帳號B(主帳號)或Resource Access Management員登入RAM控制台。
在左側導覽列,選擇 。
在角色頁面,單擊建立角色。
在建立角色頁面,選擇可信實體類型為阿里雲帳號,然後單擊下一步。
設定角色資訊。
輸入角色名稱。本樣本角色名稱設定為
admin-oss
。可選:輸入備忘。
信任的雲帳號選擇其他云账号,然後輸入A帳號的阿里雲帳號UID(
testAccountID
)。
單擊完成。
為RAM角色精確授權。
單擊精確授權。
在精確授權面板,選擇權限原則類型為系統策略或自訂策略,然後輸入權限原則名稱。
若您想訪問指定VPC下的資源時,需自訂權限原則,並在Resource參數中指定資源所屬的安全性群組和交換器。自訂策略的方法請參見建立自訂權限原則。
本文樣本僅授權訪問指定VPC下的RDS MySQL執行個體,自訂權限原則的名稱為
eni_policy
,權限原則內容如下:說明您需要為RDS MySQL執行個體添加安全性群組,且安全性群組規則的入方向與出方向允許存取RDS MySQL連接埠的訪問請求。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ecs:*", "Resource": "acs:ecs:*:*:securitygroup/<RDS所屬安全性群組ID>" }, { "Effect": "Allow", "Action": "vpc:*", "Resource": "acs:vpc:*:*:vswitch/<RDS所屬交換器ID>" } ] }
單擊確認新增授權。
單擊關閉。
修改信任策略,允許A帳號下任意的RAM使用者扮演該RAM角色。
在左側導覽列,選擇 。
在角色頁面,單擊目標RAM角色名稱。
在信任策略頁簽,單擊編輯信任策略。
修改信任策略內容,然後單擊儲存信任策略。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::testAccountID:root" ] } }, { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "testAccountID@ads.aliyuncs.com" ] } } ], "Version": "1" }
步驟2:為A帳號建立RAM使用者並授予扮演RAM角色的許可權
建立RAM使用者。
使用阿里雲帳號A(主帳號)或Resource Access Management員登入RAM控制台。
在左側導覽列,選擇 。
在使用者頁面,單擊建立使用者。
在建立使用者頁面的使用者帳號資訊地區,設定使用者基本資料。
登入名稱稱:可包含英文字母、數字、半形句號(.)、短劃線(-)和底線(_),最多64個字元。
顯示名稱:最多包含128個字元或漢字。
標籤:單擊,然後輸入標籤鍵和標籤值。為RAM使用者綁定標籤,便於後續基於標籤的使用者管理。
說明單擊添加使用者,可以大量建立多個RAM使用者。
在訪問方式地區,選擇控制台访问,並根據需要設定控制台登入密碼、重設密碼原則和多因素認證策略。詳情請參見控制台訪問。
單擊確定。
建立權限原則,允許RAM使用者扮演任何角色。
在左側導覽列,選擇 。
在權限原則頁面,單擊建立權限原則。
在建立權限原則頁面,單擊指令碼編輯頁簽。
輸入權限原則內容,然後單擊確定。
{ "Version": "1", "Statement": [ { "Action": "ram:PassRole", "Resource": "*", "Effect": "Allow" } ] }
在建立權限原則對話方塊,輸入權限原則名稱和備忘,然後單擊確定。
為RAM使用者授權。
在左側導覽列,選擇 。
在使用者頁面,單擊目標RAM使用者操作列的添加許可權。
在添加許可權面板,為RAM使用者添加步驟2所建立的許可權。
單擊確認新增授權。
單擊關閉。