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