Amazon Simple Storage Service
开发人员指南 (API 版本 2006-03-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

在策略中指定权限

Amazon S3 定义了可在策略中指定的一组权限。这些是关键字,其中每一个均映射到特定 Amazon S3 操作 (请参阅 Amazon Simple Storage Service API Reference 中的存储桶上的操作对象上的操作)。

本节提供可在策略中指定的对象操作的权限列表。

对象操作的 Amazon S3 权限

权限 Amazon S3 操作
s3:AbortMultipartUpload 中止分段上传
s3:DeleteObject DELETE Object

s3:DeleteObjectTagging

DELETE Object 标签
s3:DeleteObjectVersion DELETE Object (针对特定版本的对象)

s3:DeleteObjectVersionTagging

DELETE Object 标签 (针对特定版本的对象)
s3:GetObject

GET 对象HEAD 对象SELECT 对象内容

如果在启用了版本控制的存储桶上授予此权限,则始终会获得最新版本的数据。

s3:GetObjectAcl GET Object ACL

s3:GetObjectTagging

GET Object 标签
s3:GetObjectTorrent GET Object torrent
s3:GetObjectVersion

GET ObjectHEAD Object

要授予对版本特定对象数据的权限,必须授予此权限。即,如果您在发出其中任何请求时指定版本号,则需要此 Amazon S3 权限。

s3:GetObjectVersionAcl GET ACL (针对特定版本的对象)

s3:GetObjectVersionTagging

GET Object 标签 (针对特定版本的对象)
s3:GetObjectVersionTorrent GET Object Torrent versioning
s3:ListMultipartUploadParts 列出分段
s3:PutObject

PUT ObjectPOST Object启动分段上传上传分段完成分段上传PUT Object - Copy

s3:PutObjectAcl PUT Object ACL

s3:PutObjectTagging

PUT Object 标签
s3:PutObjectVersionAcl PUT 对象 ACL (针对特定版本的对象)

s3:PutObjectVersionTagging

PUT Object 标签 (针对特定版本的对象)

s3:RestoreObject

POST Object restore

以下存储桶策略示例授予用户 (Dave) s3:PutObjects3:PutObjectAcl 权限。如果移除 Principal 元素,则可将此策略附加到用户。这些是对象操作,因此 Resource ARN 的 relative-id 部分标识对象 (examplebucket/*)。有关更多信息,请参阅 在策略中指定资源

{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws-cn:iam::AccountB-ID:user/Dave" }, "Action": ["s3:PutObject","s3:PutObjectAcl"], "Resource": "arn:aws-cn:s3:::examplebucket/*" } ] }

您可使用通配符来授予对所有 Amazon S3 操作的权限。

"Action": "*"

本节提供与可在策略中指定的对象操作相关的权限列表。

与存储桶操作相关的 Amazon S3 权限

权限关键字 涉及的 Amazon S3 操作
s3:CreateBucket PUT Bucket
s3:DeleteBucket DELETE Bucket
s3:ListBucket GET Bucket(列出对象)HEAD Bucket
s3:ListBucketVersions GET Bucket Object versions
s3:ListAllMyBuckets GET 服务
s3:ListBucketMultipartUploads 列出分段上传

以下用户策略示例授予用户 s3:CreateBuckets3:ListAllMyBucketss3:GetBucketLocation 权限。注意,对于所有这些权限,均将 Resource ARN 的 relative-id 部分设置为“*”。对于其他所有存储桶操作,必须指定存储桶名称。有关更多信息,请参阅 在策略中指定资源

{ "Version":"2012-10-17", "Statement":[ { "Sid":"statement1", "Effect":"Allow", "Action":[ "s3:CreateBucket", "s3:ListAllMyBuckets", "s3:GetBucketLocation" ], "Resource":[ "arn:aws-cn:s3:::*" ] } ] }

如果您的用户要使用控制台来查看存储桶,并查看这些存储桶中的内容,用户必须具有 s3:ListAllMyBucketss3:GetBucketLocation 权限。有关示例,请参阅演练示例:使用用户策略控制对存储桶的访问

本节提供与可在策略中指定的存储桶子资源操作相关的权限列表。

与存储桶子资源操作相关的 Amazon S3 权限

权限 涉及的 Amazon S3 操作
s3:DeleteBucketPolicy DELETE Bucket policy
s3:DeleteBucketWebsite DELETE Bucket website
s3:GetAccelerateConfiguration GET Bucket 加速
s3:GetAnalyticsConfiguration GET Bucket 分析List Bucket 分析配置
s3:GetBucketAcl GET Bucket acl
s3:GetBucketCORS GET Bucket cors
s3:GetBucketLocation GET Bucket location
s3:GetBucketLogging GET Bucket logging
s3:GetBucketNotification GET Bucket notification
s3:GetBucketPolicy GET Bucket policy
s3:GetBucketRequestPayment GET Bucket requestPayment
s3:GetBucketTagging GET Bucket 标记
s3:GetBucketVersioning GET Bucket versioning
s3:GetBucketWebsite GET Bucket website
s3:GetEncryptionConfiguration GET Bucket 加密
s3:GetInventoryConfiguration GET Bucket 清单List Bucket 清单配置
s3:GetLifecycleConfiguration GET Bucket lifecycle
s3:GetMetricsConfiguration GET Bucket 指标List Bucket 指标配置
s3:GetReplicationConfiguration GET Bucket 复制
s3:PutAccelerateConfiguration PUT Bucket 加速
s3:PutAnalyticsConfiguration PUT Bucket 分析DELETE Bucket 分析
s3:PutBucketAcl PUT Bucket acl
s3:PutBucketCORS PUT Bucket corsDELETE Bucket cors
s3:PutBucketLogging PUT Bucket logging
s3:PutBucketNotification PUT Bucket notification
s3:PutBucketPolicy PUT 存储桶策略
s3:PutBucketRequestPayment PUT Bucket requestPayment
s3:PutBucketTagging DELETE Bucket 标签PUT Bucket 标签
s3:PutBucketVersioning PUT Bucket versioning
s3:PutBucketWebsite PUT Bucket website
s3:PutEncryptionConfiguration PUT 存储桶加密 DELETE 存储桶加密
s3:PutInventoryConfiguration PUT Bucket 清单DELETE Bucket 清单
s3:PutLifecycleConfiguration PUT 存储桶生命周期DELETE 存储桶生命周期
s3:PutMetricsConfiguration PUT Bucket 指标DELETE Bucket 指标
s3:PutReplicationConfiguration PUT 存储桶复制DELETE 存储桶复制

以下用户策略授予用户 Dave 对 examplebucket 存储桶的 s3:GetBucketAcl 权限。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws-cn:iam::Account-ID:user/Dave" }, "Action": [ "s3:GetObjectVersion", "s3:GetBucketAcl" ], "Resource": "arn:aws-cn:s3:::examplebucket" } ] }

可通过显式调用 DELETE Object API 或配置其生命周期来删除对象 (请参阅对象生命周期管理),以便 Amazon S3 能够在对象生命周期已过时将它们删除。要显式阻止用户或账户删除对象,必须显式拒绝授予他们 s3:DeleteObjects3:DeleteObjectVersions3:PutLifecycleConfiguration 权限。默认状态下,用户没有权限。但在创建用户,将用户添加到组以及授予他们权限时,用户有可能获得您并不打算授予的某些权限。这是可使用显式拒绝的情况,显式拒绝将取代用户可能拥有的其他所有权限,并且拒绝对特定操作的用户权限。