赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 数据加工
  6. 数据加工(旧版)
  7. 授权
  8. 通过自定义角色访问数据

通过自定义角色访问数据

  • 授权
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

日志服务支持通过默认角色、自定义角色或密钥方式创建数据加工任务。您可在创建数据加工任务选择自定义角色,本文介绍如何为自定义角色授予Logstore数据访问权限。

前提条件

已创建RAM角色。具体操作,请参见创建可信实体为阿里云服务的RAM角色。

重要
  • 创建RAM角色时,信任主体类型应选择云服务,且信任主体名称应选择日志服务。

  • 请检查角色的信任策略如下,Service内容至少包含"log.aliyuncs.com"。

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "log.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }

授权RAM角色只读访问源Logstore

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

  1. 使用阿里云账号(主账号)或RAM管理员登录RAM控制台。

  2. 创建一个自定义权限策略,例如命名为:log-etl-source-reader-policy。该权限策略用于读取源Logstore中的数据。具体操作,请参见通过脚本编辑模式创建自定义权限策略。

    其中在脚本编辑页签,您可选择使用精确授权或模糊匹配授权脚本替换配置框中的原有内容。

    精确授权

    例如:源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"
        }
      ]
    }
  3. 为RAM角色添加创建的自定义权限。具体操作,请参见为RAM角色授权。

授权RAM角色写数据到目标Logstore(同账号)

源Logstore和目标Logstore属于同一个阿里云账号时,您使用阿里云账号为RAM角色授权后,该RAM角色将具备写入加工结果到目标Logstore的权限。您可以在创建数据加工任务时,使用该RAM角色。具体操作,请参见创建数据加工任务。

  1. 创建一个自定义权限策略,例如命名为:log-etl-target-writer-policy。该权限策略用于将加工结果写入到目标Logstore。具体操作,请参见通过脚本编辑模式创建自定义权限策略。

    其中在脚本编辑页签,您可选择使用精确授权或模糊匹配授权脚本替换配置框中的原有内容。

    精确授权

    例如:目标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*",
            "log:BatchPost*"
          ],
           "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log_output",
          "Effect": "Allow"
        }
      ]
    }
  2. 为RAM角色添加创建的自定义权限。具体操作,请参见为RAM角色授权。

授权RAM角色写数据到目标Logstore(跨账号)

如果源Logstore和目标Logstore不属于同一个阿里云账号,请参见本步骤完成RAM授权。例如将阿里云账号A下的源Logstore中的数据加工后保存至阿里云账号B下的目标Logstore中,您可以按照以下步骤登录阿里云账号B进行授权。

重要

在执行如下步骤前,阿里云账号B已完成授予RAM角色目标Logstore访问权限(同账号)章节中的操作。具体操作,请参见授权RAM角色写数据到目标Logstore(同账号)。

  1. 使用阿里云账号(主账号)或RAM管理员登录RAM控制台。

  2. 在左侧导航栏,选择身份管理 > 角色。

  3. 在RAM角色列表中,单击目标RAM角色。

  4. 在信任策略管理页签中,单击编辑信任策略。

    在Service配置项中添加源Logstore所属的阿里云账号A的ID。其中,请根据实际情况替换源Logstore所属的阿里云账号A的ID。您可以在账号中心查看阿里云账号ID。该策略表示账号A有权限通过日志服务获取临时Token来操作账号B的资源。

    {
        "Statement": [
            {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "源Logstore所属的阿里云账号A的ID@log.aliyuncs.com"
                    ]
                }
            }
        ],
        "Version": "1"
    }
  5. 获取RAM角色标识(ARN),具体操作,请参见查看RAM角色。

后续步骤

在数据加工任务中配置RAM角色标识。更多信息,请参见创建数据加工任务。

相关文章

授权RAM用户操作数据加工 2025-04-22 10:55

本文介绍如何授予RAM用户数据加工操作权限。 前提条件 已创建RAM用户。具体操作,请参见创建RAM用户。

通过默认角色访问数据 2025-04-22 10:55

阿里云系统角色AliyunLogETLRole具备读取源Logstore中的数据以及将数据加工结果写入目标Logstore的权限。您可以授予数据加工任务扮演AliyunLogETLRole角色来读取源Logstore中的数据以及将数据加工结果写入同账号下的目标Project。

通过自定义角色访问数据 2025-04-22 10:55

日志服务支持通过默认角色、自定义角色或密钥方式创建数据加工任务。您可在创建数据加工任务选择自定义角色,本文介绍如何为自定义角色授予Logstore数据访问权限。

通过访问密钥访问数据 2025-04-22 10:55

日志服务支持通过默认角色、自定义角色或密钥方式创建数据加工任务。阿里云账号的访问密钥具有最高权限,不推荐使用。您可使用RAM用户的密钥创建数据加工任务,本文介绍如何授予RAM用户访问Logstore的相关权限。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号