本文介紹使用者將Logstore的日誌投遞到本帳號或其他帳號下的OSS Bucket的過程中,涉及的RAM許可權配置步驟。
前提條件
OSS Bucket擁有者已建立RAM角色(AliyunLogDefaultRole),具體步驟請參見雲資源訪問授權。
使用RAM使用者建立OSS投遞任務
每一個OSS投遞任務只能指定一個OSS Bucket,如果您需要同時投遞到兩個阿里雲帳號的OSS Bucket,請建立兩個投遞任務。
Logstore和Bucket屬於同帳號
如果您要使用RAM使用者建立投遞任務,需由阿里雲帳號為RAM使用者授予相關許可權。
使用阿里雲帳號登入RAM 控制台。
建立權限原則。
在左側導覽列中,單擊許可權管理 > 權限原則。
單擊建立權限原則。
選擇指令碼編輯。將策略文檔中的原有指令碼替換為如下內容,然後單擊繼續編輯基本資料。
輸入策略名稱稱,然後單擊確定。
說明權限原則中需要包含PassRole許可權。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "log:*", "Resource": "*" }, { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "*" } ] }
建立RAM使用者。具體操作,請參見建立RAM使用者。
為RAM使用者授權。
在左側導覽列中,單擊身份管理 > 使用者。
找到目標RAM使用者,單擊添加許可權。
在權限原則地區,從下拉式清單中選擇自訂策略,選中步驟2中建立的策略,然後單擊確認新增授權。
Logstore和Bucket屬於不同帳號
Logstore和Bucket屬於不同雲帳號,Logstore屬於A帳號,Bucket屬於B帳號。
B帳號完成前提條件。
B帳號修改AliyunLogDefaultRole的信任策略,以便於A帳號可以寫入B帳號的Bucket。
使用阿里雲帳號A登入RAM 控制台。
建立RAM使用者A1。具體操作,請參見建立RAM使用者。
為RAM使用者A1授予AliyunRAMFullAccess許可權。
在左側導覽列中,選擇身份管理 > 使用者。
找到RAM使用者A1,單擊添加許可權。
在權限原則地區,搜尋並選中AliyunRAMFullAccess,然後單擊確認新增授權。
授權成功後,RAM使用者A1具備存取控制(RAM)的所有許可權。
如果您需要控制RAM使用者A1的許可權範圍,只授予投遞到OSS的必要許可權,可以為RAM使用者A1授予自訂權限原則,策略指令碼如下所示,其中
Resource
中配置為帳號B的AliyunLogDefaultRole的角色標識。建立自訂權限原則的操作步驟請參見建立自訂權限原則。{ "Statement": [ { "Action": "ram:PassRole", "Effect": "Allow", "Resource": "acs:ram::${阿里雲帳號B的主帳號ID}:role/aliyunlogdefaultrole" } ], "Version": "1" }
擷取RAM角色標識(ARN)。
在該角色的基本資料中查看,例如acs:ram::13234:role/logrole。
使用RAM使用者A1配置投遞任務時,寫OSS RAM角色中輸入此步驟中擷取的RAM角色標識。
使用阿里雲主帳號建立OSS投遞任務
阿里雲主帳號擁有帳號下所有雲資源的系統管理權限,為了降低安全風險,強烈建議使用RAM使用者。
每一個OSS投遞任務只能指定一個OSS Bucket,如果您需要同時投遞到兩個阿里雲帳號的OSS Bucket,請建立兩個投遞任務。
Logstore和Bucket屬於同一雲帳號:只需完成前提條件。
Logstore和Bucket屬於不同雲帳號,Logstore屬於A帳號,Bucket屬於B帳號。
B帳號完成前提條件。
B帳號修改AliyunLogDefaultRole的信任策略,以便於A帳號可以寫入B帳號的Bucket。
修改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" }
擷取RAM角色標識(ARN)。在該角色的基本資料中查看,例如
acs:ram::13234:role/logrole
。阿里雲帳號A配置投遞任務時,在寫OSS RAM角色中輸入此步驟中擷取的RAM角色標識。
相關文檔
Log Service可以通過扮演AliyunLogDefaultRole擷取所有Bucket的寫入許可權,如果需要縮小許可權範圍,請解除AliyunLogDefaultRole角色的AliyunLogRolePolicy許可權,為AliyunLogDefaultRole角色授予自訂權限原則。