

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

# 在 S3 恶意软件防护中监控 S3 对象扫描
<a name="monitoring-malware-protection-s3-scans-gdu"></a>

使用带有 GuardDuty 检测器 ID 的 S3 恶意软件防护时，如果您的 Amazon S3 对象可能是恶意的，则 GuardDuty 会生成[S3 恶意软件防护调查发现类型](gdu-malware-protection-s3-finding-types.md)。使用 GuardDuty 控制台和 API，您可以查看生成的调查结果。有关有助了解此调查发现类型的信息，请参阅[调查发现详细信息](guardduty_findings-summary.md)。

在未启用 GuardDuty （无检测器 ID）的情况下对 S3 使用恶意软件防护时，即使扫描的 Amazon S3 对象可能是恶意的，也 GuardDuty 无法生成任何发现。

**Topics**
+ [可能的 S3 对象扫描状态和结果状态](#s3-object-scan-result-value-malware-protection)
+ [使用 Amazon 监控 S3 对象扫描 EventBridge](monitor-with-eventbridge-s3-malware-protection.md)
+ [使用 GuardDuty 托管标签监控 S3 对象扫描](monitor-enable-s3-object-tagging-malware-protection.md)
+ [中的 S3 对象扫描状态指标 CloudWatch](monitor-cloudwatch-metrics-s3-malware-protection.md)

## 可能的 S3 对象扫描状态和结果状态
<a name="s3-object-scan-result-value-malware-protection"></a>

本节介绍可能的 S3 对象扫描状态值和扫描结果值。

S3 对象扫描状态指示恶意软件扫描的状态，例如已完成、已跳过或失败。

S3 对象恶意软件扫描结果状态根据扫描状态值指示扫描结果。每个恶意软件扫描结果状态值都映射一个扫描状态。

以下列表提供了可能的 S3 对象扫描结果值。如果您启用了标记，则可以通过[使用 S3 对象标签](monitor-enable-s3-object-tagging-malware-protection.md)来监控扫描结果。扫描后，标签值将具有以下扫描结果值之一。

**S3 对象潜在恶意软件扫描结果状态值**
+ `NO_THREATS_FOUND`— 未 GuardDuty 检测到与扫描对象相关的潜在威胁。
+ `THREATS_FOUND`— GuardDuty 检测到与扫描对象相关的潜在威胁。
+ `UNSUPPORTED`：S3 恶意软件防护会因几个原因跳过扫描。可能的原因包括文件受密码保护、归档文件压缩率极高、[S3 恶意软件防护配额](malware-protection-s3-quotas-guardduty.md)，以及可能不支持某些 Amazon S3 功能。有关更多信息，请参阅 [S3 恶意软件防护的功能](s3-malware-protection-capability.md)。
+ `ACCESS_DENIED`— GuardDuty 无法访问此对象进行扫描。检查与此存储桶关联的 IAM 角色权限。有关更多信息，请参阅 [创建或更新 IAM 角色策略](malware-protection-s3-iam-policy-prerequisite.md)。

  如果您启用了扫描后 S3 对象标记，请参阅[对 S3 对象扫描后标记失败问题进行故障排除](troubleshoot-s3-post-scan-tag-failures.md)。
+ `FAILED`— 由于内部错误， GuardDuty 无法对此对象执行恶意软件扫描。

以下列表提供了可能的 S3 对象扫描状态值及其与 S3 对象扫描结果的映射。

**可能的 S3 对象扫描状态值**
+ **已完成**：扫描已成功完成并指示 S3 对象是否存在恶意软件。在此场景中，可能的 S3 对象扫描结果值或为 `THREATS_FOUND` 或 `NO_THREATS_FOUND`。
+ **已跳过** — GuardDuty 如果扫描此 S3 对象不受 S3 恶意软件防护支持，或者 GuardDuty无法访问选定存储桶中上传的 S3 对象，则跳过恶意软件扫描。

  在此场景中，可能的 S3 对象扫描结果值或为 `UNSUPPORTED` 或 `ACCESS_DENIED`。

  GuardDuty 如果所需的 IAM 角色被删除，也会跳过扫描。
+ **失败** — 与 S3 对象扫描结果值类似`FAILED`，此扫描状态表示 GuardDuty 由于内部错误而无法对 S3 对象执行恶意软件扫描。

当扫描状态为时`SKIPPED`，S3 对象扫描结果的 EventBridge 通知中将包含一个`statusReasons`字段`scanResultDetails`。此字段是一个字符串列表，提供了跳过扫描的具体原因。下表描述了可能的`statusReasons`值。


| 状态原因 | 扫描结果状态 | 说明 | 
| --- | --- | --- | 
| `UNAUTHORIZED_TO_GET_OBJECT` | `ACCESS_DENIED` | S3 恶意软件防护无权读取 S3 对象，或者 S3 对象不存在。验证与受保护存储桶关联的 IAM 角色是否具有所需的权限，并且所有存储桶 AWS KMS 策略都允许该角色解密对象。 | 
| `UNAUTHORIZED_TO_ASSUME_ROLE` | `ACCESS_DENIED` | S3 恶意软件防护无法代入为受保护存储桶配置的 IAM 角色。验证角色信任策略是否允许 S3 的恶意软件防护代入该角色。 | 
| `SSE_C_ENCRYPTED_OBJECT` | `ACCESS_DENIED` | S3 对象使用客户提供的加密密钥进行加密 (SSE-C)。 GuardDuty 无法访问使用加密的对象 SSE-C。有关更多信息，请参阅 [Amazon S3 功能支持](supported-s3-features-malware-protection-s3.md)。 | 
| `OBJECT_E_TAG_CHANGED` | `ACCESS_DENIED` | 从启动扫描到 GuardDuty 尝试读取对象，S3 对象 ETag 发生了变化。后续上传的版本或新版本将被扫描。 | 
| `BUCKET_NOT_FOUND` | `ACCESS_DENIED` | 与扫描关联的 S3 存储桶已不存在。 | 
| `UNSUPPORTED_STORAGE_CLASS` | `UNSUPPORTED` | S3 对象使用的存储类不受 S3 恶意软件防护支持。有关更多信息，请参阅 [Amazon S3 功能支持](supported-s3-features-malware-protection-s3.md)。 | 
| `OBJECT_SIZE_LIMIT_EXCEEDED` | `UNSUPPORTED` | S3 对象大小超过 S3 恶意软件防护的最大文件大小限制。有关更多信息，请参阅 [S3 恶意软件防护配额](malware-protection-s3-quotas-guardduty.md)。 | 
| `PASSWORD_PROTECTED` | `UNSUPPORTED` | 该对象受密码保护。 | 
| `EXTRACTED_FILE_LIMIT_EXCEEDED` | `UNSUPPORTED` | 存档包含的文件数超过了允许的最大限制。有关更多信息，请参阅 [S3 恶意软件防护配额](malware-protection-s3-quotas-guardduty.md)。 | 
| `EXTRACTED_LEVEL_LIMIT_EXCEEDED` | `UNSUPPORTED` | 存档文件超过了允许的最大嵌套深度。 | 
| `EXTRACTED_BYTE_LIMIT_EXCEEDED` | `UNSUPPORTED` | 提取的存档内容超过了允许的最大字节大小。有关更多信息，请参阅 [S3 恶意软件防护配额](malware-protection-s3-quotas-guardduty.md)。 | 
| `EXTRACTION_RATIO_LIMIT_EXCEEDED` | `UNSUPPORTED` | 该档案的压缩率极高，超过了允许的限制。有关更多信息，请参阅 [S3 恶意软件防护配额](malware-protection-s3-quotas-guardduty.md)。 | 