

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Macie 如何监控 Amazon S3 数据安全性
<a name="monitoring-s3-how-it-works"></a>

当你为你的账户启用 Amazon Macie 时 AWS 账户，Macie 会为你的账户创建一个 AWS Identity and Access Management (IAM) [服务相关角色](service-linked-roles.md)。 AWS 区域此角色的权限策略允许 Macie 代表您呼叫其他人 AWS 服务 并监控 AWS 资源。通过使用此角色，Macie 会生成并维护您在该地区的亚马逊简单存储服务 (Amazon S3) Simple Storage Service 通用存储桶的清单。Macie 还监控和评测这些存储桶以确保安全性和进行访问控制。

如果您是组织的 Macie 管理员，则清单中包含您账户和您组织中成员账户的 S3 存储桶的统计信息和其他数据。利用这些数据，您可以使用 Macie 来监控和评测您的组织在 Amazon S3 数据资产中的安全状况。有关更多信息，请参阅 [管理多个账户](macie-accounts.md)。

**Topics**
+ [关键组件](#monitoring-s3-how-it-works-components)
+ [数据刷新](#monitoring-s3-how-it-works-data-refresh)
+ [注意事项](#monitoring-s3-how-it-works-considerations)

## 关键组件
<a name="monitoring-s3-how-it-works-components"></a>

Amazon Macie 使用多种功能和技术来提供和维护您的 S3 通用存储桶的库存数据，并监控和评估存储桶的安全和访问控制。

**收集元数据和计算统计信息**  
为了生成和维护您的存储桶清单的元数据和统计信息，Macie 会直接从 Amazon S3 检索存储桶和对象元数据。对于每个存储桶，元数据包括：  
+ 有关存储桶的一般信息，例如存储桶的名称、Amazon 资源名称 (ARN)、创建日期、加密设置、标签以及拥有 AWS 账户 该存储桶的账户 ID。
+ 适用于存储桶的账户级别权限设置，例如账户的阻止公有访问设置。
+ 存储桶的存储桶级别权限设置，例如存储桶的阻止公有访问设置以及源自存储桶策略或访问控制列表（ACL）的设置。
+ 存储分区的共享访问权限和复制设置，包括存储桶数据是复制到不属于您的组织的 AWS 账户 ，还是与之共享。
+ 存储桶中对象的对象计数和设置，例如存储桶中对象的数量以及按加密类型、文件类型和存储类划分的对象计数明细。
Macie 直接向您提供这些信息。Macie 还使用这些信息来计算统计数据，并对您的存储桶清单以及库存中各个存储桶的安全性和隐私性进行评估。例如，您可以找到清单中的总存储大小和存储桶数量、这些存储桶中的总存储大小和对象数量，以及 Macie 可以分析以检测存储桶中的敏感数据的总存储大小和对象数量。  
默认情况下，元数据和统计信息包括由于分段上传不完整而存在的任何对象分段的数据。如果您手动刷新特定存储桶的对象元数据，Macie 会重新计算该存储桶和您的存储桶清单的总体统计信息，并从重新计算的值中排除对象分段的数据。下次 Macie 在每日刷新周期中从 Amazon S3 检索存储桶和对象元数据时，Macie 会更新您的清单数据并再次包含对象分段的数据。有关 Macie 何时检索存储桶和对象元数据的信息，请参阅[数据刷新](#monitoring-s3-how-it-works-data-refresh)。  
请注意，Macie 无法通过分析对象分段检测敏感数据。Amazon S3 必须先将分段重组成一个或多个对象，让 Macie 进行分析。有关分段上传和对象分段的信息，包括如何根据生命周期规则自动删除分段，请参阅 *Amazon Simple Storage Service 用户指南*中的[使用分段上传来上传和复制对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html)。要识别包含对象分段的存储桶，您可以参考 Amazon S3 Storage Lens 存储统计管理工具中的*未完成分段上传*。有关更多信息，请参阅 *Amazon Simple Storage Service 用户指南*中的[评测您的存储活动和使用情况](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html)。

**监控存储桶的安全性和隐私性**  
为了帮助确保清单中存储桶级数据的准确性，Macie 会监控和分析 Amazon S3 数据可能发生的某些 [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 事件。如果发生相关事件，Macie 会更新相应的清单数据。  
例如，如果您为存储桶启用阻止公有访问设置，Macie 会更新有关该存储桶公有访问设置的所有数据。同样，如果您为存储桶添加或更新存储桶策略，Macie 会分析该策略并更新清单中的相应数据。  
如果 Macie 确定某事件降低了存储桶的安全性或隐私性，Macie 还会创建一份[政策调查结果](findings-types.md#findings-policy-types)供您查看并在必要时进行补救。  
Macie 监控和分析以下 CloudTrail 事件的数据：  
+ **账户级别的事件 — 以及** DeletePublicAccessBlock PutPublicAccessBlock
+ **存储桶级别的事件** — CreateBucket、、、 DeleteAccountPublicAccessBlock、 DeleteBucket、DeleteBucketEncryption、、 DeleteBucketPolicy、DeleteBucketPublicAccessBlock、 DeleteBucketReplication、、DeleteBucketTagging、 PutAccountPublicAccessBlock、 PutBucketAcl、PutBucketEncryption、、 PutBucketPolicy PutBucketPublicAccessBlock、和 PutBucketReplication PutBucketTagging PutBucketVersioning
您无法启用对其他 CloudTrail 事件的监控，也无法禁用对上述任何事件的监控。有关上述事件的相应操作的详细信息，请参阅 [Amazon Simple Storage Service API 参考](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations_Amazon_Simple_Storage_Service.html)。  
要监控对象级事件，我们建议您使用亚马逊的 Amazon S3 保护功能。 GuardDuty此功能监控对象级的 Amazon S3 数据事件，并分析它们是否存在恶意和可疑活动。有关更多信息，请参阅 [GuardDuty Ama *zon GuardDuty 用户指南*中的 S3 保护](https://docs.aws.amazon.com/guardduty/latest/ug/s3-protection.html)。

**评测存储桶的安全性和访问控制**  
为了评测存储桶级别的安全性和访问控制，Macie 使用基于逻辑的自动推理来分析适用于存储桶的基于资源的策略。Macie 还会分析适用于存储桶的账户和存储桶级别的权限设置。此分析考虑了账户和存储桶的存储桶策略 ACLs、存储桶级别和封禁公共访问设置。  
对于基于资源的策略，Macie 使用 [Zelkova](https://aws.amazon.com/blogs/security/protect-sensitive-data-in-the-cloud-with-automated-reasoning-zelkova/)。Zelkova 是一个自动推理引擎，它将 AWS Identity and Access Management （IAM）策略转换为逻辑语句，并针对决策问题运行一套通用和专业的逻辑求解器（可*满足性模数理*论）。要详细了解 Zelkova 使用的求解器的性质，请参阅[可满足模理论](https://people.eecs.berkeley.edu/~sseshia/pubdir/SMT-BookChapter.pdf)。  
Macie 反复将 Zelkova 应用于基于资源的策略，使用越来越具体的查询来描述该策略允许的行为类别。该分析旨在识别您的 Amazon S3 数据的潜在安全风险并最大限度地减少误报。它不包括定义组织资源最大可用权限的 AWS Organizations 授权策略，例如服务控制策略 (SCPs) 或资源控制策略 (RCPs)。它也不包括关联的关键策略 AWS KMS keys。例如，如果存储桶策略使用 [s3: x-amz-server-side-encryption-aws-kms-key-id](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys) 条件键来限制对存储桶的写入权限，则 Macie 不会分析指定密钥的密钥策略。这意味着 Macie 可能会报告该存储桶是可公开访问的，具体取决于存储桶策略的其他组成部分以及适用于该存储段的 Amazon S3 权限设置。  
此外，当 Macie 评测存储桶的安全性和隐私性时，它不会检查访问日志，也不会分析账户的用户、角色和其他相关配置。相反，Macie 会分析和报告指明*潜在*安全风险的关键设置数据。例如，如果一个策略调查发现指明存储桶可公开访问，则不一定意味着外部实体访问了该存储桶。同样，如果政策调查结果表明存储桶与组织 AWS 账户 外部人员共享，则 Macie 不会尝试确定这种访问是否有意且安全。相反，这些调查发现指明外部实体可能会访问存储桶的数据，这可能会带来意想不到的安全风险。  
如果 Macie 报告外部实体可能访问 S3 存储桶，我们建议您查看存储桶的策略和设置，以确定这种访问是否有意且安全。如果适用，还要查看相关资源的策略和设置 AWS KMS keys，例如您的组织的 AWS Organizations 授权策略。

**重要**  
要执行上述任务，存储桶必须是 S3 通用存储桶。Macie 不监控或分析 S3 目录存储桶。  
此外，必须允许 Macie 访问该存储桶。如果存储桶的权限设置阻止 Macie 检索该存储桶或存储桶对象的元数据，Macie 只能提供有关该存储桶的信息子集，例如存储桶的名称和创建日期。Macie 无法为存储桶执行任何其他任务。有关更多信息，请参阅 [允许 Macie 访问 S3 存储桶和对象](monitoring-restrictive-s3-buckets.md)。  
对于一个账户，Macie 最多可以为 10,000 个存储桶执行上述任务。如果您在 Amazon S3 中存储的存储桶超过 10,000 个，则 Macie 仅对最近创建或更改的 10,000 个存储桶执行这些任务。对于所有其他存储桶，Macie 不会维护完整的库存数据、评估或监控存储桶数据的安全性和隐私性，也不会生成政策调查结果。相反，Macie 仅提供有关存储桶的部分信息。

## 数据刷新
<a name="monitoring-s3-how-it-works-data-refresh"></a>

当你为你的启用 Amazon Macie 时 AWS 账户，Macie 会直接从亚马逊 S3 检索你的 S3 通用存储桶和对象的元数据。此后，作为每日刷新周期的一部分，Macie 每天自动直接从 Amazon S3 检索存储桶和对象元数据。

在出现以下任一情况时，Macie 还会直接从 Amazon S3 检索桶元数据：
+ Macie 检测到相关 AWS CloudTrail 事件。
+ 您可以通过在 Amazon Macie 控制台上选择刷新 (![\[The refresh button, which is a button that displays an empty blue circle with an arrow.\]](http://docs.aws.amazon.com/zh_cn/macie/latest/user/images/btn-refresh-data.png)) 来刷新您的清单数据。根据数据资产的大小，您可以每五分钟刷新一次数据。
+ 您以编程方式向 Amazon Macie API 提交[DescribeBuckets](https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html)请求，Macie 已完成对之前任何请求的处理。**DescribeBuckets**

如果您选择手动刷新特定存储桶的最新对象元数据，Macie 还可以检索该数据。如果您最近创建了存储桶或在过去 24 小时内对存储桶的对象进行了重大更改，这会很有帮助。要手动刷新存储桶的对象元数据，请在控制台的 **S3 存储桶**页面的[存储桶详细信息面板](monitoring-s3-inventory-review.md#monitoring-s3-inventory-view-details)的**对象统计信息**部分中选择刷新 (![\[The refresh button, which is a button that displays an empty, dark gray circle with an arrow.\]](http://docs.aws.amazon.com/zh_cn/macie/latest/user/images/btn-refresh-object-data.png))。此功能适用于所存储对象数量小于等于 30000 的存储桶。

要确定 Macie 最近检索您账户的存储桶或对象元数据的时间，您可以参考控制台上的**上次更新时间**字段。此字段显示在**摘要**控制面板和 **S3 存储桶**页面上，以及 **S3 存储桶**页面上的[存储桶详细信息面板](monitoring-s3-inventory-review.md#monitoring-s3-inventory-view-details)中。如果您使用 Amazon Macie API 查询库存数据，则该`lastUpdated`字段会提供这些信息。如果您是组织的 Macie 管理员，则该字段指示 Macie 检索组织中某个账户数据的最早日期和时间。

每次 Macie 检索存储桶或对象元数据时，Macie 都会自动更新清单中的相应数据。如果 Macie 检测到影响存储桶安全性或隐私性的差异，则 Macie 会立即开始评测和分析这些更改。分析完成后，Macie 会更新库存中的相应数据。如果任何差异降低了存储桶的安全性或隐私性，则 Macie 还会创建适当的[策略调查发现](findings-types.md#findings-policy-types)供您在必要时进行查看和补救。Macie 会为您的账户执行多达 10,000 个存储桶。如果您的存储桶超过 10,000 个，Macie 会对最近创建或更改的 10,000 个存储分区执行此操作。如果您是组织的 Macie 管理员，则此配额适用于您组织中的每个账户，而不是整个组织的账户。

在极少数情况下，在某些条件下，延迟和其他问题可能会阻止 Macie 检索存储桶和对象元数据。它们还可能延迟 Macie 收到的有关您的存储桶清单变更或各个存储桶的权限设置和策略的通知。例如， CloudTrail 事件的交付问题可能会导致延迟。如果发生此情况，Macie 会在下次执行每日刷新时（24 小时内）分析新数据和更新后的数据。

## 注意事项
<a name="monitoring-s3-how-it-works-considerations"></a>

在使用 Amazon Macie 监控和评测 Amazon S3 数据的安全状况时，请记住以下几点：
+ 清单数据仅适用于当前 AWS 区域中的 S3 通用存储桶。要访问其他区域的数据，请在每个其他区域中启用 Macie 并使用它。
+ 如果您是组织的 Macie 管理员，则只有在当前区域为成员账户启用了 Macie 后，您才能访问该账户的清单数据。
+ Macie 可以为一个账户提供不超过 10,000 个存储桶的完整库存数据。此外，Macie 可以评估和监控一个账户不超过 10,000 个存储桶的安全性和隐私性。如果您的账户超过此配额，Macie 会评估、监控并提供有关最近创建或更改的 10,000 个存储桶的详细信息。对于所有其他存储桶，Macie 仅提供有关存储桶的部分信息。

  如果您的账户接近该配额，我们会通过为您的账户创建 AWS Health 活动来通知您。我们还会向与您的账户关联的地址发送电子邮件。如果您的账户超过配额，我们会再次通知您。如果您是 Macie 管理员，则此配额适用于您组织中的每个账户，而不是整个组织的账户。
+ 如果存储桶的权限设置阻止 Macie 检索有关该存储桶或存储桶对象的信息，则 Macie 无法评测和监控该存储桶数据的安全性和隐私性，也无法提供有关该存储桶的详细信息。为了帮助您识别属于这种情况的存储桶，Macie 会执行以下操作：
  + 在控制台上的存储桶清单中，Macie 会显示该存储桶的警告图标 (![\[The warning icon, which is a red triangle that has an exclamation point in it.\]](http://docs.aws.amazon.com/zh_cn/macie/latest/user/images/icon-warning-red.png))。
  + 有关存储桶的详细信息，Macie 仅提供部分字段的数据：拥有 AWS 账户 该存储桶的账户 ID；存储桶的名称、Amazon 资源名称 (ARN)、创建日期和区域；以及 Macie 最近一次在每日刷新周期中检索存储桶和对象元数据的日期和时间。如果您使用 Amazon Macie API 以编程方式查询库存数据，Macie 还会为存储桶提供错误代码和消息。
  + **在控制台的 Summary 控制面板中，**公共访问**、**加密**和**共享**统计数据的存储桶值为 “**未知**”。**此外，Macie 在计算**存储**和**对象**统计信息的数据时会排除存储桶。
  + 如果您使用[GetBucketStatistics](https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3-statistics.html)操作以编程方式查询聚合统计数据，则许多统计数据的存储桶值为，而 Macie 在计算对象计数和存储大小值时会排除该存储桶。`unknown`

  要调查该问题，请在 Amazon S3 中查看存储桶的策略和权限设置。例如，存储桶可能具有限制性的存储桶策略。有关更多信息，请参阅 [允许 Macie 访问 S3 存储桶和对象](monitoring-restrictive-s3-buckets.md)。
+ 有关访问和权限的数据仅限于账户和存储桶级别的设置。它不反映确定对存储桶中特定对象的访问的对象级别设置。例如，如果为存储桶中的特定对象启用了公有访问权限，则 Macie 不会报告该存储桶或该存储桶的对象可公开访问。

  要监控对象级操作并识别潜在的安全风险，我们建议您使用 Amazon 的 Amazon S3 保护功能。 GuardDuty此功能监控对象级的 Amazon S3 数据事件，并分析它们是否存在恶意和可疑活动。有关更多信息，请参阅 [GuardDuty Ama *zon GuardDuty 用户指南*中的 S3 保护](https://docs.aws.amazon.com/guardduty/latest/ug/s3-protection.html)。
+ 如果您手动刷新特定存储桶的对象元数据：
  + Macie 会临时报告 “*未知*”，以获取适用于对象的加密统计信息。下次 Macie 执行每日数据刷新时（24 小时内），Macie 会重新评测对象的加密元数据，并再次报告统计信息的定量数据。
  + 由于分段上传不完整，Macie 会暂时排除存储桶包含的任何对象部分的数据。下次 Macie 执行每日数据刷新时（24 小时内），Macie 会重新计算存储桶对象的数量值和存储大小值，并在这些计算中包括各部分的数据。
+ 在某些情况下，Macie 可能无法确定存储桶是可公开访问还是共享，或者需要对新对象进行服务器端加密。例如，配额或临时问题可能会阻止 Macie 检索和分析必需的数据。或者 Macie 可能无法完全确定一个或多个策略语句是否授予对外部实体的访问权限。在这些情况下，Macie 会将存储桶清单中的相关统计数据和字段报告为 “*未知*”。要调查这些情况，请检查 Amazon S3 中存储桶的策略和权限设置。

另请注意，只有在您为账户启用 Macie 后，存储桶的安全性或隐私性降低时，Macie 才会生成策略调查发现。例如，如果您在启用 Macie 后禁用存储桶的阻止公开访问设置，Macie 会为该存储桶生成一个 Pol **icy: IAMUser /S3 BlockPublicAccessDisabled** 查找结果。但是，如果您在启用 Macie 时禁用了存储桶的封禁公共访问设置，但这些设置继续处于禁用状态，则 Macie 不会为该存储桶生成**策略：IAMUser/S3 BlockPublicAccessDisabled** 查找结果。