导出日志数据到MaxCompute时,需要使用默认角色或自定义角色读取Logstore中的日志数据。本文介绍如何配置默认角色和自定义角色读取日志服务权限。
为默认角色授权
操作步骤
使用阿里云账号(主账号)或RAM用户登录阿里云控制台。
单击云资源访问授权完成授权。
说明如果阿里云主账号没有默认角色
AliyunLogDefaultRole
,RAM用户只有第一次单击后会生成该角色。日志服务扮演
AliyunLogDefaultRole
角色来访问您在其他云产品中的资源。默认角色
AliyunLogDefaultRole
的权限策略请参见AliyunLogDefaultRole。
后续操作
AliyunLogDefaultRole角色默认具备读取Logstore数据的权限。在创建MaxCompute投递任务时,选择读日志服务授权为默认角色。更多信息,请参见创建MaxCompute投递任务(新版)。
为自定义角色授权
操作步骤
授予RAM角色读取Logstore数据的权限后,MaxCompute投递任务可以使用该角色读取Logstore中的数据。
使用阿里云账号(主账号)或RAM管理员登录RAM控制台。
创建RAM角色(例如
MaxComputeShipRole
)。具体操作,请参见创建可信实体为阿里云服务的RAM角色。重要创建RAM角色时,必须选择可信实体类型为阿里云服务,且必须选择受信服务为日志服务。
请检查角色的信任策略如下,
Service
内容至少包含"log.aliyuncs.com"
。{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com" ] } } ], "Version": "1" }
创建自定义权限策略(例如
AllowAccessLogstore
),该策略须具备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等,则您可以使用模糊匹配授权。在实际场景中,请根据实际情况替换Project名称和Logstore名称。
{ "Version":"1", "Statement":[ { "Action":[ "log:GetCursorOrData", "log:ListShards" ], "Resource":[ "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log*" ], "Effect":"Allow" } ] }
为RAM角色授权
授予RAM角色(例如
MaxComputeShipRole
)读取Logstore的权限(例如AllowAccessLogstore
)。具体操作步骤,请参见为RAM角色授权。
后续操作
完成授权后,您可在创建MaxCompute投递任务时,选择读日志服务授权为自定义角色。更多信息,请参见创建MaxCompute投递任务(新版)。