MaxCompute投递任务(新版)运行时,需要将读取到的Logstore数据投递到MaxCompute表中,您可以授权MaxCompute投递任务(新版)扮演默认角色完成该操作。本文介绍在MaxCompute和日志服务Project同账号时,如何对默认角色进行授权。
前提条件
如果您使用的是RAM用户,请确保该用户具备操作RAM角色授权的权限。
将您的MaxCompute项目创建为DataWorks的MaxCompute数据源。更多信息,请参见创建MaxCompute数据源。
操作步骤
如果您的日志服务和MaxCompute属于同一个阿里云账号,则您需要单击云资源访问授权,在该账号下创建AliyunLogDefaultRole角色。创建后,还需添加AliyunLogDefaultRole角色为MaxCompute工作空间成员。
修改RAM角色信任策略。具体操作,请参见修改RAM角色的信任策略。
将原有的信任策略替换为如下内容。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com", "dataworks.aliyuncs.com" ] } } ], "Version": "1" }
添加RAM角色为工作空间成员。
登录DataWorks控制台。
在页面左上角,选择地域。
在左侧导航栏中,单击工作空间。
在工作空间列表页面,单击目标工作空间对应的管理。
在工作空间配置,单击空间成员与角色。然后在空间成员页签下,单击添加成员。
在添加成员对话框中,选中当前登录账号和AliyunLogDefaultRole角色,根据页面提示完成添加。
此处需在批量设置角色中选中开发。更多信息,请参见授权给其他用户。
授予AliyunLogDefaultRole角色操作MaxCompute表的权限。
登录MaxCompute控制台,在左上角选择地域。
选择
,在项目管理页面,单击目标项目操作列的管理。在MaxCompute项目管理页面,单击角色权限。
如果出现如下报错,您需要在阿里云主账号下将当前登录的RAM账号添加至目标MaxCompute项目,先在角色列表中单击admin对应的成员管理,然后在成员管理对话框中,选中当前登录RAM账号,根据页面提示完成添加。
在角色列表中,单击role_project_admin角色对应的成员管理。
在成员管理对话框中,选中当前登录账号和AliyunLogDefaultRole角色账号,根据页面提示完成添加。
在角色列表中,单击role_project_admin角色对应的编辑角色。
在编辑角色对话框的Table页签下,选择目标MaxCompute表,选中Describe、Alter和Update。
重要上述授权只针对指定的MaxCompute表。如果您希望目标角色可以操作当前MaxCompute空间项目下所有的表,则您可以为当前登录账号和AliyunLogDefaultRole角色账号添加admin角色权限。即在角色列表中,单击admin角色对应的成员管理,然后在成员管理对话框中,选中当前登录账号和AliyunLogDefaultRole角色账号,根据页面提示完成添加。
创建MaxComputer投递任务。
完成授权后,您在创建MaxCompute投递任务(新版)时,在写MaxCompute授权中选中默认角色,即可授权MaxCompute投递任务(新版)扮演AliyunLogDefaultRole角色将数据投递到MaxCompute表中。具体操作,请参见创建MaxCompute投递任务(新版)。