Amazon Simple Storage Service
控制台用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

使用存储桶权限检查识别公共存储桶

Amazon S3 控制台中的存储桶权限检查会检查存储桶策略和存储桶访问控制列表 (ACL),从而识别可公开访问的存储桶。可公开访问 的定义是,可由世界上的所有人访问,或者可由任何经过身份验证的 AWS 用户访问。

访问权 的定义是,能够读取对象或者将对象写入到存储桶,编辑存储桶权限,或者执行其他 Amazon S3 操作。读取 存储桶是指列出存储在存储桶中的对象,写入 是指能够通过上传/PUT 操作将对象放置到存储桶中。

有两种方式可以将 S3 存储桶设置为可公开访问:通过存储桶策略和 ACL。有关存储桶策略、ACL 和权限的更多信息,请参阅 Amazon Simple Storage Service 开发人员指南 中的管理对 Amazon S3 资源的访问权限

存储桶权限检查不会检查对象 ACL,这可以允许世界上的所有人或任何经过身份验证的 AWS 用户访问对象及其权限。还可以通过对象的 ACL 公开访问对象。如果对象通过 READ ACL 设置为可公开访问,则允许访问该对象的内容。借助 READ_ACPWRITE_ACP ACL,被授权者还可以读取和修改对象 ACL。

存储桶权限检查使得识别提供公开读取和写入访问权的 S3 存储桶更加简单。您还可以查看公开访问的源是存储桶策略还是存储桶 ACL,或者二者皆有。如果您更改存储桶策略或存储桶 ACL,Amazon S3 控制台会实时分析它们,并提醒您这些更改是否会启用对存储桶的公开读取和写入访问权。

列出公共存储桶

“List buckets”视图现在显示您的存储桶是否可公开访问。Amazon S3 会标注存储桶的权限,如下所示:

  • Public – 可由世界上的所有人访问,或者可由任何经过身份验证的 AWS 用户访问。

  • Not public* – 存储桶不可公开访问。不过,存储桶中的对象可能仍然可以由于对象 ACL 而公开访问。

  • Access denied – 存储桶已锁定。

  • Error – 出现与服务相关的错误。

  • Undetermined – Amazon S3 无法确定存储桶是否可公开访问。

要获取提供公共读取和写入访问权的公共存储桶的列表,请选择存储桶数量旁边的橙色 Public 按钮。

 “List buckets”视图,顶部突出显示“Public”按钮。

您还可以获取带有更具体访问信息的列表。在 Search for buckets 栏下拉列表中,选择 Buckets with any public access (read/write)Buckets with public read accessBuckets with public write access

 “List buckets”视图,带有搜索栏和三个可供选择的选项。

如果选择了橙色 Public 按钮或 Buckets with any public access (read/write),您将会看到一个公共存储桶列表,带有 ReadWrite 访问权限的相关信息。

要更改此列表,使其只显示 ReadWrite 访问权限,请选择位于列表上方的 Public:ReadPublic:Write 按钮上的 X。如果您选择两个按钮上的 X,则将返回到“List all buckets”页面。

Source 列显示了存储桶是否因使用 ACL 和/或 Bucket policy 而标记为公共。ACL Bucket policy 是链接 – 选择这些链接可查看权限页面,其中显示了为什么该存储桶标记为公共。然后,您可以根据需要更改权限。有关更改 ACL 和存储桶策略权限的更多信息,请参阅 如何设置 ACL 存储桶权限?如何添加 S3 存储桶策略?

 存储桶列表,其中显示“Public:write”和“Public:read”选项以及“ACL”和“bucket policy”链接。

更多信息