本文为您介绍如何通过一键式授权或在RAM中自定义角色的方式授权MaxCompute访问OSS和OTS(Tablestore)的权限。MaxCompute结合了阿里云的访问控制服务(RAM)和令牌服务(STS)实现对数据的安全访问。

OSS的STS模式授权

MaxCompute外部表直接访问OSS的数据,需要事先将OSS的数据相关权限赋予MaxCompute的访问账号,您可以通过以下方式授权:
  • 方式一(推荐):当MaxCompute和OSS的Owner是同一个账号时,登录阿里云账号后,单击此处完成一键授权
  • 方式二:当MaxCompute和OSS的Owner不是同一个账号时,您可以自定义角色并授权。
    1. 创建RAM角色。

      使用OSS账号登录RAM控制台,通过RAM控制台中的RAM角色管理创建角色。例如角色oss-admin。

      更多创建角色操作信息,请参见创建可信实体为阿里云账号的RAM角色

    2. 修改RAM角色策略内容。

      在RAM控制台中的RAM角色管理页面,单击新建的RAM角色名称后,在信任策略管理页签修改信任策略。

      更多修改角色策略内容操作,请参见修改RAM角色的信任策略。策略内容如下。

      --当MaxCompute和OSS的Owner不是同一个账号,设置如下,支持跨账号实现MaxCompute访问OSS。
      {
      "Statement": [
      {
       "Action": "sts:AssumeRole",
       "Effect": "Allow",
       "Principal": {
         "Service": [
           "MaxCompute的Owner云账号ID@odps.aliyuncs.com"
         ]
       }
      }
      ],
      "Version": "1"
      }

      MaxCompute的Owner云账号ID为访问OSS服务的账号。

    3. 新建权限策略。

      在RAM控制台中的权限策略管理页面,新建权限策略,例如AliyunODPSRolePolicy。策略内容如下,您也可以自定义其他权限。

      {
      "Version": "1",
      "Statement": [
      {
       "Action": [
         "oss:ListBuckets",
         "oss:GetObject",
         "oss:ListObjects",
         "oss:PutObject",
         "oss:DeleteObject",
         "oss:AbortMultipartUpload",
         "oss:ListParts"
       ],
       "Resource": "*",
       "Effect": "Allow"
      }
      ]
      }
    4. 将新建的权限策略AliyunODPSRolePolicy授权给新建的RAM角色。

      更多授权操作信息,请参见为RAM角色授权

OTS的STS模式授权

MaxCompute外部表直接访问OTS的数据,需要事先将OTS的数据相关权限赋予MaxCompute的访问账号,您可以通过以下方式授权:
  • 方式一(推荐):当MaxCompute和OTS的Owner是同一个账号时,登录阿里云账号后,单击此处完成一键授权
  • 方式二:当MaxCompute和OTS的Owner不是同一个账号时,您可以自定义角色并授权。
    1. 创建RAM角色。

      使用OTS账号登录RAM控制台,通过RAM控制台中的RAM角色管理创建角色。例如角色oss-adminots。

      更多创建角色操作信息,请参见创建可信实体为阿里云账号的RAM角色

    2. 修改RAM角色策略内容。

      在RAM控制台中的RAM角色管理页面,单击新建的RAM角色名称后,在信任策略管理页签修改信任策略。

      --当MaxCompute和OTS的Owner不是同一个账号时,设置如下,支持跨账号实现MaxCompute访问OTS。
      {
      "Statement": [
      {
       "Action": "sts:AssumeRole",
       "Effect": "Allow",
       "Principal": {
         "Service": [
           "MaxCompute的Owner云账号的UID@odps.aliyuncs.com"
         ]
       }
      }
      ],
      "Version": "1"
      }

      MaxCompute的Owner云账号ID为访问OTS服务的账号。

    3. 新建权限策略。

      在RAM控制台中的权限策略管理页面,新建权限策略,例如AliyunODPSRolePolicy。策略内容如下,您也可以自定义其他权限。

      {
      "Version": "1",
      "Statement": [
      {
       "Action": [
         "ots:ListTable",
         "ots:DescribeTable",
         "ots:GetRow",
         "ots:PutRow",
         "ots:UpdateRow",
         "ots:DeleteRow",
         "ots:GetRange",
         "ots:BatchGetRow",
         "ots:BatchWriteRow",
         "ots:ComputeSplitPointsBySize"
       ],
       "Resource": "*",
       "Effect": "Allow"
      }
      ]
      }
    4. 将新建的权限策略AliyunODPSRolePolicy授权给新建的RAM角色。

      更多授权操作信息,请参见为RAM角色授权