赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 消费与投递
  6. 数据投递
  7. 投递日志到OSS-HDFS
  8. 授权
  9. 通过自定义RAM角色访问数据(跨账号场景)

通过自定义RAM角色访问数据(跨账号场景)

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

OSS-HDFS投递任务运行时,将读取Logstore中数据并投递到OSS Bucket中。您可以授权OSS-HDFS投递任务扮演自定义RAM角色完成上述操作。如果Logstore和OSS Bucket不属于同一个阿里云账号,您可参考本文档完成授权操作。

步骤一:授予阿里云账号A下的RAM角色role-a读取Logstore数据的权限

授予阿里云账号A下的RAM角色role-a读取Logstore数据的权限后,OSS-HDFS投递任务可以扮演该角色读取账号A下Logstore中的数据。

  1. 使用阿里云账号A登录RAM控制台。

  2. 创建一个自定义权限策略,该策略具备读取Logstore数据的权限。

    您可选择使用精确授权或模糊匹配授权。

    精确授权

    在创建权限策略页面,单击脚本编辑页签,并使用以下脚本替换配置框中的原有内容。具体操作,请参见通过脚本编辑模式创建自定义权限策略。

    重要

    脚本中的Project名称和Logstore名称请根据实际情况替换。

    {
        "Version":"1",
        "Statement":[
            {
                "Action":[
                    "log:GetCursorOrData",
                    "log:ListShards"
                ],
                "Resource":[
                    "acs:log:*:*:project/Project名称/logstore/Logstore名称"
                ],
                "Effect":"Allow"
            }
        ]
    }

    模糊匹配授权

    在创建权限策略页面,单击脚本编辑页签,并使用以下脚本替换配置框中的原有内容。具体操作,请参见通过脚本编辑模式创建自定义权限策略。

    重要
    • 例如Project名称为log-project-dev-a、log-project-dev-b、log-project-dev-c等,Logstore名称为website_a_log、website_b_log、website_c_log等,则您可以使用模糊匹配授权。

    • 脚本中的log-project-dev-*和website_*_log*请根据实际情况替换。

    {
        "Version":"1",
        "Statement":[
            {
                "Action":[
                    "log:GetCursorOrData",
                    "log:ListShards"
                ],
                "Resource":[
                    "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log*"
                ],
                "Effect":"Allow"
            }
        ]
    }
  3. 创建OSS-HDFS投递任务需要扮演的RAM角色role-a。具体操作,请参见创建可信实体为阿里云服务的RAM角色。

    重要
    • 创建RAM角色时,必须选择可信实体类型为阿里云服务,且必须选择受信服务为日志服务。

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

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "log.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }
  4. 为RAM角色role-a添加创建的自定义权限。具体操作,请参见为RAM角色授权。

后续操作

获取RAM角色标识(ARN),具体操作,请参见查看RAM角色。

如果您在创建OSS-HDFS投递任务时使用的是自定义RAM角色,则需要在读Logstore RAM角色中输入该信息。具体操作,请参见创建OSS-HDFS投递任务。image.png

步骤二:授予阿里云账号B下的RAM角色b写OSS Bucket的权限

授予阿里云账号B下的RAM角色b写OSS Bucket的权限后,OSS投递任务可以扮演该角色将阿里云账号A下的Logstore数据投递到阿里云账号B下的OSS Bucket中。

  1. 使用阿里云账号B登录RAM控制台。

  2. 创建一个自定义权限策略,该策略具备写OSS Bucket权限。

    在创建权限策略页面,单击脚本编辑页签,并使用以下脚本替换配置框中的原有内容。具体操作,请参见通过脚本编辑模式创建自定义权限策略。

    {
        "Statement": [
            {
                "Action": [
                    "oss:PutObject"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
              "Effect": "Allow",
              "Action": "oss:ListObjects",
              "Resource": [
                "acs:oss:*:*:*"
              ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "oss:GetBucketInfo",                
                    "oss:PostDataLakeStorageFileOperation",
                    "oss:PostDataLakeStorageAdminOperation"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": "oss:*",
                "Resource": [
                    "acs:oss:*:*:*/.dlsdata",
                    "acs:oss:*:*:*/.dlsdata*"
                ]
            }
        ],
        "Version": "1"
    }
  3. 创建OSS-HDFS投递任务需要扮演的RAM角色role-b。具体操作,请参见创建可信实体为阿里云服务的RAM角色。

    重要
    • 创建RAM角色时,必须选择可信实体类型为阿里云服务,且必须选择受信服务为日志服务。

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

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "log.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }
  4. 修改RAM角色role-b的信任策略。具体操作,请参见修改RAM角色的信任策略。

    重要

    在Service配置项中添加阿里云账号A的ID@log.aliyuncs.com,并根据实际情况替换该值。您可以在账号中心查看阿里云账号ID。

    该策略表示阿里云账号A有权限通过日志服务获取临时Token来操作阿里云账号B中的资源。

    {
        "Statement": [
            {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "log.aliyuncs.com",
                        "阿里云账号A的ID@log.aliyuncs.com"
                    ]
                }
            }
        ],
        "Version": "1"
    }
  5. 为RAM角色role-b添加创建的自定义权限。具体操作,请参见为RAM角色授权。

后续操作

获取RAM角色标识(ARN),具体操作,请参见查看RAM角色。

如果您在创建OSS-HDFS投递任务时使用的是自定义RAM角色,则需要在写OSS-HDFS RAM角色中输入该信息。具体操作,请参见创建OSS-HDFS投递任务。image.png

相关文章

授权RAM用户操作OSS-HDFS投递任务 2025-04-22 10:48

当您操作OSS-HDFS投递任务时,需对RAM用户进行授权。 前提条件 已创建RAM用户。具体操作,请参见创建RAM用户。

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

阿里云系统角色AliyunLogDefaultRole具备读取Logstore数据及写入数据到OSS Bucket的权限。您可以授权OSS-HDFS投递任务扮演AliyunLogDefaultRole角色来读取源Logstore的数据以及将数据写入到OSS Bucket中。 同账号投递

通过自定义RAM角色访问数据(同账号场景) 2025-04-22 10:48

OSS-HDFS投递任务运行时,将读取Logstore中的数据并投递到OSS-HDFS Bucket中,您可以授权OSS-HDFS投递任务扮演自定义RAM角色完成上述操作。本文介绍如何对自定义RAM角色进行授权。 前提条件

通过自定义RAM角色访问数据(跨账号场景) 2025-04-22 10:48

OSS-HDFS投递任务运行时,将读取Logstore中数据并投递到OSS Bucket中。您可以授权OSS-HDFS投递任务扮演自定义RAM角色完成上述操作。如果Logstore和OSS Bucket不属于同一个阿里云账号,您可参考本文档完成授权操作。 步骤一:授予阿里云账号A下的RAM角色

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