创建数据加工规则时,支持通过配置阿里云主账号或RAM用户的访问密钥来读取源Logstore数据,并将加工数据写入到目标Logstore。本文介绍如何为RAM用户创建具备读写Logstore权限的访问密钥。

背景信息

日志服务数据加工任务运行分为如下三个步骤,其中步骤1和3需要访问Logstore。如果您使用主账号进行访问,则不需要单独配置访问权限。为了账号安全及细粒度权限控制,建议您通过主账号为RAM用户配置相应的权限。
  1. 读取源Logstore数据。
  2. 对源数据进行加工得到结果数据。
  3. 将结果数据写入到目标Logstore。

创建源Logstore访问密钥

  1. 使用主账号登录RAM控制台
  2. 创建RAM用户,详情请参见创建RAM用户
    在创建RAM用户时,访问方式请选择为编程访问,并保存AccessKey信息。
    说明
    • RAM用户最多可以创建2个AccessKey。
    • RAM用户创建AccessKey后,无法再通过控制台查看AccessKeySecret,请您妥善保存AccessKeySecret,谨防泄露。
  3. 创建从源Logstore读取数据的权限策略。
    1. 在左侧导航栏中,单击权限管理 > 权限策略管理
    2. 单击新建权限策略
    3. 新建自定义权限策略页面中,配置如下参数,并单击确定
      参数 说明
      策略名称 配置策略名称,本文以log-etl-source-reader-1-policy为例。
      配置模式 选择脚本配置
      策略内容 将配置框中的原有脚本替换为如下内容。
      • 精确授权。
        例如:源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. 为RAM用户授予读取源Logstore的权限策略。
    1. 在左侧导航栏中,单击人员管理 > 用户
    2. 找到目标RAM用户,单击添加权限
    3. 选择自定义权限策略,并选中步骤3中创建的权限策略(本文以log-etl-source-reader-1-policy为例。),单击确定设置权限

创建目标Logstore访问密钥

  1. 使用主账号登录RAM控制台
  2. 创建RAM用户,详情请参见创建RAM用户
    在创建RAM用户时,访问方式请选择为编程访问,并保存AccessKey信息。
    说明
    • RAM用户最多可以创建2个AccessKey。
    • RAM用户创建AccessKey后,无法再通过控制台查看AccessKeySecret,请您妥善保存AccessKeySecret,谨防泄露。
  3. 创建将加工数据写入目标Logstore的权限策略。
    1. 在左侧导航栏中,单击权限管理 > 权限策略管理
    2. 单击新建权限策略
    3. 新建自定义权限策略页面中,配置如下参数,并单击确定
      参数 说明
      策略名称 配置策略名称,本文以log-etl-target-writer-1-policy为例。
      配置模式 选择脚本配置
      策略内容 将配置框中的原有脚本替换为如下内容。
      • 精确授权。
        例如:源Project名称为log-project-prod,源Logstore名称为access_log_output。在实际场景中,请根据实际情况替换。
        {
          "Version": "1",
          "Statement": [
            {
              "Action": [
                "log:Post*"
              ],
               "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*"
              ],
               "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log_output",
              "Effect": "Allow"
            }
          ]
        }
        更多授权场景请参见RAM自定义授权场景
  4. 为RAM用户授予写入Logstore的权限策略。
    1. 在左侧导航栏中,单击人员管理 > 用户
    2. 找到目标RAM用户,单击添加权限
    3. 选择自定义权限策略,并选中步骤3中创建的权限策略(本文以log-etl-target-writer-1-policy为例。),单击确定
      写入权限

后续步骤

创建数据加工规则时需配置RAM用户的访问密钥。在红框1为创建源Logstore访问密钥时获取的访问密钥,在红框2为创建目标Logstore访问密钥时获取的访问密钥。修改加工规则