S3 阻止公有访问可在整个 AWS 账户或单个 S3 存储桶级别提供控制,以确保对象现在和将来都不会接受公有访问。
通过访问控制列表 (ACL) 和/或存储桶策略,可以允许对存储桶和对象进行公有访问。为了确保阻止对您的所有 S3 存储桶和对象的公有访问,请在账户级别开启阻止所有公有访问。这些设置适用于所有当前和未来存储桶的账户范围。
AWS 建议开启阻止所有公有访问,但在应用任何这些设置之前,请确保您的应用程序在没有公有访问的情况下正确运行。如果您需要对存储桶或对象进行某种级别的公有访问,则可以自定义以下各个设置,以适合您的特定存储使用案例。
S3 阻止公有访问设置优先于允许公有访问的 S3 权限,从而让账户管理员可以轻松设置集中控制,以防止安全性配置的变动,而不考虑对象的添加方式或存储桶的创建方式。
如果在启用 S3 阻止公有访问的情况下,将一个对象写入 AWS 账户或 S3 存储桶,并且该对象通过 ACL 或策略指定任何类型的公有权限,则这些公有权限将被阻止。
除 S3 控制台之外,您还可以通过 AWS CLI、SDK 或 REST API 来启用 S3 阻止公有访问。S3 阻止公有访问文档中提供了每个选项的详细说明。请记住,您始终可以在 S3 控制台中检查公有存储桶(我们在其中显著标记了包含具有公有权限的对象的存储桶),您还可以使用 AWS Trusted Advisor 的 S3 存储桶权限检查,在有任何打开的存储桶时通知您,而无需您付费。