您可以在資料加工任務中配置阿里雲帳號或RAM使用者的存取金鑰來讀取源Logstore中的資料以及將資料加工結果寫入目標Logstore。阿里雲帳號的存取金鑰具備Logstore資料存取權限,可直接使用。如果您使用的是RAM使用者,可參見本文為RAM使用者授予Logstore資料存取權限。
前提條件
已建立RAM使用者。具體操作,請參見建立RAM使用者。
建立RAM使用者時,請選擇訪問方式為OpenAPI調用訪問,並儲存AccessKey資訊。
RAM使用者的AccessKey Secret只在建立時顯示,不支援查詢,請妥善保管,謹防泄露。
授予RAM使用者源Logstore讀許可權
使用阿里雲帳號為RAM使用者授權後,該RAM使用者將具備讀取源Logstore資料的許可權。您可以在建立資料加工任務時,使用該RAM使用者的存取金鑰。具體操作,請參見建立資料加工任務。
使用阿里雲帳號(主帳號)登入RAM控制台,建立網路系統管理員授權。
建立權限原則。
該權限原則用於讀取源Logstore中的資料。
在左側導覽列,選擇
。在權限原則頁面,單擊建立權限原則。
在建立權限原則頁面,選擇指令碼編輯,將配置框中的原有指令碼替換為如下內容,然後單擊繼續編輯基本資料。
精確授權。
例如:源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" } ] }
模糊比對授權。
例如:源Project名稱為log-project-dev-a、log-project-dev-b、log-project-dev-c等,源Logstore名稱為app_a_log、app_b_log、app_c_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-dev-*/logstore/app_*_log", "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log/*" ], "Effect": "Allow" } ] }
更多授權情境,請參見RAM自訂授權情境。
配置策略名稱,本文以log-etl-source-reader-1-policy為例,然後單擊確定。
授予RAM使用者讀取源Logstore的許可權。
在左側導覽列,選擇 。
找到目標RAM使用者,單擊添加許可權。
在新增授權面板,選擇策略類型為自訂策略,選中步驟2中建立的權限原則(本文以log-etl-source-reader-1-policy為例),然後單擊確認新增授權。
確認授權結果,單擊關閉。
授予RAM使用者目標Logstore寫入權限
使用阿里雲帳號為RAM使用者授權後,該RAM使用者將具備寫入加工結果到目標Logstore的許可權。您可以在建立資料加工任務時,使用該RAM使用者的存取金鑰。具體操作,請參見建立資料加工任務。
使用阿里雲帳號(主帳號)登入RAM控制台,建立網路系統管理員授權。
建立權限原則。
該權限原則用於將加工結果寫入到目標Logstore。
在左側導覽列,選擇
。在權限原則頁面,單擊建立權限原則。
在建立權限原則頁面,選擇指令碼編輯,將配置框中的原有指令碼替換為如下內容,然後單擊繼續編輯基本資料。
精確授權。
例如:目標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" } ] }
模糊比對授權。
例如:目標Project名稱為log-project-dev-a、log-project-dev-b、log-project-dev-c等,目標Logstore名稱為app_a_log_output、app_b_log_output、app_c_log_output等,則使用模糊比對授權。在實際情境中,請根據實際情況替換。
{ "Version": "1", "Statement": [ { "Action": [ "log:Post*", "log:BatchPost*" ], "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log_output", "Effect": "Allow" } ] }
更多授權情境,請參見RAM自訂授權情境。
配置策略名稱,本文以log-etl-target-writer-1-policy為例,然後單擊確定。
授予RAM使用者寫入資料到目標Logstore的許可權。
在左側導覽列,選擇 。
找到目標RAM使用者,單擊添加許可權。
在新增授權面板,選擇策略類型為自訂策略,然後選中步驟2中建立的權限原則(本文以log-etl-target-writer-1-policy為例),單擊確認新增授權。
確認授權結果,單擊關閉。
後續步驟
在資料加工任務中配置RAM使用者的存取金鑰。具體操作,請參見建立資料加工任務。
在①中輸入具備源Logstore讀許可權的存取金鑰。具體操作,請參見授予RAM使用者源Logstore讀許可權。
在②中輸入具備目標Logstore寫入權限的存取金鑰。具體操作,請參見授予RAM使用者目標Logstore寫入權限。