使用RAM使用者建立資料加工任務時,您可以通過自訂角色完成同帳號內的日誌資料流轉。
前提條件
已建立並擷取源Logstore和目標Logstore的名稱及Project名稱。具體操作,請參見管理Logstore和管理Project。
已建立RAM使用者,並授予RAM使用者資料加工操作許可權。具體操作,請參見授予RAM使用者資料加工操作許可權。
背景資訊
同帳號情境下,使用RAM使用者建立資料加工任務,角色A需要具有源Logstore的讀資料許可權,角色B需要具有目標Logstore的寫入權限。該情境下的授權原理如下圖所示。
步驟一:建立角色A
使用阿里雲帳號(主帳號)或Resource Access Management員登入RAM控制台。
建立角色A。
具體操作,請參見建立可信實體為阿里雲服務的RAM角色。其中關鍵參數配置如下:
關鍵參數
說明
選擇可信實體類型
選擇阿里雲服務。
角色類型
選擇普通服務角色。
角色名稱
輸入角色名稱,例如role-A。
選擇受信服務
選擇Log Service。
步驟二:為角色A授予讀資料許可權
使用阿里雲帳號(主帳號)或Resource Access Management員登入RAM控制台。
通過指令碼編輯模式,建立自訂權限原則。該權限原則用於讀取源Logstore中的資料。例如建立權限原則為ori_read。
具體操作,請參見建立自訂權限原則。其中關鍵參數配置如下:
關鍵參數
說明
名稱
輸入自訂權限原則名稱。例如ori_read。
策略內容
將配置框中的原有指令碼替換為如下內容。
例如:源Project名稱為log-project-prod,源Logstore名稱為access_log。在實際情境中,請根據實際情況替換。
{ "Version": "1", "Statement": [ { "Action": [ "log:ListShards", "log:GetCursorOrData", "log:GetConsumerGroupCheckPoint", "log:UpdateConsumerGroup", "log:ConsumerGroupHeartBeat", "log:ConsumerGroupUpdateCheckPoint", "log:ListConsumerGroup", "log:CreateConsumerGroup" ], "Resource": [ "acs:log:*:*:project/log-project-prod/logstore/access_log", "acs:log:*:*:project/log-project-prod/logstore/access_log/*" ], "Effect": "Allow" } ] }為角色A授予源Logstore讀許可權。
擷取RAM角色標識(ARN)。
在該角色A的基本資料中查看,例如
acs:ram::1379******44:role/role-a。
步驟三:建立角色B
使用阿里雲帳號(主帳號)或Resource Access Management員登入RAM控制台。
建立角色B。
具體操作,請參見建立可信實體為阿里雲服務的RAM角色。其中關鍵參數配置如下:
關鍵參數
說明
選擇可信實體類型
選擇阿里雲服務。
角色類型
選擇普通服務角色。
角色名稱
輸入角色名稱,例如role-B。
選擇授信服務
選擇Log Service。
步驟四:為角色B授予寫資料許可權
使用阿里雲帳號(主帳號)或Resource Access Management員登入RAM控制台。
通過指令碼編輯模式,建立自訂權限原則。該權限原則用於將資料加工結果寫入到目標Logstore。例如建立權限原則為write。
具體操作,請參見建立自訂權限原則。其中關鍵參數配置如下:
關鍵參數
說明
名稱
輸入自訂權限原則名稱。例如write。
策略內容
將配置框中的原有指令碼替換為如下內容。
例如:目標Project名稱為log-project-prod,目標Logstore名稱為access_log_output。在實際情境中,請根據實際情況替換。
{ "Version": "1", "Statement": [ { "Action": [ "log:Post*", "log:BatchPost*" ], "Resource": "acs:log:*:*:project/log-project-prod/logstore/access_log_output", "Effect": "Allow" } ] }為角色B授予目標Logstore寫入權限。
擷取RAM角色標識(ARN)。
在該角色B的基本資料中查看,例如
acs:ram::1379******44:role/role-b。通過指令碼編輯模式,建立自訂權限原則。該權限原則用於將資料加工結果寫入到目標Logstore。例如建立權限原則為write。
具體操作,請參見建立自訂權限原則。其中關鍵參數配置如下:
關鍵參數
說明
名稱
輸入自訂權限原則名稱。例如write。
策略內容
將配置框中的原有指令碼替換為如下內容。
例如:目標Project名稱為log-project-prod,目標Logstore名稱為access_log_output。在實際情境中,請根據實際情況替換。
{ "Version": "1", "Statement": [ { "Action": [ "log:Post*", "log:BatchPost*" ], "Resource": "acs:log:*:*:project/log-project-prod/logstore/access_log_output", "Effect": "Allow" } ] }為角色B授予目標Logstore寫入權限。
擷取RAM角色標識(ARN)。
在該角色B的基本資料中查看,例如
acs:ram::1379******44:role/role-b。
步驟五:使用RAM使用者建立資料加工任務
使用RAM使用者登入Log Service控制台。
進入資料加工頁面。
在Project列表地區,單擊目標Project。
在日誌儲存 > 日誌庫頁簽中,單擊目標Logstore。
在查詢和分析頁面,單擊資料加工。
在頁面右上方,選擇資料的時間範圍。
請確保在原始日誌頁簽中有日誌資料。
在編輯框中,輸入資料加工語句。
加工語句的文法請參見資料加工文法。
預覽資料。
單擊快速。
Log Service支援快速預覽和進階預覽。更多資訊,請參見預覽調試概述。
單擊預覽資料。
查看預覽結果。
如果加工語句錯誤或者許可權配置錯誤,導致資料加工失敗,請根據頁面提示處理。
如果確認資料加工結果無誤,請執行步驟下一步。
建立資料加工任務。
單擊儲存資料加工。
在建立資料加工任務面板中,配置相關參數,然後單擊確定。
其中,其他參數配置請參考資料加工快速入門。該情境中關鍵參數配置如下:

關鍵參數
說明
授權方式
選擇自訂角色。
角色ARN
輸入角色A的ARN。例如
acs:ram::1379******44:role/role-a。儲存目標的授權方式
選擇自訂角色。
角色ARN
輸入角色B的ARN。例如
acs:ram::1379******44:role/role-b。
資料加工任務建立成功並運行後,使用RAM使用者建立的帳號內資料流轉任務完成。具體操作,請參見管理資料加工任務。