使用RAM用户创建数据加工任务时,您可以通过访问密钥完成跨账号的日志数据流转。

前提条件

背景信息

跨账号场景下,使用RAM用户创建数据加工任务,RAM用户S需要具有源Logstore的读数据权限,RAM用户T需要具有目标Logstore的写权限。该场景下的授权原理如下图所示。场景5

步骤一:使用阿里云账号1获取RAM用户S的AccessKey

  1. 使用阿里云账号1登录RAM控制台
  2. 获取RAM用户S的AccessKey。
    具体操作,请参见创建AccessKey
    说明
    • AccessKey Secret只在创建时显示,不支持查询,请妥善保管。
    • 若AccessKey泄露或丢失,则需要创建新的AccessKey,最多可以创建2个AccessKey。

步骤二:使用阿里云账号2获取RAM用户T的AccessKey

  1. 使用阿里云账号2登录RAM控制台
  2. 获取RAM用户T的AccessKey。
    具体操作,请参见创建AccessKey
    说明
    • AccessKey Secret只在创建时显示,不支持查询,请妥善保管。
    • 若AccessKey泄露或丢失,则需要创建新的AccessKey,最多可以创建2个AccessKey。

步骤三:使用阿里云账号1为RAM用户S授予源Logstore读数据权限

  1. 使用阿里云账号1登录RAM控制台
  2. 通过脚本编辑模式,创建自定义权限策略。该权限策略用于读取源Logstore中的数据。例如新建权限策略为ori_read
    具体操作,请参见创建自定义权限策略。其中关键参数配置如下:
    关键参数说明
    名称输入自定义权限策略名称。例如ori_read
    策略内容将配置框中的原有脚本替换为如下内容。
    例如:源Project名称为log-project-prod,源Logstore名称为access_log。在实际场景中,请根据实际情况替换。
    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:ListShards",
            "log:GetCursorOrData",
            "log:GetConsumerGroupCheckPoint",
            "log:UpdateConsumerGroup",
            "log:ConsumerGroupHeartBeat",
            "log:ConsumerGroupUpdateCheckPoint",
            "log:ListConsumerGroup",
            "log:CreateConsumerGroup"
          ],
          "Resource": [
            "acs:log:*:*:project/log-project-prod/logstore/access_log",
            "acs:log:*:*:project/log-project-prod/logstore/access_log/*"
          ],
          "Effect": "Allow"
        }
      ]
    }
  3. 为RAM用户S授予源Logstore读权限。
    具体操作,请参见为RAM用户授权。其中关键参数配置如下:
    关键参数说明
    授权范围选择整个云账号。权限在当前阿里云账号内生效。
    授权主体选择用户S
    自定义策略选择ori_read

步骤四:使用阿里云账号2为RAM用户T授予目标Logstore写数据权限

  1. 使用阿里云账号2登录RAM控制台
  2. 通过脚本编辑模式,创建自定义权限策略。该权限策略用于将数据加工结果写入到目标Logstore。例如新建权限策略为write
    具体操作,请参见创建自定义权限策略。其中关键参数配置如下:
    关键参数说明
    名称输入自定义权限策略名称。例如write
    策略内容将配置框中的原有脚本替换为如下内容。
    例如:目标Project名称为log-project-prod,目标Logstore名称为access_log_output。在实际场景中,请根据实际情况替换。
    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:Post*",
            "log:BatchPost*"
          ],
           "Resource": "acs:log:*:*:project/log-project-prod/logstore/access_log_output",
          "Effect": "Allow"
        }
      ]
    }
  3. 为RAM用户T授予目标Logstore写权限。
    具体操作,请参见为RAM用户授权。其中关键参数配置如下:
    关键参数说明
    授权范围选择整个云账号。权限在当前阿里云账号内生效。
    授权主体选择用户T
    自定义策略选择write

步骤五:使用RAM用户创建数据加工任务

  1. 使用RAM用户登录日志服务控制台
  2. 进入数据加工页面。
    1. 在Project列表区域,单击目标Project。
    2. 日志存储 > 日志库页签中,单击目标Logstore。
    3. 在查询和分析页面,单击数据加工
  3. 在页面右上角,选择数据的时间范围。
    请确保在原始日志页签中有日志数据。
  4. 在编辑框中,输入数据加工语句。
    加工语句的语法请参见数据加工语法
  5. 预览数据。
    1. 单击快速
      日志服务支持快速预览和高级预览。更多信息,请参见预览调试概述
    2. 单击预览数据

      查看预览结果。

      • 如果加工语句错误或者权限配置错误,导致数据加工失败,请根据页面提示处理。
      • 如果确认数据加工结果无误,请执行步骤下一步。
  6. 创建数据加工任务。
    1. 单击保存数据加工
    2. 创建数据加工任务面板中,配置相关参数,然后单击确定
      其中,其他参数配置请参考数据加工快速入门。该场景中关键参数配置如下:访问密钥-同账号
      关键参数说明
      授权方式选择密钥
      AccessKey IDRAM用户S的AccessKey ID。
      AccessKey SecretRAM用户S的AccessKey Secret。
      存储目标授权方式选择密钥
      AccessKey IDRAM用户T的AccessKey ID。
      AccessKey SecretRAM用户T的AccessKey Secret。
    数据加工任务创建成功并运行后,使用RAM用户创建的跨账号数据流转任务完成。具体操作,请参见管理数据加工任务