授权默认角色写数据到MaxCompute(同账号投递)

MaxCompute投递任务(新版)运行时,需要将读取到的Logstore数据投递到MaxCompute表中,您可以授权MaxCompute投递任务(新版)扮演默认角色完成该操作。本文介绍在MaxCompute和日志服务Project同账号时,如何对默认角色进行授权。

前提条件

  • 如果您使用的是RAM用户,请确保该用户具备操作RAM角色授权的权限。

  • 将您的MaxCompute项目创建为DataWorksMaxCompute数据源。更多信息,请参见创建MaxCompute数据源

操作步骤

如果您的日志服务和MaxCompute属于同一个阿里云账号,则您需要单击云资源访问授权,在该账号下创建AliyunLogDefaultRole角色。创建后,还需添加AliyunLogDefaultRole角色为MaxCompute工作空间成员。

  1. 修改RAM角色信任策略。具体操作,请参见修改RAM角色的信任策略

    将原有的信任策略替换为如下内容。

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "log.aliyuncs.com",
              "dataworks.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }
  2. 添加RAM角色为工作空间成员。

    1. 登录DataWorks控制台

    2. 在页面左上角,选择地域。

    3. 在左侧导航栏中,单击工作空间

    4. 工作空间列表页面,单击目标工作空间对应的管理

    5. 工作空间配置,单击空间成员与角色。然后在空间成员页签下,单击添加成员image

    6. 添加成员对话框中,选中当前登录账号和AliyunLogDefaultRole角色,根据页面提示完成添加。

      此处需在批量设置角色中选中开发。更多信息,请参见授权给其他用户image

    7. 授予AliyunLogDefaultRole角色操作MaxCompute表的权限。

      1. 登录MaxCompute控制台,在左上角选择地域。

      2. 选择工作区 > 项目管理,在项目管理页面,单击目标项目操作列的管理image

      3. MaxCompute项目管理页面,单击角色权限image.png

        如果出现如下报错,您需要在阿里云主账号下将当前登录的RAM账号添加至目标MaxCompute项目,先在角色列表中单击admin对应的成员管理,然后在成员管理对话框中,选中当前登录RAM账号,根据页面提示完成添加。image.png

      4. 在角色列表中,单击role_project_admin角色对应的成员管理

      5. 成员管理对话框中,选中当前登录账号和AliyunLogDefaultRole角色账号,根据页面提示完成添加。

      6. 在角色列表中,单击role_project_admin角色对应的编辑角色

      7. 编辑角色对话框的Table页签下,选择目标MaxCompute表,选中DescribeAlterUpdateimage.png

      重要

      上述授权只针对指定的MaxCompute表。如果您希望目标角色可以操作当前MaxCompute空间项目下所有的表,则您可以为当前登录账号和AliyunLogDefaultRole角色账号添加admin角色权限。即在角色列表中,单击admin角色对应的成员管理,然后在成员管理对话框中,选中当前登录账号和AliyunLogDefaultRole角色账号,根据页面提示完成添加。

  3. 创建MaxComputer投递任务。

    完成授权后,您在创建MaxCompute投递任务(新版)时,在MaxCompute授权中选中默认角色,即可授权MaxCompute投递任务(新版)扮演AliyunLogDefaultRole角色将数据投递到MaxCompute表中。具体操作,请参见创建MaxCompute投递任务(新版)MaxCompute投递授权

常见问题