MaxCompute結合了阿里雲的存取控制服務(RAM)和令牌服務(STS)實現對資料的安全訪問。本文為您介紹控制服務(RAM)和令牌服務(STS)的授權方式。
OSS的STS模式授權
MaxCompute外部表格直接存取OSS的資料,需要事先將OSS的資料相關許可權賦予MaxCompute的訪問帳號,您可以通過以下方式授權:
方式一(推薦):當MaxCompute和OSS的Owner是同一個帳號時,登入阿里雲帳號後,單擊此處完成一鍵授權。
方式二:當MaxCompute和OSS的Owner不是同一個帳號時,您可以自訂角色並授權。
建立RAM角色。
使用OSS帳號登入RAM控制台,通過RAM控制台中的RAM角色建立角色。例如角色oss-admin。
說明更多建立角色操作資訊,請參見建立可信實體為阿里雲帳號的RAM角色。
修改RAM角色策略內容。
在RAM控制台中的RAM角色管理頁面,單擊建立的RAM角色名稱後,在信任策略頁簽修改信任策略。當MaxCompute和OSS的Owner不是同一個帳號,設定如下所示,支援跨帳號實現MaxCompute訪問OSS。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "MaxCompute的Owner雲帳號ID@odps.aliyuncs.com" ] } } ], "Version": "1" }
說明MaxCompute的Owner雲帳號ID
為訪問OSS服務的帳號。更多修改角色策略內容操作,請參見修改RAM角色的信任策略。
建立權限原則。
在RAM控制台中的權限原則管理頁面,建立權限原則,例如AliyunODPSRolePolicy。策略內容如下,您也可以自訂其他許可權。
{ "Version": "1", "Statement": [ { "Action": [ "oss:ListBuckets", "oss:GetObject", "oss:ListObjects", "oss:PutObject", "oss:DeleteObject", "oss:AbortMultipartUpload", "oss:ListParts" ], "Resource": "*", "Effect": "Allow" } ] }
將建立的權限原則AliyunODPSRolePolicy授權給建立的RAM角色。
更多授權操作資訊,請參見為RAM角色授權。
OTS的STS模式授權
MaxCompute外部表格直接存取OTS的資料,需要事先將OTS的資料相關許可權賦予MaxCompute的訪問帳號,您可以通過以下方式授權:
方式一(推薦):當MaxCompute和OTS的Owner是同一個帳號時,登入阿里雲帳號後,單擊此處完成一鍵授權。
方式二:當MaxCompute和OTS的Owner不是同一個帳號時,您可以自訂角色並授權。
建立RAM角色。
使用OTS帳號登入RAM控制台,通過RAM控制台中的RAM角色建立角色。例如角色oss-adminots。
更多建立角色操作資訊,請參見建立可信實體為阿里雲帳號的RAM角色。
修改RAM角色策略內容。
在RAM控制台中的RAM角色管理頁面,單擊建立的RAM角色名稱後,在信任策略頁簽修改信任策略。當MaxCompute和OTS的Owner不是同一個帳號時,設定如下所示,支援跨帳號實現MaxCompute訪問OTS。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "MaxCompute的Owner雲帳號的UID@odps.aliyuncs.com" ] } } ], "Version": "1" }
MaxCompute的Owner雲帳號ID
為訪問OTS服務的帳號。建立權限原則。
在RAM控制台中的權限原則管理頁面,建立權限原則,例如AliyunODPSRolePolicy。策略內容如下,您也可以自訂其他許可權。
{ "Version": "1", "Statement": [ { "Action": [ "ots:ListTable", "ots:DescribeTable", "ots:GetRow", "ots:PutRow", "ots:UpdateRow", "ots:DeleteRow", "ots:GetRange", "ots:BatchGetRow", "ots:BatchWriteRow", "ots:ComputeSplitPointsBySize" ], "Resource": "*", "Effect": "Allow" } ] }
將建立的權限原則AliyunODPSRolePolicy授權給建立的RAM角色。
更多授權操作資訊,請參見為RAM角色授權。
Hologres的STS模式授權
MaxCompute外部表格直接存取Hologres的資料,需要先將Hologres的資料相關許可權賦予MaxCompute的訪問帳號,以下介紹Hologres的STS模式授權操作。
使用Hologres帳號登入RAM控制台,通過RAM控制台中的RAM角色建立角色。
阿里雲帳號:
阿里雲帳號下的RAM使用者可以通過扮演RAM角色來訪問雲資源,詳情請參見建立可信實體為阿里雲帳號的RAM角色。
身份供應商:
通過設定SSO實現從企業本地帳號系統登入至阿里雲控制台,幫您解決企業的統一使用者登入認證要求。詳情請參見建立可信實體為身份供應商的RAM角色。
修改信任策略配置內容。
在角色頁面,單擊已建立完成的RAM角色名稱。
單擊信任策略頁簽。
在信任策略頁簽,單擊編輯信任策略。
在編輯信任策略地區,參照如下內容修改信任策略配置。
修改信任策略配置內容與選擇的可信實體類型相關。
可信實體類型為阿里雲帳號:
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<UID>:root" ] } }, { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "<UID>@odps.aliyuncs.com" ] } } ], "Version": "1" }
可信實體類型為身份供應商:
{ "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": [ "<UID>@odps.aliyuncs.com" ] } } ], "Version": "1" }
說明<UID>即阿里雲帳號ID,可在使用者資訊頁面擷取。
單擊確定。
添加RAM角色至Hologres執行個體並授權。
RAM角色需要有Hologres執行個體的開發許可權,才能在許可權範圍內使用Hologres。由於RAM角色預設沒有Hologres管理主控台的查看和操作執行個體的許可權,因此需要阿里雲帳號完成RAM相關許可權授予才能進行後續操作。添加RAM角色至Hologres執行個體,您可以通過如下方式進行授權。
通過Hologres管理主控台授權。
在左側導覽列單擊執行個體列表,單擊需要授權的Hologres執行個體名稱。
在執行個體詳情頁面,單擊帳號管理。
在使用者管理頁面單擊新增使用者添加RAM角色至Hologres執行個體。
在DB授權頁簽,為該RAM角色授予執行個體的開發許可權。
通過SQL方式授權。
您可以通過SQL方式進行授權,授權SQL請參見Hologres許可權模型概述。
若是通過RAM使用者扮演RAM角色,RAM使用者預設沒有Hologres管理主控台的許可權,需要阿里雲帳號給RAM使用者在存取控制頁面授予AliyunRAMReadOnlyAccess許可權,否則RAM使用者無法在Hologres管理主控台進行任何操作。詳情請參見文檔授予RAM使用者權限。
Hologres還支援雙簽名的認證方式,詳情請參見建立Hologres外部表格(雙簽名模式)。