阿里云RAM账号配置SLS数据加工最佳实践

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
访问控制,不限时长
简介: 数据加工服务是阿里云SLS推出的面向日志ETL处理的服务,主要解决数据加工过程中转换、过滤、分发、富化等场景。使用数据加工功能时,将涉及数据读写权限以及数据加工操作权限的授予问题。本文档主要介绍:1. 使用主账号为RAM用户授权以使其具有浏览Logstore数据的权限并能够创建和修改数据加工作业;2. 在不同工作场景下使用RAM账号创建或修改数据加工的最佳实践方法。

阿里云日志服务介绍

日志服务(Log Service,简称SLS)是云原生观测与分析平台,为Log、Metric、Trace等数据提供大规模、低成本、实时的平台化服务。日志服务一站式提供数据采集、加工、查询与分析、可视化、告警、消费与投递等功能,全面提升您在研发、运维、运营、安全等场景的数字化能力。

数据加工服务是阿里云SLS推出的面向日志ETL处理的服务,主要解决数据加工过程中转换、过滤、分发、富化等场景。

使用数据加工功能时,将涉及数据读写权限以及数据加工操作权限的授予问题。本文档主要介绍:1. 使用主账号为RAM用户授权以使其具有浏览Logstore数据的能力并能够创建和修改数据加工作业;2. 在不同工作场景下使用RAM账号创建或修改数据加工的最佳实践方法。

在使用RAM用户进行数据加工作业授权配置之前,需要确保RAM用户具有创建与浏览Logstore、创建与更新索引、创建与修改数据加工任务、通过DashBoard对数据加工信息进行观察的一系列权限,这些权限需要由RAM用户对应的主账号进行授予。而在进行数据加工授权配置时,需要对应的主账号为RAM用户或角色授予作业相关的Logstroe的操作权限或者对其它账号的信任。

作为RAM用户创建数据加工作业,需要哪些准备工作

刚创建的RAM用户没有任何权限,对于主账号的任意资源都没有操作能力。在使用RAM账号配置数据加工作业时,需要使用主账号对其进行必要的授权,以便该RAM用户可以浏览Logstore、创建与修改数据加工作业、观察数据加工过程中的统计信息。接下来将详细介绍如何使用主账号创建RAM用户并对其进行必要授权。

主账号创建RAM用户

(已创建RAM用户可跳过该部分,参阅主账号为RAM用户授权部分)

  1. 主账号登录并在RAM访问控制界面点击用户
  2. 点击创建用户
  3. 编辑登录名称和显示名称。
  4. 点击确定。(建议在访问方式模块中开启控制台访问并自定义密码)

主账号为RAM用户授权

创建RAM用户后,该RAM用户无任何权限。您需要为该RAM用户授予系统策略或自定义策略权限。其中,访问控制提供如下两种日志服务的系统策略。

  • AliyunLogFullAccess:管理日志服务的权限。
  • AliyunLogReadOnlyAccess:只读访问日志服务的权限。

当系统策略无法满足您的需求,您可以通过创建自定义策略实现精细化权限管理。同时,出于安全性的考虑,日志服务建议您将RAM用户的权限设置为需求范围内的最小权限。

为RAM用户授权需通过以下步骤进入授权界面。

  1. RAM访问控制界面点击用户
  2. 搜索目标用户。
  3. 点击添加权限

阿里云支持多种授权方式,接下来将介绍操作便捷的极简授权以及可以对RAM用户进行严格权限设置的精确授权方法,两种授权方式对比如下。


操作便捷性

授权粒度

极简授权

非常便捷

宽泛

精确授权

一般

精细

极简授权

在点击添加权限按钮之后,将会弹出添加权限面板,您可以通过以下步骤对RAM用户进行授权。

  1. 在选择权限部分,点击系统策略
  2. 搜索AliyunLogFullAccess。
  3. 点击目标权限策略名
  4. 点击确认

通过该授权,RAM用户将具有对主账号下日志服务的管理权限。

精确授权

登录所使用的RAM用户至少需要拥有对目标logstore索引的查看、创建和修改权限以及对于对应Dashboard的查看、创建和修改权限。为了安全性考虑,主账号可以使用精确授权的方式来严格限制RAM用户对于数据的浏览和操作权限,详细授权步骤如下:

  1. 在选择权限部分点击新建权限策略
  2. 点击脚本编辑
  3. 使用下列脚本替换配置框中的原有脚本来为RAM用户添加有限权限并进行命名,这里假定为(ram-user)。

{

   "Version": "1",

   "Statement": [

       {

           "Effect": "Allow",

           "Action": [

               "log:CreateLogStore",

               "log:CreateIndex",

               "log:UpdateIndex",

               "log:Get*",

               "log:ListSavedSearch"

           ],

           "Resource": [

               "acs:log:*:*:project/Project-名称/logstore/*",

               "acs:log:*:*:project/Project-名称/savedsearch/*"

           ]

       },

       {

           "Action": [

               "log:Get*",

               "log:List*"

           ],

           "Resource": "acs:log:*:*:project/Project-名称/logstore/*",

           "Effect": "Allow"

       },

       {

           "Effect": "Allow",

           "Action": [

               "log:GetDashboard",

               "log:CreateDashboard",

               "log:UpdateDashboard"

           ],

           "Resource": "acs:log:*:*:project/Project-名称/dashboard/internal-etl-insight*"

       },

       {

           "Effect": "Allow",

           "Action": [

               "log:CreateDashboard",

               "log:ListDashboard"

           ],

           "Resource": "acs:log:*:*:project/Project-名称/dashboard/*"

       },

       {

           "Effect": "Allow",

           "Action": "log:*",

           "Resource": "acs:log:*:*:project/Project-名称/job/*"

       },

       {

           "Effect": "Allow",

           "Action": [

               "ram:PassRole",

               "ram:GetRole",

               "ram:ListRoles"

           ],

           "Resource": "*"

       }

   ]

}

更为详细地为RAM用户添加权限的操作请参见访问控制RAM

  1. 为创建的RAM用户添加权限。在RAM访问控制面板通过RAM用户名查找用户,点击该用户右侧的添加权限按钮,选择自定义策略,点击刚创建的ram-user权限策略名称,点击确定,为目标RAM用户赋予对应权限。

作为RAM用户创建数据加工作业流程

日志服务提供的数据加工功能,通过编排内置的两百多个函数,使用协同消费组对日志数据进行消费,实现对日志数据的加工处理。

为了能够通过RAM用户账号来登录SLS日志服务以进行数据加工任务的创建和修改,需要使用其对应的主账号为RAM用户赋予Logtore的创建和浏览、Logstore索引的创建与更新、用户角色的访问与使用的权限。接下来将通过五个典型案例对使用RAM账号配置SLS数据加工进行详细介绍。

数据加工作业运行授权方案概览

权限指在一定条件下允许或拒绝对某些资源执行指定操作,权限策略是一组访问权限的集合。阿里云使用权限来描述角色、用户、用户组对具体资源的访问能力。通过对权限进行严格的限制来保障数据资源的安全。

您可以通过如下三种方式给数据加工授权,详细的配置流程请参考每种授权方式的文档:

三种授权方式特点对比:

授权方式

操作编辑

安全性等级

精确授权

写入跨账号目标

默认角色授权

非常便捷

非常安全

不支持

不支持

自定义角色授权

一般

非常安全

支持

支持

密钥授权

一般

用户需要保证

密钥不泄漏

支持

支持

注意:使用密钥授权的方式相对不安全,且可以用自定义角色授权方式进行取代,二者操作便捷度相当,推荐在精细化、跨账号场景下,使用自定义角色授权

案例一:“默认角色”授权完成【账号内】数据流转

主账号授权系统角色AliyunLogETLRole

阿里云系统角色AliyunLogETLRole具备Logstore数据访问权限以被用来读取源Logstore中的数据、进行数据加工以及将数据加工结果写入目标Logstore。以默认角色的方式进行处理,意味着使用AliyunLogETLRole来进行数据加工作业。该角色能且只能由阿里云主账号来进行创建和删除。因此,RAM用户使用该授权需要确保主账号下存在AliyunLogETLRole角色,否则需要通知主账号对其进行创建。主账号只需在任意数据加工规则配置界面,单击授权方式下方的“授权系统角色AliyunLogETLRole”,根据页面提示,点击同意授权即可创建该角色。或者使用主账号登录云资源访问授权应用,直接创建系统角色AliyunLogETLRole。

授权完成结果如下图所示:

该操作仅在首次配置时需要。

RAM用户创建数据加工作业

  1. RAM用户登录日志服务控制台
  2. 进入数据加工页面。
  1. 在Project列表区域,单击源Project。
  2. 日志存储 > 日志库页签中,单击源Logstore。
  3. 在查询和分析页面,单击数据加工
  1. 在页面右上角,选择数据的时间范围。请确保在原始日志页签中有日志数据。
  2. 在编辑框中,输入加工语句。
  3. 预览数据。
  1. 单击快速日志服务支持快速预览和高级预览。更多信息,请参见预览调试概述
  2. 单击预览数据。查看预览结果。
  1. 创建数据加工作业。
  1. 单击保存数据加工
  2. 创建数据加工规则面板,配置相关参数。
  3. 在主账号下存在阿里云系统角色AliyunLogETLRole时,RAM用户可以直接选择以“默认角色”的方式进行授权而无需进行额外操作。
  1. 最后点击确定即可。

更多详细内容请参阅数据加工快速入门

案例二:“自定义角色”授权完成【账号内】数据流转

概览

当使用同一个主账号下的一个或多个角色进行数据加工配置时,需要确保相关角色具有对应logstore的操作权限,即,读数据角色具有从源logstore读取数据并进行数据加工的权限,而向目标logstore写数据的角色需要具有目标logstore的写入权限,这些权限均需要主账号进行授予。关于如何使用主账号对自定义角色授权的操作请参见“创建自定义角色并授权”部分。

接下来将分别介绍使用主账号创建读数据角色A并授权、主账号创建写数据角色B并授权以及RAM用户使用“自定义角色”授权方式配置数据加工作业。

主账号创建角色A并授权

主账号创建角色A

主账号在RAM访问控制界面可以创建目标角色,步骤如下:

  1. 点击左侧导航栏身份管理->角色
  2. 在角色面板点击创建角色
  3. 选择可信实体类型为阿里云服务
  4. 选择角色类型为普通服务角色
  5. 选择受信服务为日志服务,编写角色名称(role-A),点击完成

主账号为角色A授予读数据权限

(RAM用户需要向主账号提供源Project名和源Logstore名)

  1. 主账号登录RAM访问控制应用。
  2. 点击角色
  3. 在角色面板通过角色名(role-A)搜索角色。
  4. 点击目标角色名右侧的添加权限进入授权界面。

  1. 在选择权限部分,点击新建权限策略
  2. 在创建权限策略界面找到并单击脚本编辑
  3. 使用下列脚本替换编辑框中的原有脚本以配置对源logstore的读权限并单击下一步:编辑基本信息
  4. 输入规则名称,这里假定为ori_read,单击确定
  5. 在左侧导航栏选择身份管理->角色
  6. 在角色界面查找「角色A」并单击角色名。
  7. 单击新增授权,选择自定义策略,并点击第八步输入的规则名称,最后点击确定完成

{

 "Version": "1",

 "Statement": [

   {

     "Action": [

       "log:ListShards",

       "log:GetCursorOrData",

       "log:GetConsumerGroupCheckPoint",

       "log:UpdateConsumerGroup",

       "log:ConsumerGroupHeartBeat",

       "log:ConsumerGroupUpdateCheckPoint",

       "log:ListConsumerGroup",

       "log:CreateConsumerGroup"

     ],

     "Resource": [

       "acs:log:*:*:project/源Project名/logstore/源Logstore名",

       "acs:log:*:*:project/源Project名/logstore/源Logstore名/*"

     ],

     "Effect": "Allow"

   }

 ]

}

主账号创建角色B并授权

主账号创建角色B

主账号在RAM访问控制界面可以创建目标角色,步骤如下:

  1. 点击左侧导航栏身份管理->角色
  2. 在角色面板点击创建角色
  3. 选择可信实体类型为阿里云服务
  4. 选择角色类型为普通服务角色
  5. 选择受信服务为日志服务,编写角色名称(role-B),点击完成

主账号为角色B授予写数据权限

(RAM用户需要向主账号提供目标Project名和目标Logstore名)

  1. 主账号在RAM访问控制界面点击角色
  2. 在角色面板通过角色名搜索角色。
  3. 点击目标角色名右侧的添加权限进入授权界面。

  1. 在选择权限部分,点击新建权限策略
  2. 在创建权限策略界面找到并单击脚本编辑
  3. 使用下列脚本替换编辑框中的原有脚本以配置对目标logstore的写权限并单击下一步:编辑基本信息
  4. 输入规则名称,这里假定为write,单击确定
  5. 在左侧导航栏选择身份管理->角色
  6. 在角色界面查找「角色B」并单击角色名。
  7. 单击新增授权,选择自定义策略,并点击第八步输入的规则名称,最后点击确定完成

{

   "Version": "1",

   "Statement": [

       {

           "Action": [

               "log:Post*",

               "log:BatchPost*"

           ],

           "Resource": [

               "acs:log:*:*:project/目标Project名/logstore/目标Logstore名",

               "acs:log:*:*:project/目标Project名/logstore/目标Logstore名/*"

           ],

           "Effect": "Allow"

       }

   ]

}

RAM用户进行数据加工配置示例

  1. RAM用户登录日志服务控制台
  2. 进入数据加工页面。
  1. 在Project列表区域,单击源Project。
  2. 日志存储 > 日志库页签中,单击源Logstore。
  3. 在查询和分析页面,单击数据加工
  1. 在页面右上角,选择数据的时间范围。请确保在原始日志页签中有日志数据。
  2. 在编辑框中,输入加工语句。
  3. 预览数据。
  1. 单击快速日志服务支持快速预览和高级预览。更多信息,请参见预览调试概述
  2. 单击预览数据。查看预览结果。
  1. 创建数据加工作业。
  1. 单击保存数据加工
  2. 创建数据加工规则面板,配置相关参数。
  3. 授权方式选择“自定义角色”,这里需要通过主账号获取自定义角色的ARN,该数据可以在主账号的RAM访问控制界面的角色面板中找到,将其复制粘贴进去即可。

  1. 最后点击确定即可。

更多详细内容请参阅数据加工快速入门

案例三:“自定义角色”授权完成【跨账号】数据流转

概览

当数据加工所使用的源Logstore和目标Logstore不属于同一个阿里云账号时,除了需要不同的阿里云主账号对角色分别进行授权,目标Logstore的主账号2还需要对源Logstore的主账号1进行授信。

具体而言,就是从源logstore读取数据并进行数据加工的角色A需要具有源logstore的读取权限,而向目标logstore写入数据的角色B需要具有目标logstore的写权限。这些权限需要不同角色对应的主账号分别进行授予。同时,因为数据加工任务运行于主账号1之下,还需要主账号2修改角色B的信任策略对主账号1进行授信。接下来将对这些部分分别进行详细介绍。

主账号1创建角色A并授予logstore1读数据权限

主账号1创建角色A

(已创建角色请从使用主账号1为角色A授予读数据权限开始)

  1. 主账号1登录RAM访问控制界面。
  2. 点击左侧导航栏中角色按钮进入角色面板。
  3. 点击创建角色
  4. 选择可信实体类型为阿里云服务
  5. 选择角色类型为普通服务角色
  6. 选择受信服务为日志服务
  7. 编写角色名称。
  8. 点击完成

主账号1为角色A授予读数据权限

(RAM用户需要向主账号1提供源Project名和源Logstore名)

  1. 主账号1登录RAM访问控制界面。
  2. 点击左侧导航栏中角色按钮进入角色面板
  3. 查找对应的「角色A」
  4. 点击添加权限

  1. 在选择权限部分,单击新建权限策略
  2. 在创建权限策略界面找到并单击脚本编辑
  3. 使用下列脚本替换编辑框中的原有脚本以配置对源logstore的读权限并单击下一步:编辑基本信息
  4. 输入规则名称,这里假定为ori_read,单击确定
  5. 在左侧导航栏选择身份管理->角色
  6. 在角色界面查找「角色A」
  7. 单击角色名右侧新增授权,选择自定义策略,并点击第八步输入的规则名称。
  8. 最后点击确定完成

{

 "Version": "1",

 "Statement": [

   {

     "Action": [

       "log:ListShards",

       "log:GetCursorOrData",

       "log:GetConsumerGroupCheckPoint",

       "log:UpdateConsumerGroup",

       "log:ConsumerGroupHeartBeat",

       "log:ConsumerGroupUpdateCheckPoint",

       "log:ListConsumerGroup",

       "log:CreateConsumerGroup"

     ],

     "Resource": [

       "acs:log:*:*:project/源Project名/logstore/源Logstore名",

       "acs:log:*:*:project/源Project名/logstore/源Logstore名/*"

     ],

     "Effect": "Allow"

   }

 ]

}

主账号2创建角色B并授权

主账号2创建自定义角色B

(已创建角色请从主账号2为角色B授予写数据权限开始)

  1. 主账号2登录RAM访问控制界面。
  2. 点击左侧导航栏中角色按钮进入角色面板。
  3. 点击创建角色
  4. 选择可信实体类型为阿里云服务
  5. 选择角色类型为普通服务角色
  6. 选择受信服务为日志服务
  7. 编写角色名称(role-B)。
  8. 点击完成

主账号2为角色B授予写数据权限

(RAM用户需要向主账号2提供目标Project名和目标Logstore名)

  1. 主账号2登录RAM访问控制界面。
  2. 点击左侧导航栏中角色按钮进入角色面板
  3. 查找对应的目标「角色B」
  4. 点击角色B右侧添加权限

  1. 在选择权限部分,单击新建权限策略
  2. 在创建权限策略界面找到并单击脚本编辑
  3. 使用下列脚本替换编辑框中的原有脚本以配置对目标logstore的写权限并单击下一步:编辑基本信息
  4. 输入规则名称,这里假定为write,单击确定
  5. 在左侧导航栏选择身份管理->角色
  6. 在角色界面查找「角色B」
  7. 单击角色B右侧新增授权,选择自定义策略,并点击第四步输入的规则名称。
  8. 最后点击确定完成

{

   "Version": "1",

   "Statement": [

       {

           "Action": [

               "log:Post*",

               "log:BatchPost*"

           ],

           "Resource": [

               "acs:log:*:*:project/目标Project名/logstore/目标Logstore名",

               "acs:log:*:*:project/目标Project名/logstore/目标Logstore名/*"

           ],

           "Effect": "Allow"

       }

   ]

}

主账号2通过角色B向主账号1授信

  1. 主账号2登录RAM控制台
  2. 在左侧导航栏中,选择身份管理 > 角色
  3. 在RAM角色列表中搜索并单击角色B。
  4. 在信任策略管理页签中,单击修改信任策略

  1. 修改信任策略。配置项内容如下方代码区所示,您需要在Service配置项中添加主账号1的ID,该数据可以在主账号1的账号中心或者将鼠标移动到主账号1的头像上进行查看。该策略表示主账号1有权限通过日志服务获取临时Token来操作主账号2的资源。

{

 "Statement": [

   {

     "Action": "sts:AssumeRole",

     "Effect": "Allow",

     "Principal": {

       "Service": [

         "主账号1的ID@log.aliyuncs.com"

       ]

     }

   }

 ],

 "Version": "1"

}

RAM用户进行数据加工配置示例

  1. RAM用户登录日志服务控制台
  2. 进入数据加工页面。
  1. 在Project列表区域,单击源Project。
  2. 日志存储 > 日志库页签中,单击源Logstore。
  3. 在查询和分析页面,单击数据加工
  1. 在页面右上角,选择数据的时间范围。请确保在原始日志页签中有日志数据。
  2. 在编辑框中,输入加工语句。
  3. 预览数据。
  1. 单击快速日志服务支持快速预览和高级预览。更多信息,请参见预览调试概述
  2. 单击预览数据。查看预览结果。
  1. 创建数据加工作业。
  1. 单击保存数据加工
  2. 创建数据加工规则面板,配置相关参数。
  3. 授权方式选择“自定义角色”,这里需要通过主账号获取自定义角色的ARN,该数据可以在主账号的RAM访问控制界面的角色面板中找到,将其复制粘贴进去即可。


  1. 最后点击确定即可。

更多详细内容请参阅数据加工快速入门

案例四:“密钥”授权完成【账号内】数据流转

概览

使用密钥的授权方式意味着要使用对应的RAM用户进行相关的数据加工操作,因此读数据RAM用户S需要具有源Logstore的读权限,写数据RAM用户T需要具有目标Logstore的写权限,使用同一个阿里云账号下多用户进行数据加工样例如下图所示。

使用密钥的授权方式需要获取目标RAM用户的AccessKey ID以及AccessKey Secret(如果已拥有,可以跳过该部分)。需要注意的是,这些数据只有创建的时候会显示一次,不支持查询操作。如果忘记了,可以将其删除后重新进行创建,详细操作步骤为:

  1. 主账号登录RAM访问控制应用。
  2. 在用户列表搜索目标RAM用户。
  3. 点击用户名进入用户信息面板。
  4. 点击创建AccessKey
  5. 记录AccessKey ID以及AccessKey Secret。

主账号为RAM用户S授予源logstore读权限

(RAM用户需要向主账号提供源Project名和源Logstore名)

  1. 主账号登录RAM访问控制界面。
  2. 在左侧导航栏中,选择权限管理->权限策略
  3. 在权限策略界面单击创建权限策略
  4. 在创建权限策略界面找到并单击脚本编辑
  5. 使用下列脚本替换编辑框中的原有脚本以配置对源logstore的读权限并单击下一步:编辑基本信息
  6. 输入规则名称,这里假定为ori_read,单击确定
  7. 在左侧导航栏选择身份管理->用户
  8. 在用户界面查找「RAM用户S」并单击用户名。
  9. 单击权限管理->新增授权,选择自定义策略,搜索并点击第六步输入的规则名称,最后点击确定完成

{

 "Version": "1",

 "Statement": [

   {

     "Action": [

       "log:ListShards",

       "log:GetCursorOrData",

       "log:GetConsumerGroupCheckPoint",

       "log:UpdateConsumerGroup",

       "log:ConsumerGroupHeartBeat",

       "log:ConsumerGroupUpdateCheckPoint",

       "log:ListConsumerGroup",

       "log:CreateConsumerGroup"

     ],

     "Resource": [

       "acs:log:*:*:project/源Project名/logstore/源Logstore名",

       "acs:log:*:*:project/源Project名/logstore/源Logstore名/*"

     ],

     "Effect": "Allow"

   }

 ]

}

主账号为RAM用户T授予目标logstore写权限

(RAM用户需要向主账号提供目标Project名和目标Logstore名)

  1. 主账号登录RAM访问控制应用。
  2. 在左侧导航栏中,选择权限管理->权限策略
  3. 在权限策略界面单击创建权限策略
  4. 在创建权限策略界面找到并单击脚本编辑
  5. 使用下列脚本替换编辑框中的原有脚本以配置对目标logstore的写权限并单击下一步:编辑基本信息
  6. 输入规则名称,这里假定为write,单击确定
  7. 在左侧导航栏选择身份管理->用户
  8. 在用户界面查找「RAM用户T」并单击用户名。
  9. 单击权限管理->新增授权,选择自定义策略,搜索并点击第六步输入的规则名称,最后点击确定完成

{

   "Version": "1",

   "Statement": [

       {

           "Action": [

               "log:Post*",

               "log:BatchPost*"

           ],

           "Resource": [

               "acs:log:*:*:project/目标Project名/logstore/目标Logstore名",

               "acs:log:*:*:project/目标Project名/logstore/目标Logstore名/*"

           ],

           "Effect": "Allow"

       }

   ]

}

RAM用户进行数据加工配置示例

  1. RAM用户登录日志服务控制台
  2. 进入数据加工页面。
  1. 在Project列表区域,单击源Project。
  2. 日志存储 > 日志库页签中,单击源Logstore。
  3. 在查询和分析页面,单击数据加工
  1. 在页面右上角,选择数据的时间范围。请确保在原始日志页签中有日志数据。
  2. 在编辑框中,输入加工语句。
  3. 预览数据。
  1. 单击快速日志服务支持快速预览和高级预览。更多信息,请参见预览调试概述
  2. 单击预览数据。查看预览结果。
  1. 创建数据加工作业。
  1. 单击保存数据加工
  2. 创建数据加工规则面板,配置相关参数。
  3. 授权方式选择“密钥”,然后依次填入RAM用户S和RAM用户T的AccessKey ID以及AccessKey Secret。

  1. 最后点击确定即可。

更多详细内容请参阅数据加工快速入门

案例五:“密钥”授权完成【跨账号】数据流转

概览

使用密钥的授权方式意味着要使用对应的RAM用户进行相关的数据加工操作,因而读数据RAM用户S需要具有源Logstore的读权限,写数据RAM用户T需要具有目标Logstore的写权限。该场景下使用多跨账号的多用户进行数据加工样例如图所示。

使用密钥的授权方式需要获取目标RAM用户的AccessKey ID以及AccessKey Secret(如果已拥有,可以跳过下列部分)。需要注意的是,这些数据只有创建的时候会显示一次,不支持查询操作。如果忘记了,可以将其删除后重新进行创建,详细操作步骤为:

  1. 主账号登录RAM访问控制应用。
  2. 在用户列表搜索目标RAM用户。
  3. 点击用户名进入用户信息面板。
  4. 点击创建AccessKey
  5. 记录AccessKey ID以及AccessKey Secret。

主账号1为RAM用户S授予源logstore的读权限

(RAM用户需要向主账号1提供源Project名和源Logstore名)

  1. 主账号1登录RAM访问控制应用。
  2. 在左侧导航栏中,选择权限管理->权限策略
  3. 在权限策略界面单击创建权限策略
  4. 在创建权限策略界面找到并单击脚本编辑
  5. 使用下列脚本替换编辑框中的原有脚本以配置对源logstore的读权限并单击下一步:编辑基本信息
  6. 输入规则名称,这里假定为ori_read,单击确定
  7. 在左侧导航栏选择身份管理->用户
  8. 在用户界面查找「RAM用户S」并单击用户名。
  9. 单击权限管理->新增授权,选择自定义策略,搜索并点击第六步输入的规则名称,最后点击确定完成

{

 "Version": "1",

 "Statement": [

   {

     "Action": [

       "log:ListShards",

       "log:GetCursorOrData",

       "log:GetConsumerGroupCheckPoint",

       "log:UpdateConsumerGroup",

       "log:ConsumerGroupHeartBeat",

       "log:ConsumerGroupUpdateCheckPoint",

       "log:ListConsumerGroup",

       "log:CreateConsumerGroup"

     ],

     "Resource": [

       "acs:log:*:*:project/源Project名/logstore/源Logstore名",

       "acs:log:*:*:project/源Project名/logstore/源Logstore名/*"

     ],

     "Effect": "Allow"

   }

 ]

}

主账号2为RAM用户T授予目标logstore的写权限

(RAM用户需要向主账号2提供目标Project名和目标Logstore名)

  1. 主账号2登录RAM访问控制应用。
  2. 在左侧导航栏中,选择权限管理->权限策略
  3. 在权限策略界面单击创建权限策略
  4. 在创建权限策略界面找到并单击脚本编辑
  5. 使用下列脚本替换编辑框中的原有脚本以配置对目标logstore的写权限并单击下一步:编辑基本信息
  6. 输入规则名称,这里假定为write,单击确定
  7. 在左侧导航栏选择身份管理->用户
  8. 在用户界面查找「RAM用户T」并单击用户名。
  9. 单击权限管理->新增授权,选择自定义策略,搜索并点击第六步输入的规则名称,最后点击确定完成

{

   "Version": "1",

   "Statement": [

       {

           "Action": [

               "log:Post*",

               "log:BatchPost*"

           ],

           "Resource": [

               "acs:log:*:*:project/目标Project名/logstore/目标Logstore名",

               "acs:log:*:*:project/目标Project名/logstore/目标Logstore名/*"

           ],

           "Effect": "Allow"

       }

   ]

}

RAM用户进行数据加工配置示例

  1. RAM用户登录日志服务控制台
  2. 进入数据加工页面。
  1. 在Project列表区域,单击源Project。
  2. 日志存储 > 日志库页签中,单击源Logstore。
  3. 在查询和分析页面,单击数据加工
  1. 在页面右上角,选择数据的时间范围。请确保在原始日志页签中有日志数据。
  2. 在编辑框中,输入加工语句。
  3. 预览数据。
  1. 单击快速日志服务支持快速预览和高级预览。更多信息,请参见预览调试概述
  2. 单击预览数据。查看预览结果。
  1. 创建数据加工作业。
  1. 单击保存数据加工
  2. 创建数据加工规则面板,配置相关参数。
  3. 授权方式选择“密钥”,然后依次填入RAM用户S和RAM用户T的AccessKey ID以及AccessKey Secret。

  1. 最后点击确定即可。

更多详细内容请参阅数据加工快速入门

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3天前
|
Go
go配置镜像(阿里云、七牛)
go配置镜像(阿里云、七牛)
10 1
|
1天前
|
缓存 Linux Docker
CentOS 7 下安装 Docker 及配置阿里云加速服务
CentOS 7 下安装 Docker 及配置阿里云加速服务
23 0
|
2天前
|
XML Java Scala
Gradle安装配置阿里云
Gradle安装配置阿里云
9 0
|
3天前
|
Java Linux Maven
Centos7.6安装Maven3.8.3并配置阿里云镜像
Centos7.6安装Maven3.8.3并配置阿里云镜像
36 0
|
3天前
|
Linux
centos7安装maven3.8.1并配置阿里云镜像
centos7安装maven3.8.1并配置阿里云镜像
28 0
|
7天前
|
存储 弹性计算 Linux
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
本文为大家介绍新手用户从注册阿里云账号,完成实名认证,然后试用云服务器和购买云服务器的主要流程,适合初次购买和试用阿里云服务器的新手用户参考。
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
|
30天前
|
存储 固态存储 安全
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
阿里云4核CPU云服务器多少钱?阿里云服务器核数是指虚拟出来的CPU处理器的核心数量,准确来讲应该是vCPU。CPU核心数的大小代表了云服务器的运算能力,CPU越高,云服务器的性能越好。阿里云服务器1核CPU就是一个超线程,2核CPU2个超线程,4核CPU4个超线程,这样云服务器可以同时处理多个任务,计算性能更强。如果网站流程较小,少量图片展示的企业网站,建议选择2核及以上CPU;如果网站流量较大,动态页面比较多,有视频等,建议选择4核、8核以上CPU。
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
|
4天前
|
存储 弹性计算 安全
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
阿里云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。把物理服务器比作买的房子,云服务器ECS,就是租赁的房子,阿里云云服务商就是管家。云服务商负责搭建机房、提供配套服务和维护,用户只需要付租金,即可“拎包入住”,无需自建机房、采购和配置硬件设施。如果不再需要云服务器,可随时“退租”(释放资源),节省成本。本文为大家解析云服务器ECS产品优势、应用场景和最新价格及常见问题。
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
|
28天前
|
存储 固态存储 安全
租用阿里云企业级云服务器最新收费标准与活动价格参考
租用阿里云企业级云服务器多少钱?阿里云服务器有多种实例分类,其中通用型、计算型、内存型、通用算力型、大数据型、本地SSD、高主频型和增强型均属于企业级云服务器,目前在阿里云的活动中,通用型、计算型、内存型和通用算力型均有优惠,下面是阿里云企业级云服务器价格表,包含最新收费标准与活动价格,以表格形式展示给大家,以供参考和了解。
租用阿里云企业级云服务器最新收费标准与活动价格参考

热门文章

最新文章