全部产品
Search
文档中心

开源大数据平台E-MapReduce:OSS/OSS-HDFS授权

更新时间:Apr 16, 2026

本文为您详细介绍如何通过 RAM(Resource Access Management)为 OSS 和 OSS-HDFS 配置访问权限。您可以根据实际需求,灵活定义权限策略,确保数据安全的同时满足业务场景的需求。

授权访问OSS

您可以通过自定义策略灵活定义RAM用户对OSS数据的访问权限,具体步骤为:

  1. 使用RAM管理员登录RAM控制台

  2. 在左侧导航栏,选择权限管理 > 权限策略

  3. 权限策略页面,单击创建权限策略

  4. 创建权限策略页面,单击脚本编辑页签。

  5. 输入权限策略内容,单击确定

    OSS提供了完整的数据权限管控体系,完整的OSS授权策略,详情请参见RAM Policy概述

    重要
    • 请根据RAM用户需要使用的权限,谨慎定义权限策略。对于集群中使用Hive、Spark服务的用户,无论是否开启多版本都需要配置oss:ListObjectVersionsoss:DeleteObjectVersion,EMR对于一些常见的临时目录,例如"_temporary"、".staging"、".hive-staging"和"__magic"会触发多版本操作。

    • 在配置Bucket Policy时,授权建议使用oss:*(即“完全控制”)权限,避免出现AccessDenied(HTTP 403)问题。

    您可以根据场景配置自定义权限策略,常见授权场景示例如下所示。

    场景1:完整访问权限

    适用于需要对OSS数据进行完全控制的场景。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
             "oss:ListObjects",
             "oss:GetBucketInfo",
             "oss:PutObject",
             "oss:GetObject",
             "oss:DeleteObject",
             "oss:AbortMultipartUpload",
             "oss:ListMultipartUploads",
             "oss:ListParts",
             "oss:RestoreObject",
             "oss:ListObjectVersions",
             "oss:DeleteObjectVersion"
          ],
          "Resource": [
            "acs:oss:*:*:<yourBucketName>",
            "acs:oss:*:*:<yourBucketName>/*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": ["oss:ListBuckets"],
          "Resource": "*"
        }
      ]
    }
    

    场景2:只读访问权限

    适用于仅需读取数据的分析或查询场景。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "oss:ListObjects",
            "oss:GetBucketInfo",
            "oss:GetObject",
            "oss:RestoreObject",
            "oss:ListObjectVersions"
          ],
          "Resource": [
            "acs:oss:*:*:<yourBucketName>",
            "acs:oss:*:*:<yourBucketName>/*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": ["oss:ListBuckets"],
          "Resource": "*"
        }
      ]
    }
    

    场景3:支持多版本功能的权限

    适用于开启了OSS多版本功能的场景。

    重要

    开启多版本功能可能影响性能并增加存储成本,建议谨慎使用。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "oss:ListObjects",
            "oss:GetBucketInfo",
            "oss:PutObject",
            "oss:GetObject",
            "oss:DeleteObject",
            "oss:AbortMultipartUpload",
            "oss:ListMultipartUploads",
            "oss:ListParts",
            "oss:RestoreObject",
            "oss:ListObjectVersions",
            "oss:GetObjectVersion",
            "oss:DeleteObjectVersion",
            "oss:RestoreObjectVersion"
          ],
          "Resource": [
            "acs:oss:*:*:<yourBucketName>",
            "acs:oss:*:*:<yourBucketName>/*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": ["oss:ListBuckets"],
          "Resource": "*"
        }
      ]
    }
    
  6. 输入权限的策略名称备注,单击确定

授权访问OSS-HDFS

OSS-HDFS是阿里云提供的兼容HDFS接口的对象存储服务,适用于需要HDFS语义但希望使用OSS存储的场景。以下是授权步骤及策略示例。

  1. 使用RAM管理员登录RAM控制台

  2. 在左侧导航栏,选择权限管理 > 权限策略

  3. 权限策略页面,单击创建权限策略

  4. 创建权限策略页面,单击脚本编辑页签。

  5. 输入权限策略内容,单击确定。策略内容示例如下。

    {
      "Version": "1",
      "Statement": [
        {
          "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*"
          ]
        }
      ]
    }
    
    说明
    • 资源路径限制:策略中.dlsdata是OSS-HDFS的专用路径,请确保相关资源路径正确配置。

    • 权限范围:根据业务需求,合理调整Action和Resource的范围,避免过度授权。

  6. 输入权限的策略名称备注,单击确定