使用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角色的許可權。其中關鍵參數配置如下:
關鍵參數
說明
授权范围
選擇帳號層級,許可權在當前阿里雲帳號內生效。
授权主体
選擇role-A。即您在步驟一:建立角色A中建立的角色role-A。
自定义策略
選擇ori_read。
-
擷取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角色的許可權。其中關鍵參數配置如下:
關鍵參數
說明
授权范围
選擇帳號層級,許可權在當前阿里雲帳號內生效。
授权主体
選擇role-B。即您在步驟三:建立角色B中建立的角色role-B。
自定义策略
選擇write。
-
擷取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角色的許可權。其中關鍵參數配置如下:
關鍵參數
說明
授权范围
選擇帳號層級,許可權在當前阿里雲帳號內生效。
授权主体
選擇role-B。即您在步驟三:建立角色B中建立的角色role-B。
自定义策略
選擇write。
-
擷取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使用者建立的帳號內資料流轉任務完成。具體操作,請參見管理資料加工任務。
-