全部产品
Search
文档中心

对象存储 OSS:授权访问OSS-HDFS服务

更新时间:Sep 25, 2024

本文介绍通过阿里云账号开通OSS-HDFS服务,如何授权RAM用户接入OSS-HDFS服务。

前提条件

已创建RAM用户,并记录RAM用户的访问密钥(AccessKey ID和AccessKey Secret)。具体步骤,请参见创建RAM用户

授权RAM用户通过EMR集群接入OSS-HDFS服务

阿里云EMR特定版本集群默认集成OSS-HDFS服务。当您希望通过RAM用户以EMR集群的方式接入OSS-HDFS服务并执行常见操作时,只需要授予RAM用户AliyunEMRFullAccess系统策略。该策略包含了EMR集群访问OSS-HDFS服务所需的全部操作权限,确保EMR集群可以执行包括文件读写、元数据管理等在内的所有必要操作。

为RAM用户授权的具体操作,请参见为RAM用户授权

授权RAM用户通过非EMR集群接入OSS-HDFS服务

当您希望通过RAM用户以非EMR集群的方式接入OSS-HDFS服务并执行常见操作时,需要授予RAM用户以下自定义权限策略。

以下自定义策略用于确保JindoSDK与OSS-HDFS服务的集成和交互,执行从基本的文件读写到高级的数据湖管理的所有必要操作。

  • oss:ListObjects ("acs:oss:*:*:*"

    允许RAM用户列出Bucket中的所有对象。在HDFS接口中,用于查看目录下的文件和子目录。

  • oss:GetBucketInfo, oss:PostDataLakeStorageFileOperation, oss:PostDataLakeStorageAdminOperation(对应资源为"*"

    • oss:GetBucketInfo:允许获取Bucket的基本信息,初始化连接以检查Bucket状态。

    • oss:PostDataLakeStorageFileOperationoss:PostDataLakeStorageAdminOperation:针对OSS Data Lake Storage特性的操作,涵盖兼容HDFS基本的文件读写操作以及高级的元数据管理能力。

  • oss:*(对应Resource为"acs:oss:*:*:*/.dlsdata", "acs:oss:*:*:*/.dlsdata*"

    允许对Bucket下以.dlsdata/开头的所有资源执行任意操作。在OSS-HDFS服务中,.dlsdata路径通常用于存储相关的内部元数据。该权限设置确保了JindoSDK能够处理与OSS-HDFS服务相关的所有文件操作和管理需求,包括但不限于创建、删除、修改该路径下的文件或目录。

{
    "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*"
            ]
        }
    ],
    "Version": "1"
}
说明

目前不支持通过RAM Policy或者Bucket Policy对HDFS指定文件或者目录路径进行授权操作。

为RAM用户授权的具体操作,请参见为RAM用户授权