OSS投递任务(新版)运行时,将拉取Logstore中的数据并投递到OSS Bucket中,您可以使用自定义角色来完成以上操作。本文介绍如何对自定义角色进行授权。
步骤一:授予RAM角色读取Logstore数据的权限
授予RAM角色读取Logstore数据的权限后,OSS投递任务可以使用该角色读取Logstore中的数据。
- 使用阿里云账号登录RAM控制台。
- 创建具备读取Logstore数据权限的策略。
- 在左侧导航栏中,选择。
- 单击创建权限策略。
- 在创建权限策略页面的脚本编辑页签中,将配置框中的原有脚本替换为如下内容,然后单击继续编辑基本信息。
- 精确授权。
在实际场景中,请根据实际情况替换Project名称和Logstore名称。
{
"Version":"1",
"Statement":[
{
"Action":[
"log:GetCursorOrData",
"log:ListShards"
],
"Resource":[
"acs:log:*:*:project/Project名称/logstore/Logstore名称",
"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等,则您可以使用模糊匹配授权。在实际场景中,请根据实际情况替换Project名称和Logstore名称。
{
"Version":"1",
"Statement":[
{
"Action":[
"log:GetCursorOrData",
"log:ListShards"
],
"Resource":[
"acs:log:*:*:project/log-project-dev-*/logstore/website_*_log*",
"acs:log:*:*:project/log-project-dev-*/logstore/website_*_log*/*"
],
"Effect":"Allow"
}
]
}
- 设置名称,然后单击确定。
例如设置策略名称为log-oss-export-source-policy。
- 为RAM角色授权。
- 在左侧导航栏中,选择。
- 单击目标RAM角色对应的添加权限。
- 选择自定义策略,并选中步骤2中创建的权限策略(例如log-oss-export-source-policy),单击确定。
- 确认授权结果,单击完成。
- 获取RAM角色标识(ARN)。
您可以在该角色的
基本信息中查看RAM角色标识,例如acs:ram::13****44:role/logrole。请记录该信息,如果您在创建OSS投递任务时使用的是自定义角色,则需要在
读Logstore RAM角色中输入该信息。

步骤二:授予RAM角色写OSS Bucket的权限
授予RAM角色写OSS Bucket的权限后,OSS投递任务可以使用该角色将Logstore中的数据写入到目标OSS Bucket中。
- 使用阿里云账号登录RAM控制台。
- 创建具备写OSS Bucket权限的策略。
- 在左侧导航栏中,选择。
- 单击创建权限策略。
- 在创建权限策略页面的脚本编辑页签中,将配置框中的原有脚本替换为如下内容,然后单击继续编辑基本信息。
{
"Version": "1",
"Statement": [
{
"Action": [
"oss:PutObject"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
如果您有更细粒度的OSS权限控制需求,请参见RAM Policy概述。
- 设置名称,然后单击确定。
例如设置策略名称为log-oss-export-sink-policy。
- 为RAM角色授权。
- 在左侧导航栏中,选择。
- 单击目标RAM角色对应的添加权限。
- 选择自定义策略,并选中步骤2中创建的权限策略(例如log-oss-export-sink-policy),单击确定。
- 确认授权结果,单击完成。
- 获取RAM角色标识(ARN)。
您可以在该角色的
基本信息中查看RAM角色标识,例如acs:ram::13****44:role/ossrole。请记录该信息,如果您在创建OSS投递任务时使用的是自定义角色,则需要在
写OSS RAM角色中输入该信息。
