通过访问密钥访问数据

您可以在数据加工任务中配置阿里云账号或RAM用户的访问密钥来读取源Logstore中的数据以及将数据加工结果写入目标Logstore。阿里云账号的访问密钥具备Logstore数据访问权限,可直接使用。如果您使用的是RAM用户,可参见本文为RAM用户授予Logstore数据访问权限。

前提条件

已创建RAM用户。具体操作,请参见创建RAM用户

重要
  • 创建RAM用户时,请选择访问方式OpenAPI调用访问,并保存AccessKey信息。

  • RAM用户的AccessKey Secret只在创建时显示,不支持查询,请妥善保管,谨防泄露。

授予RAM用户源Logstore读权限

使用阿里云账号为RAM用户授权后,该RAM用户将具备读取源Logstore数据的权限。您可以在创建数据加工任务时,使用该RAM用户的访问密钥。具体操作,请参见创建数据加工任务

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

  2. 创建权限策略。

    该权限策略用于读取源Logstore中的数据。

    1. 在左侧导航栏,选择权限管理 > 权限策略

    2. 权限策略页面,单击创建权限策略

    3. 创建权限策略页面,选择脚本编辑,将配置框中的原有脚本替换为如下内容,然后单击继续编辑基本信息

      • 精确授权。

        例如:源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"
            }
          ]
        }
      • 模糊匹配授权。

        例如:源Project名称为log-project-dev-a、log-project-dev-b、log-project-dev-c等,源Logstore名称为app_a_log、app_b_log、app_c_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-dev-*/logstore/app_*_log",
            "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log/*"
              ],
              "Effect": "Allow"
            }
          ]
        }

        更多授权场景,请参见RAM自定义授权场景

    4. 配置策略名称,本文以log-etl-source-reader-1-policy为例,然后单击确定

  3. 授予RAM用户读取源Logstore的权限。

    1. 在左侧导航栏,选择身份管理 > 用户

    2. 找到目标RAM用户,单击添加权限

    3. 新增授权面板,选择策略类型为自定义策略,选中步骤2中创建的权限策略(本文以log-etl-source-reader-1-policy为例),然后单击确认新增授权

      image

    4. 确认授权结果,单击关闭

授予RAM用户目标Logstore写权限

使用阿里云账号为RAM用户授权后,该RAM用户将具备写入加工结果到目标Logstore的权限。您可以在创建数据加工任务时,使用该RAM用户的访问密钥。具体操作,请参见创建数据加工任务

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

  2. 创建权限策略。

    该权限策略用于将加工结果写入到目标Logstore。

    1. 在左侧导航栏,选择权限管理 > 权限策略

    2. 权限策略页面,单击创建权限策略

    3. 创建权限策略页面,选择脚本编辑,将配置框中的原有脚本替换为如下内容,然后单击继续编辑基本信息

      • 精确授权。

        例如:目标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"
            }
          ]
        }
      • 模糊匹配授权。

        例如:目标Project名称为log-project-dev-a、log-project-dev-b、log-project-dev-c等,目标Logstore名称为app_a_log_output、app_b_log_output、app_c_log_output等,则使用模糊匹配授权。在实际场景中,请根据实际情况替换。

        {
          "Version": "1",
          "Statement": [
            {
              "Action": [
                "log:Post*",
                "log:BatchPost*"
              ],
               "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log_output",
              "Effect": "Allow"
            }
          ]
        }

        更多授权场景,请参见RAM自定义授权场景

    4. 配置策略名称,本文以log-etl-target-writer-1-policy为例,然后单击确定

  3. 授予RAM用户写入数据到目标Logstore的权限。

    1. 在左侧导航栏,选择身份管理 > 用户

    2. 找到目标RAM用户,单击添加权限

    3. 新增授权面板,选择策略类型为自定义策略,然后选中步骤2中创建的权限策略(本文以log-etl-target-writer-1-policy为例),单击确认新增授权

      image

    4. 确认授权结果,单击关闭

后续步骤

在数据加工任务中配置RAM用户的访问密钥。具体操作,请参见创建数据加工任务

修改加工规则