View a markdown version of this page

将生成的 GuardDuty 调查结果导出到 Amazon S3 存储桶 - 亚马逊 GuardDuty

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

将生成的 GuardDuty 调查结果导出到 Amazon S3 存储桶

GuardDuty 将生成的调查结果保留 90 天。 GuardDuty 将活跃的调查结果导出到亚马逊 EventBridge (EventBridge)。您可以选择将生成的调查发现导出到 Amazon Simple Storage Service(Amazon S3)存储桶。这将有助您跟踪账户中潜在可疑活动的历史数据,并评估建议的补救措施是否成功。

生成的所有新的活跃发现结果将在结果 GuardDuty 生成后大约 5 分钟内自动导出。您可以设置将活动发现的更新导出到的频率 EventBridge。您选择的频率适用于将新出现的现有发现结果导出到 EventBridge、您的 S3 存储桶(配置后)和侦探(集成时)。有关如何 GuardDuty 汇总多次出现的现有发现的信息,请参阅。GuardDuty 寻找聚合

当您配置设置以将调查结果导出到 Amazon S3 存储桶时, GuardDuty 使用 AWS Key Management Service (AWS KMS) 对您的 S3 存储桶中的发现数据进行加密。这要求您向 S3 存储桶和 AWS KMS 密钥添加权限, GuardDuty 以便使用它们在您的账户中导出调查结果。

注意事项

在完成调查发现导出的先决条件并执行导出步骤之前,请注意以下关键概念:

  • 导出设置是区域性的 -您需要在使用的每个区域中配置导出选项 GuardDuty。

  • 将发现结果导出到不同 AWS 区域 (跨区域)的 Amazon S3 存储桶 — GuardDuty 支持以下导出设置:

    • 您的 Amazon S3 存储桶或对象以及 AWS KMS 密钥必须属于同一存储桶或对象 AWS 区域。

    • 对于在商业区域中生成的调查发现,您可以选择将这些调查发现导出到任何商业区域中的 S3 存储桶。但是,您不能将这些调查发现导出到选择加入型区域中的 S3 存储桶。

    • 对于在选择加入区域生成的调查发现,您可以选择将这些调查发现导出到生成相关调查发现的同一选择加入型区域或任何商业区域。但是,您不能将调查发现从一个选择加入型区域导出到另一个选择加入型区域。

  • 导出调查结果的权限 -要配置导出活动发现的设置,您的 S3 存储桶必须具有 GuardDuty 允许上传对象的权限。您还必须拥有 GuardDuty 可用于加密发现结果的密 AWS KMS 钥。

  • 不导出存档的调查发现:默认行为是不导出存档的调查发现,包括新出现的被抑制的调查发现。

    当 GuardDuty 搜索结果生成为 “已存档” 时,您需要将其取消存档。这会将筛选器查找状态更改为 “有效” 。 GuardDuty 根据您的配置第 5 步 – 导出调查发现的频率方式将更新导出到现有未存档的发现结果。

  • GuardDuty 管理员帐户可以导出在关联成员账户中生成的调查结果 -当您在管理员帐户中配置导出结果时,在同一区域中生成的关联成员账户的所有发现结果也会导出到您为管理员帐户配置的相同位置。有关更多信息,请参阅 了解 GuardDuty 管理员账户和成员账户之间的关系

第 1 步 – 配置调查发现导出所需的权限

配置导出调查结果的设置时,您可以选择一个 Amazon S3 存储桶来存储调查结果和用于数据加密的 AWS KMS 密钥。除了 GuardDuty 操作权限外,您还必须具有以下操作的权限才能成功配置导出调查结果的设置:

  • s3:GetBucketLocation

  • s3:PutObject

如果您需要将调查发现导出到 Amazon S3 存储桶中的特定前缀,则还必须向 IAM 角色添加以下权限:

  • s3:GetObject

  • s3:ListBucket

第 2 步 – 将策略附加到 KMS 密钥

GuardDuty 使用对存储桶中的发现数据进行 AWS Key Management Service加密。要成功配置设置,必须先 GuardDuty 授予使用 KMS 密钥的权限。您可以通过将策略附加到 KMS 密钥来授予权限。

当您使用其他账户的 KMS 密钥时,您需要通过登录拥有 AWS 账户 该密钥的账户来应用密钥策略。在配置调查发现导出设置时,还需要来自拥有该密钥的账户的密钥 ARN。

修改用于 GuardDuty 加密导出的发现结果的 KMS 密钥策略
  1. 在处打开 AWS KMS 控制台https://console.aws.amazon.com/kms

  2. 要更改 AWS 区域,请使用页面右上角的区域选择器。

  3. 选择一个现有 KMS 密钥或执行《AWS Key Management Service 开发人员指南》Create a new key 部分的步骤,您将使用该密钥来加密导出的调查发现。

    注意

    您 AWS 区域 的 KMS 密钥和 Amazon S3 存储桶的密钥必须相同。

    您可以使用相同的 S3 存储桶和 KMS 密钥对,从任何适用区域导出调查发现。有关更多信息,请参阅跨区域导出调查发现的注意事项

  4. Key policy(密钥策略)部分,选择 Edit(编辑)。

    如果显示切换到策略视图,请选择该选项以显示密钥策略,然后选择编辑

  5. 将以下策略块复制到您的 KMS 密钥策略,以授予使用密钥的 GuardDuty权限。

    { "Sid": "AllowGuardDutyKey", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "KMS key ARN", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "aws:SourceArn": "arn:aws:guardduty:Region2:123456789012:detector/SourceDetectorID" } } }
  6. 通过替换策略示例red中格式化的以下值来编辑策略:

    1. KMS key ARN替换为 KMS 密钥的亚马逊资源名称 (ARN)。要查找密钥 ARN,请参阅《AWS Key Management Service 开发人员指南》中的 Finding the key ID and ARN

    2. 替换为123456789012拥有导出调查结果的 GuardDuty 账户的 AWS 账户 ID。

    3. Region2替换为生成 GuardDuty 发现 AWS 区域 的位置。

    4. SourceDetectorID替换detectorID为生成调查结果的特定区域中的 GuardDuty 账户的。

      要查找您的账户和当前区域的,请参阅https://console.aws.amazon.com/guardduty/控制台中的设置页面,或运行 ListDetectors API。detectorId

    注意

    如果您在选择加入的区域 GuardDuty 中使用,请将 “服务” 的值替换为该地区的区域终端节点。例如,如果您 GuardDuty 在中东(巴林)(me-south-1)区域使用,请替换为"Service": "guardduty.amazonaws.com""Service": "guardduty.me-south-1.amazonaws.com"有关每个选择加入区域的终端节点的信息,请参阅GuardDuty 终端节点和配额

  7. 如果在最后一条语句之前添加了策略语句,请在添加该语句之前添加一个逗号。确保 KMS 密钥策略的 JSON 语法有效。

    选择保存

  8. (可选)将密钥 ARN 复制到记事本,以便在后续步骤中使用。

第 3 步 – 将策略附加到 Amazon S3 存储桶

向您将向其导出调查结果的 Amazon S3 存储桶添加权限,以便 GuardDuty 可以将对象上传到此 S3 存储桶。无论使用属于您的账户还是其他账户的 Amazon S3 存储桶 AWS 账户,您都必须添加这些权限。

如果您在任何时候决定将调查发现导出到其他 S3 存储桶,要继续导出调查发现,则必须向该 S3 存储桶添加权限并重新配置调查发现导出设置。

如果您还没有要将这些调查发现导出到的 Amazon S3 存储桶,请参阅《Amazon S3 用户指南》中的创建存储桶

将权限附加到 S3 存储桶策略

  1. 执行《Amazon S3 用户指南》中创建或编辑存储桶策略下的步骤,直到出现编辑存储桶策略页面。

  2. 示例策略显示了如何授予将发现结果导出到您的 Amazon S3 存储桶的 GuardDuty权限。如果在配置调查发现导出后更改路径,则必须修改策略以授予对新位置的权限。

    复制以下示例策略并将其粘贴到存储桶策略编辑器中。

    如果在最后一条语句之前添加了策略语句,请在添加该语句之前添加一个逗号。确保 KMS 密钥策略的 JSON 语法有效。

    S3 存储桶示例策略

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "Allow GetBucketLocation", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:GetBucketLocation", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "aws:SourceArn": "arn:aws:guardduty:us-east-2:123456789012:detector/SourceDetectorID" } } }, { "Sid": "Allow PutObject", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket[optional prefix]/*", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "aws:SourceArn": "arn:aws:guardduty:us-east-2:123456789012:detector/SourceDetectorID" } } }, { "Sid": "Deny unencrypted object uploads", "Effect": "Deny", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket[optional prefix]/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "aws:kms" } } }, { "Sid": "Deny incorrect encryption header", "Effect": "Deny", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket[optional prefix]/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption-aws-kms-key-id": "arn:aws:kms:us-east-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } } }, { "Sid": "Deny non-HTTPS access", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket[optional prefix]/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } } ] }
  3. 通过替换策略示例red中格式化的以下值来编辑策略:

    1. Amazon S3 bucket ARN替换为亚马逊 S3 存储桶的亚马逊资源名称 (ARN)。您可以在https://console.aws.amazon.com/s3/控制台的编辑存储桶策略页面上找到存储桶 ARN。

    2. 替换为123456789012拥有导出调查结果的 GuardDuty 账户的 AWS 账户 ID。

    3. us-east-2替换为生成 GuardDuty 发现 AWS 区域 的位置。

    4. SourceDetectorID替换detectorID为生成调查结果的特定区域中的 GuardDuty 账户的。

      要查找您的账户和当前区域的,请参阅https://console.aws.amazon.com/guardduty/控制台中的设置页面,或运行 ListDetectors API。detectorId

    5. [optional prefix]部分占位S3 bucket ARN/[optional prefix]符值替换为要将发现结果导出到的可选文件夹位置。有关使用前缀的更多信息,请参阅《Amazon S3 用户指南》中的使用前缀组织对象

      当您提供可选的文件夹位置时,该文件夹必须已经存在于 S3 存储桶中。 GuardDuty 不代表你创建文件夹。无论存储桶所有权如何,此要求都适用。

    6. 替换为KMS key ARN与加密导出到 S3 存储桶的发现结果相关的 KMS 密钥的亚马逊资源名称 (ARN)。要查找密钥 ARN,请参阅《AWS Key Management Service 开发人员指南》中的 Finding the key ID and ARN

    注意

    如果您在选择加入的区域 GuardDuty 中使用,请将 “服务” 的值替换为该地区的区域终端节点。例如,如果您 GuardDuty 在中东(巴林)(me-south-1)区域使用,请替换为"Service": "guardduty.amazonaws.com""Service": "guardduty.me-south-1.amazonaws.com"有关每个选择加入区域的终端节点的信息,请参阅GuardDuty 终端节点和配额

  4. 选择保存

第 4 步 – 将调查发现导出到 S3 存储桶(控制台)

GuardDuty 允许您将发现结果导出到另一个存储桶中的现有存储桶 AWS 账户。

创建新的 S3 存储桶时,或者选择账户中现有的存储桶时,您可以添加前缀。S3 存储桶中必须已经存在前缀和写入调查结果的文件夹路径。 GuardDuty 不会代表你创建任何文件夹。 GuardDuty 将发现对象写入路径/AWSLogs/123456789012/GuardDuty/Region,因此在导出发现结果之前必须创建此文件夹结构。

该 S3 对象的完整路径将是 amzn-s3-demo-bucket/prefix-name/UUID.jsonl.gzUUID 是随机生成的,不代表检测器 ID 或调查发现 ID。

重要

KMS 密钥和 S3 存储桶必须位于同一区域。

在完成这些步骤之前,请确保已将相应的策略附加到您的 KMS 密钥和现有 S3 存储桶。

配置调查发现导出
  1. 在处打开 GuardDuty 控制台https://console.aws.amazon.com/guardduty/

  2. 在导航窗格中,选择设置

  3. 设置页面的调查发现导出选项下,对于 S3 存储桶,选择立即配置(或根据需要选择编辑)。

  4. 对于 S3 存储桶 ARN,输入 bucket ARN。要查找存储桶 ARN,请参阅《Amazon S3 用户》指南中的查看 S3 存储桶的属性

  5. 对于 KMS 密钥 ARN,请输入 key ARN。要查找密钥 ARN,请参阅《AWS Key Management Service 开发人员指南》中的 Finding the key ID and ARN

  6. 附加策略
  7. 选择 Save

第 5 步 – 设置导出更新后活动调查发现的频率

根据您的环境,配置导出更新后的活动调查发现的频率。默认情况下,每 6 小时导出一次更新的调查发现。这意味着,在最近一次导出之后更新的任何调查发现都包含在下一次导出的内容中。如果每 6 小时导出一次更新的调查发现,且导出发生在 12:00,则在 12:00 后更新的任何调查发现都会在 18:00 导出。

要设置频率
  1. 在处打开 GuardDuty 控制台https://console.aws.amazon.com/guardduty/

  2. 选择设置

  3. 调查发现导出选项部分,选择更新调查发现的频率。这设置了将更新的活跃调查结果导出到两者 EventBridge 和 Amazon S3 的频率。可从以下选项中进行选择:

    • 每 15 分钟更新 EventBridge 一次 S3

    • 每 1 小时更新 EventBridge 一次 S3

    • 每 6 小时更新 EventBridge 一次 S3(默认)

  4. 选择保存更改