Log Service支援使用預設角色AliyunLogETLRole或自訂角色建立定時SQL任務。本文介紹如何授權自訂RAM角色分析和寫入Logstore。
授予自訂RAM角色分析源Logstore的許可權
使用阿里雲帳號(主帳號)或Resource Access Management員登入源Logstore所在阿里雲的RAM控制台。
建立一個RAM角色,例如命名為:
QueryLogstoreRole
。具體操作,請參見建立可信實體為阿里雲服務的RAM角色。重要建立RAM角色時,必須選擇可信實體類型為阿里雲服務,且必須選擇受信服務為Log Service。
請檢查角色的信任策略如下,
Service
內容至少包含"log.aliyuncs.com"
。{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com" ] } } ], "Version": "1" }
建立一個自訂權限原則,例如命名為:
QueryLogstorePolicy
。該策略具備分析源Logstore日誌的許可權。具體操作,請參見通過指令碼編輯模式建立自訂權限原則。其中在指令碼編輯頁簽,您可選擇使用精確授權或模糊比對授權指令碼替換配置框中的原有內容。
精確授權
指令碼中的
{project-name}
和{logstore-name}
請根據實際情況替換。重要權限原則中的Logstore包括了Logstore和MetricStore。當您的操作對象為MetricStore時,如下策略同樣適用。
{ "Version":"1", "Statement":[ { "Action":[ "log:PostProjectQuery" ], "Resource":[ "acs:log:*:*:project/{project-name}/logstore/{logstore-name}" ], "Effect":"Allow" }, { "Action":[ "log:GetProjectQuery", "log:PutProjectQuery", "log:DeleteProjectQuery" ], "Resource":[ "acs:log:*:*:project/{project-name}" ], "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:PostProjectQuery" ], "Resource":[ "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log" ], "Effect":"Allow" }, { "Action":[ "log:GetProjectQuery", "log:PutProjectQuery", "log:DeleteProjectQuery" ], "Resource":[ "acs:log:*:*:project/log-project-dev-*" ], "Effect":"Allow" } ] }
為RAM角色
QueryLogstoreRole
授予自訂權限原則QueryLogstorePolicy
。具體操作,請參見為RAM角色授權。
後續操作
授予自訂RAM角色寫目標Logstore的許可權
使用阿里雲帳號(主帳號)或Resource Access Management員登入目標Logstore所在阿里雲的RAM控制台。
建立一個RAM角色,例如命名為:
WriteLogstoreRole
。具體操作,請參見建立可信實體為阿里雲服務的RAM角色。重要建立RAM角色時,必須選擇可信實體類型為阿里雲服務,且必須選擇受信服務為Log Service。
請檢查角色的信任策略如下,
Service
內容至少包含"log.aliyuncs.com"
。{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com" ] } } ], "Version": "1" }
建立一個自訂權限原則,例如命名為:
WriteLogstorePolicy
。該策略具備寫入資料到目標Logstore的許可權。具體操作,請參見通過指令碼編輯模式建立自訂權限原則。其中在指令碼編輯頁簽,您可選擇使用精確授權或模糊比對授權指令碼替換配置框中的原有內容。
精確授權
指令碼中的
{project-name}
和{logstore-name}
請根據實際情況替換。重要權限原則中的Logstore包括了Logstore和MetricStore。當您的操作對象為MetricStore時,如下策略同樣適用。
{ "Version": "1", "Statement": [ { "Action": [ "log:PostLogStoreLogs", "log:PostProjectQuery", "log:BatchPostLogStoreLogs" ], "Resource": "acs:log:*:*:project/{project-name}/logstore/{logstore-name}", "Effect": "Allow" } ] }
模糊比對授權
例如目標Project名稱為log-project-dev-a、log-project-dev-b、log-project-dev-c等,目標Logstore名稱為website_a_log_output、website_b_log_output、website_c_log_output等,則您可以使用模糊比對授權。在實際情境中,請根據實際情況替換Project名稱和Logstore名稱。
{ "Version": "1", "Statement": [ { "Action": [ "log:Post*", "log:BatchPost*" ], "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log_output", "Effect": "Allow" } ] }
為RAM角色
WriteLogstoreRole
授予自訂權限原則WriteLogstorePolicy
。具體操作,請參見為RAM角色授權。(可選)如果源Logstore和目標Logstore不在同一個阿里雲帳號,您還需要修改RAM角色
WriteLogstoreRole
的信任策略。在RAM角色列表中,單擊RAM角色
WriteLogstoreRole
。在信任策略頁簽中,單擊編輯信任策略。並使用以下指令碼替換配置框中的原有內容。
重要請根據實際情況替換
{源Logstore所屬阿里雲帳號的ID}
。您可以在帳號中心查看阿里雲帳號ID。{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com", "{源Logstore所屬阿里雲帳號的ID}@log.aliyuncs.com" ] } } ], "Version": "1" }