使用适用于 S3 的 IAM Access Analyzer 查看存储桶访问权限 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用适用于 S3 的 IAM Access Analyzer 查看存储桶访问权限

如果存在已配置为允许互联网上的任何人或其他 Amazon Web Services 账户(包括组织外部的 Amazon Web Services 账户)访问的 S3 存储桶,适用于 S3 的 IAM Access Analyzer 会向您发出提醒。对于每个公共存储桶或共享存储桶,您会收到有关公共或共享访问的来源和级别的信息。例如,适用于 S3 的 IAM Access Analyzer 可能会显示存储桶具有通过存储桶访问控制列表(ACL)、存储桶策略,多区域接入点策略或接入点策略提供的读取或写入访问权限。有了这些调查结果,您就可以立即采取精确的纠正措施,将存储桶访问权限恢复为您期望的设置。

在适用于 S3 的 IAM Access Analyzer 中查看存在风险的存储桶时,只需单击一下即可对存储桶屏蔽所有公共访问权限。我们建议您阻止所有对存储桶的访问,除非您需要公有访问才能支持特定使用案例。在阻止所有公有访问之前,请确保您的应用程序在没有公有访问权限的情况下可以继续正常工作。有关更多信息,请参阅阻止对您的 Amazon S3 存储的公有访问

您还可以向下钻取到存储桶级别权限设置,以配置精细访问。对于需要公有访问的特定和经验证的使用案例(例如静态网站托管、公共下载或跨账户共享),您可以通过对存储桶的结果进行归档来确认和记录存储桶保持公开或共享的意图。您可以随时重新访问和修改这些存储桶配置。您还可以将结果下载为 CSV 格式的报告以供审计使用。

Amazon S3 控制台上提供适用于 S3 的 IAM Access Analyzer,无需额外费用。适用于 S3 的 IAM Access Analyzer 由 Amazon Identity and Access Management(IAM)IAM Access Analyzer 提供支持。要在 Amazon S3 控制台中使用适用于 S3 的 IAM Access Analyzer,您必须访问 IAM 控制台,然后按区域启用 IAM Access Analyzer。

有关 IAM Access Analyzer 的更多信息,请参阅《IAM 用户指南》中的什么是 IAM Access Analyzer? 有关适用于 S3 的 IAM Access Analyzer 的更多信息,请查看以下部分。

重要
  • 适用于 S3 的 IAM Access Analyzer 需要账户级分析器。要使用适用于 S3 的 IAM Access Analyzer,您必须访问 IAM Access Analyzer 并创建具有一个账户作为信任区域的分析器。有关更多信息,请参阅《IAM 用户指南》中的启用 IAM Access Analyzer

  • 适用于 S3 的 IAM Access Analyzer 不分析附加到跨账户接入点的接入点策略。之所以出现这种行为,是因为接入点及其策略位于信任区域(即账户)之外。如果您尚未将 RestrictPublicBuckets 屏蔽公共访问权限设置应用于存储桶或账户,则在 Buckets with public access(具有公有访问的存储桶)下列出了委托访问跨账户接入点的存储桶。当您应用 RestrictPublicBuckets 屏蔽公共访问权限设置时,该存储桶将在可从其他 Amazon Web Services 账户(包括第三方 Amazon Web Services 账户)访问的存储桶下报告。

  • 添加或修改存储桶策略或存储桶 ACL 后,IAM Access Analyzer 会在 30 分钟内根据更改生成和更新调查发现。与账户级屏蔽公共访问权限设置相关的调查结果可能在您更改设置后长达 6 小时无法生成或更新。创建、删除多区域接入点或更改其策略后,最多可能会在 6 小时内生成或更新与多区域接入点相关的调查结果。

适用于 S3 的 IAM Access Analyzer 提供哪些信息?

适用于 S3 的 IAM Access Analyzer 提供可在 Amazon Web Services 账户之外访问的存储桶的调查发现。Internet 上的任何人均可访问在 Buckets with public access(具有公有访问权限的存储桶)下面列出的存储桶。如果适用于 S3 的 IAM Access Analyzer 识别出公有存储桶,您还会在页面顶部看到一条警告,其中显示您的区域中公有存储桶的数量。可从其他 Amazon Web Services 账户(包括第三方 Amazon Web Services 账户)访问的存储桶下面列出的存储桶将与其他 Amazon Web Services 账户(包括组织外部的账户)有条件地共享。

对于每个存储桶,适用于 S3 的 IAM Access Analyzer 提供以下信息:

  • Bucket name(存储桶名称)

  • 被 Access Analyzer 发现 - 当适用于 S3 的 IAM Access Analyzer 发现了公有存储桶或共享存储桶访问时。

  • 共享方式 - 如何通过存储桶策略、存储桶 ACL 或多区域接入点策略或接入点策略共享存储桶。多区域接入点和跨账户接入点反映在接入点下。可以通过策略和 ACL 来共享存储桶。如果您想要找到并查看存储桶访问的来源,您可以使用此列中的信息作为起点,立即采取精确的纠正措施。

  • Status(状态)- 存储桶结果的状态。适用于 S3 的 IAM Access Analyzer 显示所有公有存储桶和共享存储桶的调查发现。

    • Active (活动) - 结果尚未审核。

    • Archived (已归档) - 结果已按预期审核和确认。

    • All(全部)– 公共存储桶或与其他 Amazon Web Services 账户(包括组织外部的 Amazon Web Services 账户)共享的存储桶的所有结果。

  • Access level(访问级别)- 为存储桶授予的访问权限:

    • List (列出) - 列出资源。

    • Read (读取) - 读取但不编辑资源内容和属性。

    • Write (写入) - 创建、删除或修改资源。

    • Permissions (权限) - 授予或修改资源权限。

    • Tagging (标记) - 更新与资源关联的标记。

启用适用于 S3 的 IAM Access Analyzer

要使用适用于 S3 的 IAM Access Analyzer,您必须完成以下先决条件步骤。

  1. 授予所需的权限。

    有关更多信息,请参阅《IAM 用户指南》中的使用 IAM Access Analyzer 所需的权限

  2. 请访问 IAM 以便为要使用 IAM Access Analyzer 的每个区域创建账户级分析器。

    适用于 S3 的 IAM Access Analyzer 需要账户级分析器。要使用适用于 S3 的 IAM Access Analyzer,您必须创建具有一个账户作为信任区域的分析器。有关更多信息,请参阅《IAM 用户指南》中的启用 IAM Access Analyzer

阻止所有公有访问

如果您想要通过单击一次对存储桶屏蔽所有访问权限,则可以使用适用于 S3 的 IAM Access Analyzer 中的屏蔽所有公共访问权限按钮。当您阻止对存储桶的所有公有访问时,系统不会授予公有访问权限。我们建议您阻止所有对存储桶的公有访问,除非您需要公有访问才能支持特定和经验证的使用案例。在阻止所有公有访问之前,请确保您的应用程序在没有公有访问权限的情况下可以继续正常工作。

如果您不想阻止对存储桶的所有公有访问,则可以在 Amazon S3 控制台上编辑屏蔽公共访问权限设置,以配置存储桶的精细访问级别。有关更多信息,请参阅阻止对您的 Amazon S3 存储的公有访问

在极少数情况下,对于 Amazon S3 屏蔽公共访问权限评估报告为公有的存储桶,适用于 S3 的 IAM Access Analyzer 可能不会报告任何调查发现。发生这种情况的原因是,Amazon S3 屏蔽公共访问权限会审核当前操作以及将来可能添加的任何潜在操作的策略,从而导致存储桶变为公有。另一方面,适用于 S3 的 IAM Access Analyzer 只分析在评估访问状态时为 Amazon S3 服务指定的当前操作。

使用适用于 S3 的 IAM Access Analyzer 对存储桶屏蔽所有公共访问权限
  1. 登录到Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在左侧导航窗格中的 Dashboards(控制面板)下,请选择 Access analyzer for S3(S3 的访问分析器)

  3. 在适用于 S3 的 IAM Access Analyzer 中,选择一个存储桶。

  4. 请选择 Block all public access (阻止所有公有访问)

  5. 要确认您阻止对存储桶的所有公有访问的意图,请在 Block all public access(bucket settings)[阻止所有公有访问(存储桶设置)] 中输入 confirm

    Amazon S3 会阻止对存储桶的所有公有访问。存储桶调查发现的状态更新为已解决,并且存储桶从适用于 S3 的 IAM Access Analyzer 列表中消失。如果要查看已解决的桶,请在 IAM 控制台上打开 IAM Access Analyzer。

查看和更改桶访问权限

如果不打算对公有账户或其他 Amazon Web Services 账户 (包括组织外部的账户)授予访问权限,可以修改存储桶 ACL、存储桶策略,多区域接入点策略或接入点策略来删除对存储桶的访问权限。Shared through(共享方式)列显示存储桶访问权限的所有来源:存储桶策略、存储桶 ACL 和/或接入点策略。多区域接入点和跨账户接入点反映在接入点下。

查看和更改存储桶策略、存储桶 ACL,多区域接入点策略或接入点策略
  1. 通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在导航窗格中,请选择 Access analyzer for S3 (S3 访问分析器)

  3. 要查看是否已通过存储桶策略、存储桶 ACL 多区域接入点策略或接入点策略授予公有访问权限或共享访问权限,请查看共享方式列。

  4. 存储桶下,请选择您想要更改或查看其存储桶策略、存储桶 ACL 多区域接入点策略或接入点策略的存储桶的名称。

  5. 如果要更改或查看存储桶 ACL:

    1. 选择权限

    2. 请选择访问控制列表

    3. 查看您的存储桶 ACL,并根据需要进行更改。

      有关更多信息,请参阅 配置 ACL

  6. 如果要更改或查看存储桶策略:

    1. 选择权限

    2. 请选择存储桶策略

    3. 根据需要查看或更改存储桶策略。

      有关更多信息,请参阅 使用 Amazon S3 控制台添加存储桶策略

  7. 如果要更改或查看多区域接入点策略:

    1. 请选择多区域接入点

    2. 请选择多区域接入点名称。

    3. 根据需要查看或更改多区域接入点策略。

      有关更多信息,请参阅 权限

  8. 如果要查看或更改接入点策略:

    1. 请选择接入点

    2. 请选择接入点名称。

    3. 根据需要查看或更改访问权限。

      有关更多信息,请参阅通过 Amazon S3 控制台使用 Amazon S3 接入点

    如果您编辑或删除存储桶 ACL、存储桶策略或接入点策略以删除公有访问或共享访问权限,则存储桶结果的状态会更新为已解决。已解决的桶调查发现从适用于 S3 的 IAM Access Analyzer 列表中消失,但您可以在 IAM Access Analyzer 中查看它们。

对存储桶结果进行归档

如果存储桶对公共账户或其他 Amazon Web Services 账户(包括组织外部的账户)授予访问权限,以便支持特定使用案例(例如,静态网站、公共下载或跨账户共享),则可以归档该存储桶的结果。当您对存储桶结果进行归档时,即表示您确认并记录存储桶保持公开或共享的意图。已归档的存储桶调查发现将保留在适用于 S3 的 IAM Access Analyzer 列表中,以便您始终知道哪些存储桶是公有存储桶或共享存储桶。

在适用于 S3 的 IAM Access Analyzer 中归档存储桶调查发现
  1. 通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在导航窗格中,请选择 Access analyzer for S3(S3 访问分析器)

  3. 在适用于 S3 的 IAM Access Analyzer 中,选择一个活动的存储桶。

  4. 要确认您想让公共账户或其他 Amazon Web Services 账户(包括组织外部的账户)访问此存储桶的意图,请选择 Archive(归档)。

  5. 输入 confirm,然后选择 Archive (归档)

激活已归档的存储桶结果

对结果进行归档后,您可以随时重新访问这些结果并将其状态更改回活动状态,这表明存储桶需要另一次审核。

在适用于 S3 的 IAM Access Analyzer 中激活归档的存储桶调查发现
  1. 通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在导航窗格中,请选择 Access analyzer for S3(S3 访问分析器)

  3. 请选择已归档的存储桶结果。

  4. 请选择 Mark as active (标记为活动)

查看结果详细信息

如果您需要查看有关桶的更多信息,可以在 IAM 控制台上的 IAM Access Analyzer 中打开桶调查发现详细信息。

在适用于 S3 的 IAM Access Analyzer 中查看调查发现详细信息
  1. 通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在导航窗格中,请选择 Access analyzer for S3(S3 访问分析器)

  3. 在适用于 S3 的 IAM Access Analyzer 中,选择一个存储桶。

  4. 请选择 View details (查看详细信息)

    调查发现详细信息将在 IAM 控制台上的 IAM Access Analyzer 中打开。

下载适用于 S3 的 IAM Access Analyzer 报告

您可以将存储桶结果下载为 CSV 格式的报告,供审计使用。该报告包含的信息与您在 Amazon S3 控制台的适用于 S3 的 IAM Access Analyzer 中看到的信息相同。

下载报告
  1. 通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在左侧导航窗格中,请选择 Access analyzer for S3(S3 的访问分析器)

  3. 在“Region (区域)”筛选器中,请选择相应的区域。

    适用于 S3 的 IAM Access Analyzer 会更新以显示所选区域的存储桶。

  4. 请选择 Download report (下载报告)

    系统会生成 CSV 报告并保存到您的计算机中。