阿里云系统角色AliyunLogDefaultRole具备读取Logstore数据及写入数据到OSS Bucket的权限。您可以授权OSS-HDFS投递任务扮演AliyunLogDefaultRole角色来读取源Logstore的数据以及将数据写入到OSS Bucket中。
同账号投递
如果您的日志服务Logstore和OSS Bucket属于同一个账号,则您需单击云资源访问授权,在该账号下创建AliyunLogDefaultRole角色。
创建AliyunLogDefaultRole角色后,您在创建OSS-HDFS投递任务时,在写OSS-HDFS RAM角色和读Logstore RAM角色中选中默认角色,即可授权OSS-HDFS投递任务扮演AliyunLogDefaultRole角色读取源Logstore中的数据以及写入数据到OSS Bucket。
跨账号投递
如果日志服务Logstore和OSS Bucket不属于同一个阿里云账号,例如Logstore属于阿里云账号A,OSS Bucket属于账号B,则您需在两个账号下分别单击云资源访问授权,分别创建AliyunLogDefaultRole角色。创建后,还需进行如下配置。
使用阿里云账号B登录RAM 控制台。
在左侧导航栏中,选择 。
修改AliyunLogDefaultRole角色的信任策略。
在RAM角色列表中,单击AliyunLogDefaultRole。
在信任策略页签中,单击编辑信任策略。
将原有的信任策略替换为如下内容,然后单击保存信任策略。
在Service配置项中添加阿里云账号A的ID@log.aliyuncs.com,并根据实际情况替换该值。您可以在账号中心查看阿里云账号ID。
该策略表示账号A有权限通过日志服务获取临时Token来操作账号B中的资源。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "账号A对应的阿里云账号ID@log.aliyuncs.com", "log.aliyuncs.com" ] } } ], "Version": "1" }
完成上述操作后,您在创建OSS-HDFS投递任务时,在写OSS-HDFS RAM角色中选择自定义角色,并输入账号B的AliyunLogDefaultRole角色的ARN(例如acs:ram::11****13:role/aliyunlogdefaultrole),在读Logstore RAM角色中选中默认角色,即可授权OSS-HDFS投递任务扮演账号A下的AliyunLogDefaultRole角色读取源Logstore中的数据,扮演账号B下的AliyunLogDefaultRole角色将数据写入到OSS Bucket。如何获取,请参见获取AliyunLogDefaultRole的ARN。
获取AliyunLogDefaultRole的ARN
使用阿里云账号登录RAM 控制台。
在左侧导航栏中,选择 。
在RAM角色列表中,单击AliyunLogDefaultRole。
在基本信息区域,获取ARN。
请记录该信息,如果您在创建OSS-HDFS投递任务时使用的是默认角色,则需要输入该信息。