本文为您介绍如何授权访问OSS和OSS-HDFS。
授权访问OSS
您可以通过自定义策略灵活定义RAM用户对OSS数据的访问权限,具体步骤为:
使用阿里云账号登录RAM控制台。
在左侧导航栏,单击权限管理 > 权限策略。
在权限策略页面,单击创建权限策略。
在创建权限策略页面,单击脚本编辑页签。
输入权限策略内容,单击确定。
OSS提供了完整的数据权限管控体系,完整的OSS授权策略,详情请参见RAM Policy。
重要请根据RAM用户需要使用的权限,谨慎定义权限策略。对于使用Hive、Spark服务的用户,无论是否开启多版本都需要配置
oss:ListObjectVersions
、oss: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名称。输入权限策略的名称和备注,单击确定。
其他自定义场景
只读访问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
使用阿里云账号登录RAM控制台。
在左侧导航栏,单击权限管理 > 权限策略。
在权限策略页面,单击创建权限策略。
在创建权限策略页面,单击脚本编辑页签。
输入权限策略内容,单击确定。策略内容示例如下。
{ "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" }
输入权限策略的名称和备注,单击确定。