选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

故障排除

聚焦模式
故障排除 - Amazon Simple Storage Service

在应用 S3 对象所有权的强制存储桶拥有者设置时,访问控制列表(ACL)将被禁用,作为存储桶拥有者的您将自动拥有存储桶中的所有对象。ACL 不再影响存储桶中对象的权限。您可使用策略授予权限。所有 S3 PUT 请求都必须指定 bucket-owner-full-control 标准 ACL 或不指定 ACL,否则这些请求将失败。有关更多信息,请参阅 为您的存储桶控制对象所有权和禁用 ACL。

如果指定了无效的 ACL 或存储桶 ACL 权限授予 AWS 账户 外部的访问权限,您可能会看到以下错误响应。

AccessControlListNotSupported

为对象所有权应用强制存储桶拥有者设置之后,将禁用 ACL。设置 ACL 或更新 ACL 的请求失败,并显示 400 错误,并返回 AccessControlListNotSupported 错误代码。仍然支持读取 ACL 的请求。读取 ACL 的请求始终返回一个响应,显示对存储桶拥有者的完全控制权。在 PUT 操作中,您必须指定存储桶拥有者完全控制 ACL 或不指定 ACL。否则,您的 PUT 操作将失败。

以下示例 put-object AWS CLI 命令包括 public-read 标准 ACL。

aws s3api put-object --bucket amzn-s3-demo-bucket --key object-key-name --body doc-example-body --acl public-read

如果存储桶使用强制存储桶拥有者设置来禁用 ACL,则此操作将失败,上传者会收到以下错误消息:

调用 PutObject 操作时发生错误(AccessControlListNotSupported):存储桶不允许 ACL

InvalidBucketAclWithObjectOwnership

如果您想应用强制存储桶拥有者设置来禁用 ACL,则存储桶 ACL 必须仅向存储桶拥有者提供完全控制权。您的存储桶 ACL 无法访问外部 AWS 账户 或任何其他团体。例如,如果您的 CreateBucket 请求设置强制存储桶拥有者并指定一个存储桶 ACL,用于提供对外部 AWS 账户的访问权限,您的请求会失败并显示 400 错误,并且返回 InvalidBucketAclWithObjectOwnership 错误代码。同样,如果您的 PutBucketOwnershipControls 请求对于具有存储桶 ACL(可向其他人授予权限)的存储桶设置强制存储桶拥有者,请求将失败。

例 :授予存储桶 ACL 公有读取访问权限。

例如,如果现有存储桶 ACL 授予公共读取访问权限,则在将这些 ACL 权限迁移到存储桶策略并将存储桶 ACL 重置为默认私有 ACL 之前,您无法对于对象所有权应用强制存储桶拥有者设置。有关更多信息,请参阅 禁用 ACL 的先决条件

此示例存储桶 ACL 授予公共读取访问权限:

{ "Owner": { "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID" }, "Grants": [ { "Grantee": { "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] }

以下示例 put-bucket-ownership-controls AWS CLI 命令对于对象所有权应用强制存储桶拥有者设置:

aws s3api put-bucket-ownership-controls --bucket amzn-s3-demo-bucket --ownership-controls Rules=[{ObjectOwnership=BucketOwnerEnforced}]

由于存储桶 ACL 授予公共读取访问权限,因此请求失败并返回以下错误代码:

调用 PutBucketOwnershipControls 操作时发生错误(InvalidBucketAclWithObjectOwnership):存储桶不能含有带有 ObjectOwnership's BucketOwnerEnforced 设置的 ACL

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。