

# 使用适用于 S3 的 IAM Access Analyzer 查看存储桶访问权限
<a name="access-analyzer"></a>

对于配置为支持互联网上的任何人（公开）或其它 AWS 账户（包括组织外部的 AWS 账户）访问的 S3 通用存储桶，适用于 S3 的 IAM 访问权限分析器提供外部访问权限调查发现。对于每个公开共享或与其它 AWS 账户共享的存储桶，您会收到有关源和共享访问权限级别的调查发现。例如，适用于 S3 的 IAM Access Analyzer 可能会显示存储桶具有通过存储桶访问控制列表（ACL）、存储桶策略，多区域接入点策略或接入点策略提供的读取或写入访问权限。有了这些调查结果，您就可以立即采取精确的纠正措施，将存储桶访问权限恢复为您期望的设置。

Amazon S3 控制台在 S3 控制台的通用存储桶列表旁边显示**外部访问权限摘要**。在摘要中，可以单击每个 AWS 区域的有效调查发现，以便在适用于 S3 的 IAM 访问权限分析器页面中查看该调查发现的详细信息。**外部访问权限摘要**中的外部访问权限调查发现每 24 小时自动更新一次。

当查看支持公共访问权限的存储桶时，在适用于 S3 的 IAM 访问权限分析器页面上，只需单击一下，即可屏蔽对存储桶的所有公共访问权限。我们建议您屏蔽所有对存储桶的公共访问权限，除非您需要公共访问权限才能支持特定使用案例。在阻止所有公有访问之前，请确保您的应用程序在没有公有访问权限的情况下可以继续正常工作。有关更多信息，请参阅 [阻止对您的 Amazon S3 存储的公有访问](access-control-block-public-access.md)。

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

Amazon S3 控制台上提供适用于 S3 的 IAM Access Analyzer，无需额外费用。适用于 S3 的 IAM Access Analyzer 由 AWS Identity and Access Management（IAM）IAM Access Analyzer 提供支持。要在 Amazon S3 控制台中使用适用于 S3 的 IAM 访问权限分析器，必须访问 IAM 控制台，然后按区域创建外部访问权限分析器。

有关 IAM Access Analyzer 的更多信息，请参阅《IAM 用户指南》**中的[什么是 IAM Access Analyzer？](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) 有关适用于 S3 的 IAM Access Analyzer 的更多信息，请查看以下部分。

**重要**  
适用于 S3 的 IAM 访问权限分析器要求在您具有存储桶的每个 AWS 区域中使用账户级分析器。要使用适用于 S3 的 IAM Access Analyzer，您必须访问 IAM Access Analyzer 并创建具有一个账户作为信任区域的分析器。有关更多信息，请参阅《IAM 用户指南》**中的[启用 IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#access-analyzer-enabling)。
适用于 S3 的 IAM Access Analyzer 不分析附加到跨账户接入点的接入点策略。之所以出现这种行为，是因为接入点及其策略位于信任区域（即账户）之外。如果您尚未将 `RestrictPublicBuckets` 屏蔽公共访问权限设置应用于存储桶或账户，则在 **Buckets with public access**（具有公有访问的存储桶）下列出了委托访问跨账户接入点的存储桶。当您应用 `RestrictPublicBuckets` 屏蔽公共访问权限设置时，该存储桶将在**可从其他 AWS 账户（包括第三方 AWS 账户）访问的存储桶**下报告。
添加或修改存储桶策略或存储桶 ACL 后，IAM Access Analyzer 会在 30 分钟内根据更改生成和更新调查发现。与账户级屏蔽公共访问权限设置相关的调查结果可能在您更改设置后长达 6 小时无法生成或更新。创建、删除多区域接入点或更改其策略后，最多可能会在 6 小时内生成或更新与多区域接入点相关的调查结果。

**Topics**
+ [查看授予对存储桶的外部访问权限的策略的全局摘要](#external-access-summary)
+ [适用于 S3 的 IAM 访问权限分析器提供的信息](#access-analyzer-information-s3)
+ [阻止所有公有访问](#blocking-public-access-access-analyzer)
+ [查看和更改桶访问权限](#changing-bucket-access)
+ [对存储桶结果进行归档](#archiving-buckets)
+ [激活已归档的存储桶结果](#activating-buckets)
+ [查看结果详细信息](#viewing-finding-details)
+ [下载适用于 S3 的 IAM Access Analyzer 报告](#downloading-bucket-report-s3)

## 查看授予对存储桶的外部访问权限的策略的全局摘要
<a name="external-access-summary"></a>

可以使用**外部访问权限摘要**来查看策略的全局摘要，这些策略直接从 S3 控制台中授予对您 AWS 账户中的存储桶的外部访问权限。此摘要有助于识别任何 AWS 区域中支持公开访问或从其它 AWS 账户访问的 Amazon S3 通用存储桶，而无需单独检查每个 AWS 区域中的策略。

### 启用外部访问权限摘要和适用于 S3 的 IAM 访问权限分析器
<a name="enabling-access-analyzer"></a>

要使用**外部访问权限摘要**和适用于 S3 的 IAM 访问权限分析器，必须完成以下先决条件步骤。

1. 授予所需的权限。有关更多信息，请参阅《IAM 用户指南》**中的[使用 IAM Access Analyzer 所需的权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#access-analyzer-permissions)。

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

   要执行此操作，可以在 IAM 控制台中或使用 AWS CLI 或 AWS SDK 创建具有一个账户作为信任区域的分析器。有关更多信息，请参阅《IAM 用户指南》**中的[启用 IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#access-analyzer-enabling)。

### 查看支持外部访问权限的存储桶
<a name="external-access-summary-view"></a>

**外部访问权限摘要**显示适用于 S3 的 IAM 访问权限分析器为通用存储桶提供的外部访问权限的调查发现和错误。归档的调查发现和未用访问权限的调查发现不包含在摘要中，但可以在 IAM 控制台或适用于 S3 的 IAM 访问权限分析器中查看这些内容。有关更多信息，请参阅《IAM 用户指南》中的[查看 IAM 访问权限分析器的调查发现控制面板](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-dashboard.html)。

**注意**  
**外部访问权限摘要**仅包括每个 AWS 账户（而不是 AWS 组织）的外部访问权限分析器的调查发现。

1. 通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航面板中，选择**通用存储桶**。

1. 展开**外部访问权限摘要**。控制台显示活跃的公共访问权限和跨账户访问权限调查发现。
**注意**  
如果 S3 在加载存储桶详细信息时遇到问题，请刷新通用存储桶列表，或在适用于 S3 的 IAM 访问权限分析器中查看调查发现。有关更多信息，请参阅 [使用适用于 S3 的 IAM Access Analyzer 查看存储桶访问权限](#access-analyzer)。

1. 要查看 AWS 区域的调查发现或错误的列表，请选择指向该区域的链接。适用于 S3 的 IAM 访问权限分析器页面显示可公开访问或可由其它 AWS 账户访问的存储桶的名称。有关更多信息，请参阅 [适用于 S3 的 IAM 访问权限分析器提供的信息](#access-analyzer-information-s3)。

### 更新支持外部访问权限的存储桶的访问权限控制
<a name="external-access-summary-update-controls"></a>

1. 通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航面板中，选择**通用存储桶**。

1. 展开**外部访问权限摘要**。控制台会显示可公开访问或可由其它 AWS 账户访问的存储桶的活动调查发现。
**注意**  
如果 S3 在加载存储桶详细信息时遇到问题，请刷新通用存储桶列表，或在适用于 S3 的 IAM 访问权限分析器中查看调查发现。有关更多信息，请参阅 [使用适用于 S3 的 IAM Access Analyzer 查看存储桶访问权限](#access-analyzer)。

1. 要查看 AWS 区域的调查发现或错误的列表，请选择指向该区域的链接。适用于 S3 的 IAM 访问权限分析器显示可公开访问或可由其它 AWS 账户访问的存储桶的活动调查发现。
**注意**  
**外部访问权限摘要**中的外部访问权限调查发现每 24 小时自动更新一次。

1. 要屏蔽对存储桶的所有公共访问权限，请参阅[阻止所有公有访问](#blocking-public-access-access-analyzer)。要更改存储桶访问权限，请参阅[查看和更改桶访问权限](#changing-bucket-access)。

## 适用于 S3 的 IAM 访问权限分析器提供的信息
<a name="access-analyzer-information-s3"></a>

适用于 S3 的 IAM Access Analyzer 提供可在 AWS 账户之外访问的存储桶的调查发现。互联网上的任何人均可访问在**公共访问权限调查发现**下列出的存储桶。如果适用于 S3 的 IAM Access Analyzer 识别出公有存储桶，您还会在页面顶部看到一条警告，其中显示您的区域中公有存储桶的数量。**跨账户访问权限调查发现**下列出的存储桶有条件地与其它 AWS 账户共享，包括组织外部的账户。

对于每个存储桶，适用于 S3 的 IAM Access Analyzer 提供以下信息：
+ **Bucket name（存储桶名称**
+ **共享方式** - 如何通过存储桶策略、存储桶 ACL 或多区域接入点策略或接入点策略共享存储桶。多区域接入点和跨账户接入点反映在接入点下。可以通过策略和 ACL 来共享存储桶。如果您想要找到并查看存储桶访问的来源，您可以使用此列中的信息作为起点，立即采取精确的纠正措施。
+ **Status（状态）**- 存储桶结果的状态。适用于 S3 的 IAM Access Analyzer 显示所有公有存储桶和共享存储桶的调查发现。
  + **Active (活动)** - 结果尚未审核。
  + **Archived (已归档)** - 结果已按预期审核和确认。
  + **All（全部）**– 公共存储桶或与其他 AWS 账户（包括组织外部的 AWS 账户）共享的存储桶的所有结果。
+ **Access level（访问级别）**- 为存储桶授予的访问权限：
  + **List (列出)** - 列出资源。
  + **Read (读取)** - 读取但不编辑资源内容和属性。
  + **Write (写入)** - 创建、删除或修改资源。
  + **Permissions (权限)** - 授予或修改资源权限。
  + **Tagging (标记)** - 更新与资源关联的标记。
+ **外部主体**：组织外部有权访问存储桶的 AWS 账户。
+ **资源控制策略（RCP）限制**：应用于存储桶的资源控制策略（RCP）（如果适用）。有关更多信息，请参阅 [Resource control policies (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)。

## 阻止所有公有访问
<a name="blocking-public-access-access-analyzer"></a>

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

如果您不想阻止对存储桶的所有公有访问，则可以在 Amazon S3 控制台上编辑屏蔽公共访问权限设置，以配置存储桶的精细访问级别。有关更多信息，请参阅 [阻止对您的 Amazon S3 存储的公有访问](access-control-block-public-access.md)。

在极少数情况下，适用于 S3 的 IAM 访问权限分析器和 Amazon S3 屏蔽公共访问权限评估可能会因存储桶是否为公有而有所不同。之所以出现这种情况，是因为 Amazon S3 屏蔽公共访问权限除了评估公有访问权限外，还会对操作是否存在进行验证。假设存储桶策略包含一条 `Action` 语句，它支持公众访问 Amazon S3 不支持的操作（例如 `s3:NotASupportedAction`）。在这种情况下，Amazon S3 屏蔽公共访问权限会将存储桶评估为公有，因为如果稍后该操作变成受支持的，则这样的语句可能会使存储桶变为公有的。如果 Amazon S3 屏蔽公共访问权限和适用于 S3 的 IAM 访问权限分析器的评估存在差异，我们建议您查看存储桶策略并移除任何不受支持的操作。

**使用适用于 S3 的 IAM Access Analyzer 对存储桶屏蔽所有公共访问权限**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中的 **Dashboards（控制面板）**下，请选择 **Access analyzer for S3（S3 的访问分析器）**。

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

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

1. 要确认您阻止对存储桶的所有公有访问的意图，请在 **Block all public access（bucket settings）[阻止所有公有访问（存储桶设置）]** 中输入 **confirm**。

   Amazon S3 会阻止对存储桶的所有公有访问。存储桶调查发现的状态更新为**已解决**，并且存储桶从适用于 S3 的 IAM Access Analyzer 列表中消失。如果要查看已解决的桶，请在 [IAM 控制台](https://console.aws.amazon.com/iam/)上打开 IAM Access Analyzer。

## 查看和更改桶访问权限
<a name="changing-bucket-access"></a>

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

**查看和更改存储桶策略、存储桶 ACL，多区域接入点策略或接入点策略**

1. 通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在导航窗格中，请选择 **Access analyzer for S3 (S3 访问分析器)**。

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

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

1. 如果要更改或查看存储桶 ACL：

   1. 选择**权限**。

   1. 请选择**访问控制列表**。

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

      有关更多信息，请参阅 [配置 ACL](managing-acls.md)。

1. 如果要更改或查看存储桶策略：

   1. 选择**权限**。

   1. 请选择**存储桶策略**。

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

      有关更多信息，请参阅 [使用 Amazon S3 控制台添加存储桶策略](add-bucket-policy.md)。

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

   1. 请选择**多区域接入点**。

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

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

      有关更多信息，请参阅 [权限](MultiRegionAccessPointPermissions.md)。

1. 如果要查看或更改接入点策略：

   1. 选择**通用存储桶的接入点**或**目录存储桶的接入点**。

   1. 请选择接入点名称。

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

      有关更多信息，请参阅 [管理通用存储桶的 Amazon S3 接入点](access-points-manage.md)。

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

## 对存储桶结果进行归档
<a name="archiving-buckets"></a>

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

**在适用于 S3 的 IAM Access Analyzer 中归档存储桶调查发现**

1. 通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在导航窗格中，选择**适用于 S3 的 IAM 访问权限分析器**。

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

1. 要确认您想让公共账户或其他 AWS 账户（包括组织外部的账户）访问此存储桶的意图，请选择 **Archive**（归档）。

1. 输入 **confirm**，然后选择 **Archive (归档)**。

## 激活已归档的存储桶结果
<a name="activating-buckets"></a>

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

**在适用于 S3 的 IAM Access Analyzer 中激活归档的存储桶调查发现**

1. 通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在导航窗格中，请选择 **Access analyzer for S3（S3 访问分析器）**。

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

1. 请选择 **Mark as active (标记为活动)**。

## 查看结果详细信息
<a name="viewing-finding-details"></a>

如果需要查看有关调查发现的更多信息，可以在 [IAM 控制台](https://console.aws.amazon.com/iam/)上的 IAM 访问权限分析器中打开存储桶调查发现详细信息。

**在适用于 S3 的 IAM Access Analyzer 中查看调查发现详细信息**

1. 通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在导航窗格中，请选择 **Access analyzer for S3（S3 访问分析器）**。

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

1. 请选择 **View details (查看详细信息)**。

   调查发现详细信息将在 [IAM 控制台](https://console.aws.amazon.com/iam/)上的 IAM Access Analyzer 中打开。

## 下载适用于 S3 的 IAM Access Analyzer 报告
<a name="downloading-bucket-report-s3"></a>

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

**下载报告**

1. 通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，请选择 **Access analyzer for S3（S3 的访问分析器）**。

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

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

1. 请选择 **Download report (下载报告)**。

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