OSS/OSS-HDFS授权

本文为您介绍如何授权访问OSS和OSS-HDFS。

授权访问OSS

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

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

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

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

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

  5. 输入权限策略内容,单击继续编辑基本信息

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

    重要

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

    自定义权限策略内容示例如下所示。

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

    自定义权限策略内容示例中的<yourBucketName>需要替换为被授权的Bucket名称。

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

其他自定义场景

  • 只读访问OSS

    重要

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

           {
          "Version": "1",
          "Statement": [
            {
              "Action": [
                "oss:ListObjects",
                "oss:GetBucketInfo",
                "oss:GetObject",
                "oss:RestoreObject",
                "oss:ListObjectVersions"
              ],
              "Resource": [
                "acs:oss:*:*:<yourBucketName>",
                "acs:oss:*:*:<yourBucketName>/*"
              ],
              "Effect": "Allow"
            },
            {
              "Action": [
                "oss:ListBuckets"
              ],
              "Resource": "*",
              "Effect": "Allow"
            }
          ]
        }
  • 访问开启了多版本功能的OSS

    重要

    不建议开启多版本,容易产生性能问题。

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

    Bucket Policy授权建议使用“完全控制”,避免出现AccessDenied问题。

授权访问OSS-HDFS

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

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

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

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

  5. 输入权限策略内容,单击继续编辑基本信息。策略内容示例如下。

    {
        "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"
    }
  6. 输入权限策略的名称备注,单击确定