OSS投遞任務(新版)運行時,將拉取Logstore中的數據并投遞到OSS Bucket中,您可以使用自定義角色來完成以上操作。本文介紹如何對自定義角色進行授權。
前提條件
已創建RAM角色。具體操作,請參見創建可信實體為阿里云服務的RAM角色。
創建RAM角色時,必須選擇可信實體類型為阿里云服務,且必須選擇受信服務為日志服務。
請檢查角色的信任策略如下,
Service
內容至少包含"log.aliyuncs.com"
。{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com" ] } } ], "Version": "1" }
步驟一:授予RAM角色讀取Logstore數據的權限
授予RAM角色讀取Logstore數據的權限后,OSS投遞任務可以扮演該角色讀取Logstore中的數據。
使用阿里云賬號(主賬號)或RAM管理員登錄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中。
使用阿里云賬號(主賬號)或RAM管理員登錄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投遞任務(新版)。