MaxCompute投遞任務(新版)運行時,需要讀取Logstore中的資料,您可以使用自訂角色完成該操作。本文介紹如何對自訂角色進行授權。
前提條件
已建立RAM角色(例如MaxcomputeShipRole)。具體操作,請參見建立可信實體為阿里雲服務的RAM角色。
建立RAM角色時,必須選擇可信實體類型為阿里雲服務。
請檢查角色的信任策略如下,
Service
內容至少包含"log.aliyuncs.com"
。{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com" ] } } ], "Version": "1" }
操作步驟
授予RAM角色讀取Logstore資料的許可權後,MaxCompute投遞任務可以使用該角色讀取Logstore中的資料。
登入RAM控制台。
建立具備讀取Logstore資料許可權的策略。
在左側導覽列中,選擇
。單擊建立權限原則。
在建立權限原則頁面的指令碼編輯頁簽中,將配置框中的原有指令碼替換為如下內容,然後單擊繼續編輯基本資料。
精確授權。
在實際情境中,請根據實際情況替換Project名稱和Logstore名稱。
{ "Version":"1", "Statement":[ { "Action":[ "log:GetCursorOrData", "log:ListShards" ], "Resource":[ "acs:log:*:*:project/Project名稱/logstore/Logstore名稱/*" ], "Effect":"Allow" } ] }
模糊比對授權。
例如Project名稱為log-project-dev-a、log-project-dev-b、log-project-dev-c等,Logstore名稱為website_a_log、website_b_log、website_c_log等,則您可以使用模糊比對授權。在實際情境中,請根據實際情況替換Project名稱和Logstore名稱。
{ "Version":"1", "Statement":[ { "Action":[ "log:GetCursorOrData", "log:ListShards" ], "Resource":[ "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log*" ], "Effect":"Allow" } ] }
設定名稱,然後單擊確定。
例如設定策略名稱稱為log-maxcompute-export-source-policy。
為RAM角色授權。
在左側導覽列中,選擇 。
單擊目標RAM角色對應的新增授權。
單擊步驟2中建立的權限原則(例如log-maxcompute-export-source-policy)。
確認授權結果,單擊確認新增授權。
完成上述操作後,您可以授權MaxCompute投遞任務(新版)使用自訂RAM角色讀取源Logstore中的資料,即您在建立MaxCompute投遞任務(新版)時,選擇讀Log Service授權為自訂角色,然後輸入自訂RAM角色的ARN(例如acs:ram::10****12:role/maxcomputeshiprole)。如何擷取ARN,請參見查看RAM角色。