替换访问控制列表
替换访问控制列表 (ACL) 操作替换在清单中列出的每个对象的 Amazon S3 访问控制列表 (ACL)。使用 ACL,您可以定义谁可以访问某个对象,以及他们可以执行哪些操作。
S3 分批操作支持您定义的自定义 ACL 以及 Amazon S3 随预定义的访问权限集提供的标准 ACL。
如果清单中的对象位于受版本控制的存储桶中,您可将 ACL 应用到每个对象的特定版本。您通过为清单中的每个对象指定版本 ID 来完成此操作。如果您没有包括任何对象的版本 ID,S3 分批操作将 ACL 应用到对象的最新版本。
有关 Amazon S3 中 ACL 的更多信息,请参阅 访问控制列表 (ACL) 概述。
S3 阻止公有访问
如果您希望限制对存储桶中所有对象的公有访问,则应使用 Amazon S3 阻止公有访问而不是 S3 分批操作。阻止公有访问可以在各个存储桶或整个账户的范围进行,并且只需一个简单的操作,立即生效。当您的目标是控制某个存储桶或账户中所有对象的公有访问时,这是一个更好的选择。在您需要将自定义 ACL 应用到清单中的每个对象时,请使用 S3 分批操作。有关 S3 阻止公有访问的更多信息,请参阅 阻止对您的 Amazon S3 存储的公有访问。
S3 对象所有权
如果清单中的对象位于桶中,而该桶使用桶拥有者强制执行的对象所有权设置,则 Replace access control list (ACL) [替换访问控制列表(ACL)] 操作只能指定向桶拥有者授予完全控制权限的对象 ACL。该操作无法将对象 ACL 权限授予其他 AWS 账户 或组。有关更多信息,请参阅为您的存储桶控制对象所有权和禁用 ACL。。
限制和局限性
-
您指定用于运行替换访问控制列表任务的角色必须有权执行基础 Amazon S3
PutObjectAcl
操作。有关所需权限的更多信息,请参阅 Amazon Simple Storage Service API 参考中的 PutObjectAcl。 -
S3 分批操作使用 Amazon S3
PutObjectAcl
操作,将指定的 ACL 应用到清单中的每个对象。因此,适用于基础 PutObjectAcl 操作的所有限制也适用于 S3 分批操作 Replace 访问控制列表任务。