AWS Identity and Access Management
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon S3 的操作、资源和条件键

Amazon S3(服务前缀:s3)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。

参考:

Amazon S3 定义的操作

您可以在 Action 策略语句的 IAM 元素中指定以下操作。可以使用策略授予在 AWS 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。

资源列指示每个操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定所有资源(“*”)。如果该列包含一种资源类型,则可以在含有该操作的语句中指定该类型的 ARN。必需资源在表中以星号 (*) 表示。如果在使用该操作的语句中指定资源级权限 ARN,则它必须属于该类型。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种类型而不使用其他类型。

有关下表中各列的详细信息,请参阅 操作表

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
AbortMultipartUpload 中止分段上传。 写入

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

CreateBucket 创建新存储桶。 写入

bucket*

s3:authtype

s3:locationconstraint

s3:signatureage

s3:signatureversion

s3:x-amz-acl

s3:x-amz-content-sha256

s3:x-amz-grant-full-control

s3:x-amz-grant-read

s3:x-amz-grant-read-acp

s3:x-amz-grant-write

s3:x-amz-grant-write-acp

CreateJob 创建新的 Amazon S3 批处理操作作业。 写入

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

s3:RequestJobPriority

s3:RequestJobOperation

DeleteBucket 删除 URI 中指定的存储桶 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

DeleteBucketPolicy 删除指定存储桶上的策略 权限管理

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

DeleteBucketWebsite 删除存储桶的网站配置。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

DeleteObject 删除对象的空版本(如果有)并插入删除标记,这将成为该对象的当前版本。 写入

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

DeleteObjectTagging 此 DELETE 操作的实施使用 tagging 子资源从指定的对象中删除整个标签集。 标记

object*

s3:ExistingObjectTag/<key>

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

DeleteObjectVersion 要删除特定版本的对象,您必须是存储桶拥有者,并且您必须使用 versionId 子资源。 写入

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:versionid

s3:x-amz-content-sha256

DeleteObjectVersionTagging DELETE Object 标签 (针对特定版本的对象) 标记

object*

s3:ExistingObjectTag/<key>

s3:authtype

s3:signatureage

s3:signatureversion

s3:versionid

s3:x-amz-content-sha256

DescribeJob 检索 Amazon S3 批处理操作作业的配置参数和状态。 Read

job*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetAccelerateConfiguration 此 GET 操作的实施使用 accelerate 子资源返回存储桶的 Transfer Acceleration 状态,它是已启用或已暂停。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetAccountPublicAccessBlock 检索 AWS 账户的 PublicAccessBlock 配置 Read

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetAnalyticsConfiguration 此 GET 操作的实施从存储桶返回分析配置(由分析配置 ID 标识)。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetBucketAcl 返回存储桶的访问控制列表 (ACL)。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetBucketCORS 返回存储桶的 cors 配置信息集。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetBucketLocation 返回存储桶所在的区域。 Read

bucket*

GetBucketLogging 返回存储桶的日志记录状态和用户具有的查看和修改该状态的权限。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetBucketNotification 返回存储桶的通知配置。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetBucketObjectLockConfiguration 获取特定存储桶的对象锁定配置 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

GetBucketPolicy 返回指定存储桶的策略。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetBucketPolicyStatus 检索特定 S3 存储桶的策略状态,以指示存储桶是否为公有存储桶。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetBucketPublicAccessBlock 检索特定 S3 存储桶的 PublicAccessBlock 配置。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetBucketRequestPayment 返回存储桶的请求付款配置。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetBucketTagging 返回与存储桶关联的标签集。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetBucketVersioning 返回存储桶的版本控制状态。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetBucketWebsite 返回与存储桶关联的网站配置。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetEncryptionConfiguration 返回存储桶上的加密配置信息集。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetInventoryConfiguration 此 GET 操作的实施从存储桶返回库存配置(由库存配置 ID 标识)。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetLifecycleConfiguration 返回存储桶上的生命周期配置信息集。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetMetricsConfiguration 从存储桶获取 CloudWatch 请求指标的指标配置(由指标配置 ID 指定)。请注意,这不包括每日存储指标。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetObject 从 Amazon S3 中检索对象。 Read

object*

s3:ExistingObjectTag/<key>

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetObjectAcl 返回对象的访问控制列表 (ACL)。 Read

object*

s3:ExistingObjectTag/<key>

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetObjectLegalHold 获取特定对象的对象依法保留 写入

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetObjectRetention 获取特定对象的对象依法保留 写入

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetObjectTagging 此 GET 操作的实施返回与对象关联的标签。您针对与对象关联的 tagging 子资源发送 GET 请求。 Read

object*

s3:ExistingObjectTag/<key>

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetObjectTorrent 从存储桶返回 torrent 文件。 Read

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetObjectVersion 要返回其他版本,请使用 versionId 子资源。 Read

object*

s3:ExistingObjectTag/<key>

s3:authtype

s3:signatureage

s3:signatureversion

s3:versionid

s3:x-amz-content-sha256

GetObjectVersionAcl 要返回有关其他版本的 ACL 信息,请使用 versionId 子资源。 Read

object*

s3:ExistingObjectTag/<key>

s3:authtype

s3:signatureage

s3:signatureversion

s3:versionid

s3:x-amz-content-sha256

GetObjectVersionForReplication Read

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

GetObjectVersionTagging GET Object 标签 (针对特定版本的对象) Read

object*

s3:ExistingObjectTag/<key>

s3:authtype

s3:signatureage

s3:signatureversion

s3:versionid

s3:x-amz-content-sha256

GetObjectVersionTorrent 要返回有关其他版本的 Torrent 文件,请使用 versionId 子资源。 Read

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:versionid

s3:x-amz-content-sha256

GetReplicationConfiguration 返回存储桶上的复制配置信息集。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

ListAllMyBuckets 返回已经过身份验证的请求发送者所拥有的所有存储桶列表。 List

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

ListBucket 返回存储桶中的部分或全部(最多 1000 个)对象。 List

bucket*

s3:authtype

s3:delimiter

s3:max-keys

s3:prefix

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

ListBucketByTags Read

bucket*

s3:authtype

s3:max-keys

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

ListBucketMultipartUploads 列出正在进行的分段上传。 Read

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

ListBucketVersions 使用 versions 子资源列出有关存储桶中的对象的所有版本的元数据。 Read

bucket*

s3:authtype

s3:delimiter

s3:max-keys

s3:prefix

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

ListJobs 列出当前作业和最近结束的作业。 Read

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

ListMultipartUploadParts 列出为特定分段上传已上传的分段。 Read

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

ObjectOwnerOverrideToBucketOwner 权限管理

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutAccelerateConfiguration 此 PUT 操作的实施使用 accelerate 子资源设置现有存储桶的 Transfer Acceleration 状态。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutAccountPublicAccessBlock 为 AWS 账户创建或修改 PublicAccessBlock 配置。 权限管理

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutAnalyticsConfiguration 此 PUT 操作的实施将分析配置(由分析 ID 标识)添加到存储桶中。每个存储桶可具有最多 1000 个分析配置。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutBucketAcl 使用访问控制列表 (ACL) 设置现有存储桶上的权限。 权限管理

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-acl

s3:x-amz-content-sha256

s3:x-amz-grant-full-control

s3:x-amz-grant-read

s3:x-amz-grant-read-acp

s3:x-amz-grant-write

s3:x-amz-grant-write-acp

PutBucketCORS 设置您的存储桶的 cors 配置。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutBucketLogging 设置存储桶的日志记录参数。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutBucketNotification 允许您在存储桶中发生某些事件时接收通知。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutBucketObjectLockConfiguration 在特定存储桶上放置对象锁定配置 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

PutBucketPolicy 将策略添加到存储桶或替换存储桶策略。 权限管理

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutBucketPublicAccessBlock 为特定 S3 存储桶创建或修改 PublicAccessBlock 配置。 权限管理

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutBucketRequestPayment 设置存储桶的请求付款配置。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutBucketTagging 向现有存储桶中添加一组标签。 标记

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutBucketVersioning 设置现有存储桶的版本控制状态。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutBucketWebsite 设置 website 子资源中指定的网站的配置。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutEncryptionConfiguration 设置存储桶的加密配置。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutInventoryConfiguration 此 PUT 操作的实施将清单配置(由清单 ID 标识)添加到存储桶中。每个存储桶可具有最多 1000 个清单配置。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutLifecycleConfiguration 为存储桶创建新的生命周期配置,或替换现有的生命周期配置。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutMetricsConfiguration 从存储桶设置或更新 CloudWatch 请求指标的指标配置(由指标配置 ID 指定)。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutObject 向存储桶添加对象。 写入

object*

s3:RequestObjectTag/<key>

s3:RequestObjectTagKeys

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-acl

s3:x-amz-content-sha256

s3:x-amz-copy-source

s3:x-amz-grant-full-control

s3:x-amz-grant-read

s3:x-amz-grant-read-acp

s3:x-amz-grant-write

s3:x-amz-grant-write-acp

s3:x-amz-metadata-directive

s3:x-amz-server-side-encryption

s3:x-amz-server-side-encryption-aws-kms-key-id

s3:x-amz-storage-class

s3:x-amz-website-redirect-location

s3:object-lock-mode

s3:object-lock-retain-until-date

s3:object-lock-remaining-retention-days

s3:object-lock-legal-hold

PutObjectAcl 设置存储桶中已存在的对象的访问控制列表 (ACL) 权限。 权限管理

object*

s3:ExistingObjectTag/<key>

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-acl

s3:x-amz-content-sha256

s3:x-amz-grant-full-control

s3:x-amz-grant-read

s3:x-amz-grant-read-acp

s3:x-amz-grant-write

s3:x-amz-grant-write-acp

s3:x-amz-storage-class

PutObjectLegalHold 在特定对象上放置对象依法保留 写入

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

s3:object-lock-legal-hold

PutObjectRetention 在特定对象上放置对象保留 写入

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

s3:object-lock-mode

s3:object-lock-retain-until-date

s3:object-lock-remaining-retention-days

PutObjectTagging 此 PUT 操作的实施使用 tagging 子资源向现有对象添加一组标签。 标记

object*

s3:ExistingObjectTag/<key>

s3:RequestObjectTag/<key>

s3:RequestObjectTagKeys

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

PutObjectVersionAcl 在对象版本级别上设置对象的 ACL。 权限管理

object*

s3:ExistingObjectTag/<key>

s3:authtype

s3:signatureage

s3:signatureversion

s3:versionid

s3:x-amz-acl

s3:x-amz-content-sha256

s3:x-amz-grant-full-control

s3:x-amz-grant-read

s3:x-amz-grant-read-acp

s3:x-amz-grant-write

s3:x-amz-grant-write-acp

s3:x-amz-storage-class

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

object*

s3:ExistingObjectTag/<key>

s3:RequestObjectTag/<key>

s3:RequestObjectTagKeys

s3:authtype

s3:signatureage

s3:signatureversion

s3:versionid

s3:x-amz-content-sha256

PutReplicationConfiguration 在启用了版本控制的存储桶中,此操作将创建新的复制配置,或替换现有的复制配置(如果存在)。 写入

bucket*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

ReplicateDelete 写入

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

ReplicateObject 写入

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

s3:x-amz-server-side-encryption

s3:x-amz-server-side-encryption-aws-kms-key-id

ReplicateTags 标记

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

RestoreObject 还原已存档对象的临时副本。 写入

object*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

UpdateJobPriority 更新现有作业的优先级。 写入

job*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

s3:RequestJobPriority

s3:ExistingJobPriority

s3:ExistingJobOperation

UpdateJobStatus 更新指定作业的状态。 写入

job*

s3:authtype

s3:signatureage

s3:signatureversion

s3:x-amz-content-sha256

s3:ExistingJobPriority

s3:ExistingJobOperation

s3:JobSuspendedCause

Amazon S3 定义的资源

以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource 元素中使用这些资源类型。操作表中的每个操作指定了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在表的最后一列。有关下表中各列的详细信息,请参阅 资源类型表

资源类型 ARN 条件键
bucket arn:${Partition}:s3:::${BucketName}
object arn:${Partition}:s3:::${BucketName}/${ObjectName}
job arn:${Partition}:s3:${Region}:${Account}:job/${JobId}

Amazon S3 的条件键

Amazon S3 定义以下可以在 IAM 策略的 Condition 元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅 条件键表

要查看适用于所有服务的全局条件键,请参阅 IAM 策略参考 中的可用的全局条件键

条件键 描述 类型
s3:ExistingJobOperation 字符串
s3:ExistingJobPriority 数值
s3:ExistingObjectTag/<key> 允许验证现有对象标签是否具有特定标签键和值。 字符串
s3:JobSuspendedCause 字符串
s3:LocationConstraint 允许将用户限制为仅在特定区域中创建存储桶。 字符串
s3:RequestJobOperation 字符串
s3:RequestJobPriority 数值
s3:RequestObjectTag/<key> 限制要在对象上允许的标签键和值。 字符串
s3:RequestObjectTagKeys 限制要在对象上允许的标签键。 字符串
s3:VersionId 允许将 s3:PutObjectVersionTagging 操作的权限限制为特定对象版本。 字符串
s3:authtype 字符串
s3:delimiter 允许您要求用户在 GET Bucket Object versions 请求中指定分隔符参数。 字符串
s3:locationconstraint 允许将用户限制为仅在特定区域中创建存储桶。 字符串
s3:max-keys 允许通过要求用户指定 max-keys 参数来限制 Amazon S3 响应 ListBucket 请求所返回的键数。 数值
s3:object-lock-legal-hold 允许实施指定的对象依法保留状态 字符串
s3:object-lock-mode 允许实施指定的对象保留模式 字符串
s3:object-lock-remaining-retention-days 允许相对于剩余保留天数实施对象 字符串
s3:object-lock-retain-until-date 允许实施特定的保留截止日期 字符串
s3:prefix 允许将 ListBucket API 的响应限制为具有特定前缀的键名称。 字符串
s3:signatureage 数值
s3:signatureversion 字符串
s3:versionid 字符串
s3:x-amz-acl 允许在上传对象时要求特定访问权限。 字符串
s3:x-amz-content-sha256 字符串
s3:x-amz-copy-source 允许将复制源限制为特定存储桶、存储桶中的特定文件夹或存储桶中的特定对象。 字符串
s3:x-amz-grant-full-control 字符串
s3:x-amz-grant-read 字符串
s3:x-amz-grant-read-acp 字符串
s3:x-amz-grant-write 字符串
s3:x-amz-grant-write-acp 字符串
s3:x-amz-metadata-directive 允许在上传对象时实施某种行为(COPY 与REPLACE)。 字符串
s3:x-amz-server-side-encryption 允许您要求用户在请求中指定此标头,以确保用户上传的对象在保存时已加密。 字符串
s3:x-amz-server-side-encryption-aws-kms-key-id 字符串
s3:x-amz-storage-class 字符串
s3:x-amz-website-redirect-location 字符串