阿里云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日志并进行多维度分析。
相关文章
|
5月前
|
DataWorks 数据可视化 安全
DataWorks产品使用合集之SLS日志中新增了存在iotId这个字段,同步的时候怎么手动增加
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之如何批量设置项目表的查询和修改权限
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
DataWorks 数据管理 大数据
DataWorks操作报错合集之跨账号创建数据源时遇到报错,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
4月前
|
分布式计算 自然语言处理 DataWorks
MaxCompute产品使用合集之在DataWorks中,当涉及到MC的投递功能时,所指的自定义RAM角色是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6月前
|
运维 分布式计算 DataWorks
DataWorks产品使用合集之dataworks为子账号创建DataWorks访问密钥的基本步骤如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
71 0
|
数据采集 SQL 运维
阿里云日志服务SLS简介和购买流程
日志服务SLS是云原生观测与分析平台,为Log、Metric、Trace等数据提供大规模、低成本、实时的平台化服务。日志服务一站式提供数据采集、加工、查询与分析、可视化、告警、消费与投递等功能,全面提升您在研发、运维、运营、安全等场景的数字化能力
|
机器学习/深度学习 人工智能 分布式计算
DataWorks管控台无法配置PAI引擎临时解决方案
大数据开发治理平台 DataWorks基于MaxCompute/EMR/MC-Hologres等大数据计算引擎,为客户提供专业高效、安全可靠的一站式大数据开发与治理平台,自带阿里巴巴数据中台与数据治理最佳实践,赋能各行业数字化转型。在DataWorks工作空间配置PAI引擎后机器学习才能对接DataWorks然后PAI引用MaxCompute表作为数据源进行模型训练。之前DW空间支持一键关联开通PAI,DW新改版因为对管控台一体化流程的改进,这个功能会挪到小扳手。由于目前这个功能还未开发完毕,所以就给之前创建空间后未开通PAI的客户带来了很多困扰,本文临时性提供一下解决方案,以供正常使用。
42816 0
DataWorks管控台无法配置PAI引擎临时解决方案
|
6月前
|
数据采集 弹性计算 监控
跨阿里云账号采集日志
本文介绍跨阿里云账号采集日志的操作步骤。
152 0
跨阿里云账号采集日志
|
存储 运维 监控
CloudLens for OSS--数据洞察可观测平台发布
日志服务联合阿里云OSS推出CloudLens for OSS,支持Bucket粒度的统一管理视图,支持资源用量、访问分析、异常检测、安全分析等可视化分析能力,提供场景化运维管理,实现Bucket资产的可观测性。
254 0
|
存储 数据采集 运维
阿里云RAM账号配置SLS数据加工最佳实践
数据加工服务是阿里云SLS推出的面向日志ETL处理的服务,主要解决数据加工过程中转换、过滤、分发、富化等场景。使用数据加工功能时,将涉及数据读写权限以及数据加工操作权限的授予问题。本文档主要介绍:1. 使用主账号为RAM用户授权以使其具有浏览Logstore数据的权限并能够创建和修改数据加工作业;2. 在不同工作场景下使用RAM账号创建或修改数据加工的最佳实践方法。