授权RAM角色读取Logstore数据

导出日志数据到MaxCompute时,需要使用默认角色或自定义角色读取Logstore中的日志数据。本文介绍如何配置默认角色和自定义角色读取日志服务权限。

为默认角色授权

操作步骤

  1. 使用阿里云账号(主账号)或RAM用户登录阿里云控制台

  2. 单击云资源访问授权完成授权。

    说明
    • 如果阿里云主账号没有默认角色AliyunLogDefaultRole,RAM用户只有第一次单击后会生成该角色。

    • 日志服务扮演AliyunLogDefaultRole角色来访问您在其他云产品中的资源。

    • 默认角色AliyunLogDefaultRole的权限策略请参见AliyunLogDefaultRole

后续操作

AliyunLogDefaultRole角色默认具备读取Logstore数据的权限。在创建MaxCompute投递任务时,选择读日志服务授权默认角色。更多信息,请参见创建MaxCompute投递任务(新版)image

为自定义角色授权

操作步骤

授予RAM角色读取Logstore数据的权限后,MaxCompute投递任务可以使用该角色读取Logstore中的数据。

  1. 使用阿里云账号(主账号)或RAM管理员登录RAM控制台

  2. 创建RAM角色(例如MaxComputeShipRole)。具体操作,请参见创建可信实体为阿里云服务的RAM角色

    重要
    • 创建RAM角色时,必须选择可信实体类型阿里云服务,且必须选择受信服务日志服务

    • 请检查角色的信任策略如下,Service内容至少包含"log.aliyuncs.com"

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "log.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }
  3. 创建自定义权限策略(例如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"
              }
          ]
      }
  4. 为RAM角色授权

    授予RAM角色(例如MaxComputeShipRole)读取Logstore的权限(例如AllowAccessLogstore)。具体操作步骤,请参见为RAM角色授权

后续操作

完成授权后,您可在创建MaxCompute投递任务时,选择读日志服务授权自定义角色。更多信息,请参见创建MaxCompute投递任务(新版)角色标识