OSS投遞任務(新版)運行時,將拉取Logstore中的資料並投遞到OSS Bucket中,您可以使用自訂角色來完成以上操作。本文介紹如何對自訂角色進行授權。
前提條件
已建立RAM角色。具體操作,請參見建立可信實體為阿里雲服務的RAM角色。
建立RAM角色時,必須選擇可信實體類型為阿里雲服務,且必須選擇受信服務為Log Service。
請檢查角色的信任策略如下,
Service
內容至少包含"log.aliyuncs.com"
。{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com" ] } } ], "Version": "1" }
步驟一:授予RAM角色讀取Logstore資料的許可權
授予RAM角色讀取Logstore資料的許可權後,OSS投遞任務可以扮演該角色讀取Logstore中的資料。
使用阿里雲帳號(主帳號)或Resource Access Management員登入RAM控制台。
建立一個自訂權限原則,該策略具備讀取Logstore資料的許可權。
您可選擇使用精確授權或模糊比對授權。
精確授權
在建立權限原則頁面,單擊指令碼編輯頁簽,並使用以下指令碼替換配置框中的原有內容。具體操作,請參見通過指令碼編輯模式建立自訂權限原則。
重要指令碼中的
Project名稱
和Logstore名稱
請根據實際情況替換。{ "Version":"1", "Statement":[ { "Action":[ "log:GetCursorOrData", "log:ListShards" ], "Resource":[ "acs:log:*:*:project/Project名稱/logstore/Logstore名稱" ], "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等,則您可以使用模糊比對授權。
指令碼中的
log-project-dev-*
和website_*_log*
請根據實際情況替換。
{ "Version":"1", "Statement":[ { "Action":[ "log:GetCursorOrData", "log:ListShards" ], "Resource":[ "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log*" ], "Effect":"Allow" } ] }
為RAM角色添加建立的自訂許可權。具體操作,請參見為RAM角色授權。
步驟二:授予RAM角色寫OSS Bucket的許可權
授予RAM角色寫OSS Bucket的許可權後,OSS投遞任務可以扮演該角色將Logstore中的資料寫入到目標OSS Bucket中。
使用阿里雲帳號(主帳號)或Resource Access Management員登入RAM控制台。
建立一個自訂權限原則,該策略具備寫OSS Bucket許可權。
在建立權限原則頁面,單擊指令碼編輯頁簽,並使用以下指令碼替換配置框中的原有內容。具體操作,請參見通過指令碼編輯模式建立自訂權限原則。
{ "Version": "1", "Statement": [ { "Action": [ "oss:PutObject" ], "Resource": "*", "Effect": "Allow" } ] }
說明如果您有更細粒度的OSS許可權控制需求,請參見RAM Policy。
為RAM角色添加建立的自訂許可權。具體操作,請參見為RAM角色授權。
後續操作
擷取RAM角色標識(ARN),具體操作,請參見查看RAM角色。
如果您在建立OSS投遞任務時讀Logstore RAM角色或寫OSS RAM角色選擇自訂角色,則需要輸入該資訊。更多資訊,請參見建立OSS投遞任務(新版)。