本文介紹使用者將Logstore的日誌投遞到本帳號或其他帳號下的OSS Bucket的過程中,涉及的RAM許可權配置步驟。
使用RAM使用者建立OSS投遞任務(推薦)
每一個OSS投遞任務只能指定一個OSS Bucket,如果您需要同時投遞到兩個阿里雲帳號的OSS Bucket,請建立兩個投遞任務。
同帳號投遞
Logstore和Bucket屬於同一阿里雲帳號。
操作步驟
建立RAM使用者
ram-user
。具體操作,請參見建立RAM使用者。授權RAM使用者
ram-user
讀取Logstore資料以及投遞資料到OSS。建立自訂權限原則
ShipLogsToOSS
,策略指令碼如下所示。具體操作步驟,請參見建立自訂權限原則。說明請根據實際情況替換指令碼中的Project名稱和Logstore名稱。
{ "Version": "1", "Statement": [{ "Effect": "Allow", "Action": [ "log:GetLogStore", "log:GetIndex", "log:GetLogStoreHistogram", "log:GetLogStoreLogs" ], "Resource": [ "acs:log:*:*:project/Project名稱/logstore/Logstore名稱", "acs:log:*:*:project/Project名稱/logstore/internal-diagnostic_log" ] }, { "Effect": "Allow", "Action": [ "log:CreateJob", "log:UpdateJob", "log:DeleteJob", "log:ListJobs", "log:GetJob" ], "Resource": "acs:log:*:*:project/Project名稱/job/*" }, { "Effect": "Allow", "Action": [ "log:ListLogStores", "log:ListDashboard", "log:ListSavedSearch" ], "Resource": "acs:log:*:*:project/Project名稱/*" }, { "Effect": "Allow", "Action": [ "ram:PassRole", "ram:GetRole", "ram:ListRoles" ], "Resource": "*" } ] }
後續操作
使用RAM使用者登入Log Service控制台,並建立OSS投遞任務。具體操作,請參見建立OSS投遞任務(舊版)。
跨帳號投遞
Logstore和Bucket屬於不同阿里雲帳號,假如Logstore屬於A帳號,Bucket屬於B帳號。
操作步驟
B帳號修改AliyunLogDefaultRole的信任策略,以便於A帳號可以寫入B帳號的Bucket。
A帳號建立RAM使用者
ram-user-a
。具體操作,請參見建立RAM使用者。授權RAM使用者
ram-user-a
讀取Logstore資料以及投遞資料到OSS。建立自訂權限原則
ShipLogsToOSS
,策略指令碼如下所示,其中請根據實際情況替換{阿里雲帳號B的主帳號ID}
。具體操作步驟,請參見建立自訂權限原則。{ "Version": "1", "Statement": [{ "Effect": "Allow", "Action": [ "log:GetLogStore", "log:GetIndex", "log:GetLogStoreHistogram", "log:GetLogStoreLogs" ], "Resource": [ "acs:log:*:*:project/Project名稱/logstore/Logstore名稱", "acs:log:*:*:project/Project名稱/logstore/internal-diagnostic_log" ] }, { "Effect": "Allow", "Action": [ "log:CreateJob", "log:UpdateJob", "log:DeleteJob", "log:ListJobs", "log:GetJob" ], "Resource": "acs:log:*:*:project/Project名稱/job/*" }, { "Effect": "Allow", "Action": [ "log:ListLogStores", "log:ListDashboard", "log:ListSavedSearch" ], "Resource": "acs:log:*:*:project/Project名稱/*" }, { "Effect": "Allow", "Action": [ "ram:PassRole", "ram:GetRole", "ram:ListRoles" ], "Resource": "acs:ram::{阿里雲帳號B的主帳號ID}:role/aliyunlogdefaultrole" } ] }
為RAM使用者
ram-user-a
添加ShipLogsToOSS
許可權。具體操作,請參見為RAM使用者授權。
後續操作
使用RAM使用者登入Log Service控制台,並建立OSS投遞任務。具體操作,請參見建立OSS投遞任務(舊版)。
使用阿里雲主帳號建立OSS投遞任務
阿里雲主帳號擁有帳號下所有雲資源的系統管理權限,為了降低安全風險,強烈建議使用RAM使用者。
每一個OSS投遞任務只能指定一個OSS Bucket,如果您需要同時投遞到兩個阿里雲帳號的OSS Bucket,請建立兩個投遞任務。
同帳號投遞
Logstore和Bucket屬於同一阿里雲帳號。
操作步驟
建立RAM角色(AliyunLogDefaultRole),具體步驟請參見雲資源訪問授權。
後續操作
使用阿里雲帳號(主帳號)登入Log Service控制台,並建立OSS投遞任務。具體操作,請參見建立OSS投遞任務(舊版)。
跨帳號投遞
Logstore和Bucket屬於不同阿里雲帳號,假如Logstore屬於A帳號,Bucket屬於B帳號。
操作步驟
B帳號建立RAM角色(AliyunLogDefaultRole),具體步驟請參見雲資源訪問授權。
B帳號修改AliyunLogDefaultRole的信任策略,以便於A帳號可以寫入B帳號的Bucket。
後續操作
使用阿里雲帳號(主帳號)登入Log Service控制台,並建立OSS投遞任務。具體操作,請參見建立OSS投遞任務(舊版)。
修改AliyunLogDefaultRole的信任策略
將阿里雲帳號A下的日誌投遞至帳號B下的OSS Bucket中,需要修改AliyunLogDefaultRole的信任策略。操作步驟如下所示:
阿里雲帳號B在雲資源訪問授權頁面,建立角色AliyunLogDefaultRole。
使用阿里雲帳號B登入RAM 控制台。
在左側導覽列中,選擇身份管理 > 角色。
在RAM角色列表中,單擊
AliyunLogDefaultRole
。在信任策略頁簽中,單擊編輯信任策略。
說明在
Service
配置項中添加{阿里雲帳號A的主帳號ID}@log.aliyuncs.com
,其中請根據實際情況替換{阿里雲帳號A的主帳號ID}
,您可以在帳號中心中查看阿里雲帳號ID。{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "{阿里雲帳號A的主帳號ID}@log.aliyuncs.com", "log.aliyuncs.com" ] } } ], "Version": "1" }