賬號授權
您在使用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(主賬號)或RAM管理員登錄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用戶。
創建權限策略,允許RAM用戶扮演任何角色。
在左側導航欄,選擇 。
在權限策略頁面,單擊創建權限策略。
在創建權限策略頁面,單擊腳本編輯頁簽。
輸入權限策略內容,然后單擊確定。
{ "Version": "1", "Statement": [ { "Action": "ram:PassRole", "Resource": "*", "Effect": "Allow" } ] }
輸入權限策略名稱和備注。
單擊確定。
為RAM用戶授權。
在左側導航欄,選擇 。
在用戶頁面,單擊目標RAM用戶操作列的添加權限。
在添加權限面板,為RAM用戶添加步驟2所創建的權限。
單擊確認新增授權。
單擊關閉。