导出查结果 - Amazon GuardDuty
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

导出查结果

GuardDuty 支持将活动的调查结果导出到 CloudWatch 事件,并(可选)导出到 Amazon S3 存储桶。在生成调查结果后的大约 5 分钟内自动导出 GuardDuty 生成的新的活动调查结果。您可以设置将活动调查结果的更新导出到 CloudWatch Event 的频率。您选择的频率适用于将现有查找结果的新发生次数导出到 CloudWatch Event、S3 存储桶(如果已配置)和 Detective(如果集成)。有关现有调查结果的更多信息,请参阅。GuardDuty 调查结果聚合

请注意有关调查结果导出设置的以下信息

  • 导出设置是区域性的,这意味着您需要为使用 GuardDuty 的每个区域配置导出选项。但是,您可以在单个区域中使用相同的存储桶作为您使用 GuardDuty 的每个区域的出口目的地。

  • 不会导出存档的调查结果(包括禁止的调查结果的新实例)。如果取消调查结果存档,其状态将更新为处于活动状态,它将在下一个间隔内导出。

  • 如果您在 GuardDuty 管理员账户中启用调查结果导出,关联成员账户中在当前区域生成的所有调查结果也会导出到您为管理员账户配置的相同位置。

要配置将活动查找结果导出到 Amazon S3 存储桶的设置,您需要一个 GuardDuty 可用来加密查找结果的 KMS 密钥,以及具有允许 GuardDuty 上传对象的权限的 S3 存储桶。阅读本主题以了解如何配置调查结果导出和频率。

配置查找结果导出所需的权限

配置用于导出调查结果的选项时,选择用于存储调查结果的存储桶和用于数据加密的 KMS 密钥。除了针对 GuardDuty 操作的权限之外,您还必须具有执行以下操作的权限,才能成功配置用于导出调查结果的选项。

  • kms:ListAliases

  • s3:CreateBucket

  • s3:GetBucketLocation

  • s3:ListAllMyBuckets

  • s3:PutBucketAcl

  • s3:PutBucketPublicAccessBlock

  • s3:PutBucketPolicy

  • s3:PutObject

重要

如果你的政策明确拒绝putObjectAcl您将无法发布调查结果。

向 KMS 密钥授予 GuardDuty 权限

GuardDuty 使用Amazon KMS键。要成功配置调查结果导出,必须首先向 GuardDuty 授予使用 KMS 密钥的权限。您通过以下方式授予权限更改密钥策略为了你使用的钥匙。

如果您计划为 GuardDuty 的调查结果使用新密钥,创建密钥在继续之前。如果您在其他账户中使用密钥,则需要登录拥有密钥的账户才能应用密钥策略。配置导出设置时,您还需要另一个账户的密钥的密钥 ARN。

修改密钥策略以允许 GuardDuty 使用密钥

  1. 在 Amazon KMShttps://console.aws.amazon.com/kms 打开 控制台。

  2. 要更改 Amazon 区域,请使用页面右上角的 Region selector (区域选择器)。

  3. 创建新密钥或选择您计划用于加密导出的调查结果的现有密钥。密钥必须与存储桶位于同一个区域中,但是,您可以对要导出查找结果的每个区域使用相同的存储桶和 key pair。

  4. 选择你的密钥然后从常规配置面板。

  5. UNDER密钥策略,选择编辑.

    提示

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

  6. 将以下授予 GuardDuty 访问您的密钥的权限的语句添加到策略中。替换红色的值以匹配您的环境。

    Replace区域KMS 密钥所在的区域。Replace111122223333使用Amazon拥有存储桶的账户的账户号码。ReplaceKMSKeyId使用您选择用于加密并替换的密钥的密钥 ID源检测器 ID使用来源账户的当前地区的 GuardDuty 检测器 ID。

    该语句允许 GuardDuty 仅使用您更改了其策略的密钥。编辑密钥策略时,请确保 JSON 语法有效,如果在最后一条语句之前添加语句,则必须在结束括号后添加逗号。

    { "Sid": "AllowGuardDutyKey", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:Region:111122223333:key/KMSKeyId", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:guardduty:Region:111122223333:detector/SourceDetectorID" } } }
    注意

    如果您在手动启用的区域中使用 GuardDuty,请将 “服务” 的值替换为该区域的区域终端节点。例如,如果您在中东(巴林)(me-south-1) 区域使用 GuardDuty,请将替换为"Service": "guardduty.amazonaws.com"替换为"Service": "guardduty.me-south-1.amazonaws.com".

  7. 选择保存

  8. (可选)如果您计划使用现有存储桶,请将密钥 ARN 复制到记事本以供后续步骤中使用。要找到密钥 ARN,请参阅查找密钥 ID 和 ARN.

向存储桶授予 GuardDuty 权限

在您的账户中或在其他账户中使用预先存在的存储桶时Amazon账户,您必须授予 GuardDuty 权限才能将对象上传到该存储桶。您将这些权限授予到:添加 S3 存储桶策略. 如果您使用的是预先存在的存储桶,请展开以下部分以获取有关添加存储桶策略的分步说明。

添加允许 GuardDuty 上传对象的存储桶策略

  1. 打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 选择您计划用于导出的调查结果的存储桶。

  3. 选择 Permissions,然后选择 Bucket Policy

  4. 将复制到策略示例然后将其粘贴到储桶策略编辑器.

  5. 将示例策略中的占位符值替换为适合您环境的值。

    ReplacemyBucketName. Replace[可选前缀]为导出的查找结果提供一个文件夹位置(如果该位置尚不存在,GuardDuty 将在设置过程中创建此位置)。Replace区域KMS 密钥所在的区域。Replace111122223333使用Amazon拥有存储桶的账户的账户号码。ReplaceKMSKeyId使用您选择用于加密并替换的密钥的密钥 ID源检测器 ID使用来源账户的当前地区的 GuardDuty 检测器 ID。

示例策略

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

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGuardDutygetBucketLocation", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:GetBucketLocation", "Resource": "arn:aws:s3:::myBucketName", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:guardduty:Region:111122223333:detector/SourceDetectorID" } } }, { "Sid": "AllowGuardDutyPutObject", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3::myBucketName/[optional prefix]/*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:guardduty:Region:111122223333:detector/SourceDetectorID" } } }, { "Sid": "DenyUnencryptedUploadsThis is optional", "Effect": "Deny", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::myBucketName/[optional prefix]/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "aws:kms" } } }, { "Sid": "DenyIncorrectHeaderThis is optional", "Effect": "Deny", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::myBucketName/[optional prefix]/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption-aws-kms-key-id": "arn:aws:kms:Region:111122223333:key/KMSKeyId" } } }, { "Sid": "DenyNon-HTTPS", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::myBucketName/[optional prefix]/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } } ] }
注意

如果您在手动启用的区域中使用 GuardDuty,请将服务的值替换为该区域的区域终端节点。例如,如果您在中东(巴林)(me-south-1) 区域使用 GuardDuty,请将替换为"Service": "guardduty.amazonaws.com"替换为"guardduty.me-south-1.amazonaws.com".

使用控制台将发现导出到存储桶

配置查找结果导出时,您可以选择现有的 S3 存储桶或者让 GuardDuty 创建一个新存储桶以存储导出的调查结果。如果您选择使用新存储桶,GuardDuty 将所有必要的权限应用于创建的存储桶。如果您使用现有存储桶,则必须首先更新存储桶策略,以允许 GuardDuty 将调查结果放入存储桶中。

您还可以将调查结果导出到另一个账户中的现有存储桶。

在账户中选择新存储桶或现有存储桶时,您可以添加前缀。配置调查结果时,导出 GuardDuty 会在 S3 存储桶中为你的发现创建一个新文件夹。前缀将在 GuardDuty 创建的默认文件夹结构之前,即/AWSLogs/111122223333/GuardDuty/Region.

重要

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

在完成这些步骤之前,请确保您已配置 KMS 密钥,如果使用现有存储桶,则添加了存储桶策略以允许 GuardDuty 创建对象。

New bucket in your account

使用新存储桶配置调查结果导出到:

  1. 将策略添加到 GuardDuty 将用于加密查找结果的 KMS 密钥。有关策略示例,请参阅。向 KMS 密钥授予 GuardDuty 权限

  2. 从打开 GuardDuty 控制台https://console.aws.amazon.com/guardduty/.

  3. 选择 Settings

    1. 选择新存储桶创建新存储桶以存储桶以存储导出的调查结果

      Name the bucket (命名存储桶) 字段中,输入存储桶的名称。该名称在所有 S3 存储桶中必须是唯一的。存储桶名称必须以小写字母或数字开头。

    2. 如果您使用了[optional prefix]在存储桶策略中,您必须在下面输入该前缀日志文件前缀,否则这是可选的。当您输入值时,字段下面的示例路径将更新,以反映将存储导出的结果的存储桶位置的路径。

    3. UNDERKMS 加密,请执行以下操作之一:

      • 选择 Choose key from your account (从您的账户中选择密钥)

        然后,从中选择您更改了其策略的密钥的密钥的密钥别名。密钥别名list。

      • 选择 Choose key from another account (从其他账户中选择密钥)

        然后,将完整的 ARN 输入到您更改了其策略的密钥。

        您选择的密钥必须与存储桶位于同一区域。要了解如何查找密钥 ARN,请参阅。查找密钥 ID 和 ARN.

    4. 选择保存

Existing bucket in your account

使用现有存储桶配置调查结果导出

  1. 将策略添加到 GuardDuty 将用于加密查找结果的 KMS 密钥。有关策略示例,请参阅。向 KMS 密钥授予 GuardDuty 权限

  2. 附加一项策略,授予 GuardDuty 将数据元上传到 S3 存储桶的权限。有关策略示例,请参阅。向存储桶授予 GuardDuty 权限

  3. 从打开 GuardDuty 控制台https://console.aws.amazon.com/guardduty/.

  4. 选择 Settings

    1. 选择您账户中的现有存储桶.

      将存储桶命名为在字段中输入存储桶的名称。

    2. 可选。UNDER日志文件前缀中,输入要使用的路径前缀。GuardDuty 将在存储桶中创建一个带有指定前缀名称的新文件夹。当您输入值时,字段下面的示例路径将更新,以反映存储桶中导出的查找结果的路径。

    3. UNDERKMS 加密,请执行以下操作之一:

      • 选择 Choose key from your account (从您的账户中选择密钥)

        然后,从中选择您更改了其策略的密钥的密钥的密钥别名。密钥别名list。

      • 选择 Choose key from another account (从其他账户中选择密钥)

        然后,将完整的 ARN 输入到您更改了其策略的密钥。

        您选择的密钥必须与存储桶位于同一区域。要了解如何查找密钥 ARN,请参阅。查找密钥 ID 和 ARN.

    4. 选择保存

Existing bucket in another account

使用其他账户中的现有存储桶配置调查结果导出

  1. 将策略添加到 GuardDuty 将用于加密查找结果的 KMS 密钥。有关策略示例,请参阅。向 KMS 密钥授予 GuardDuty 权限

  2. 附加一项策略,授予 GuardDuty 将数据元上传到其他账户中的 S3 存储桶的权限。有关策略示例,请参阅。向存储桶授予 GuardDuty 权限.

    注意

    使用策略中拥有存储桶的账户的账户 ID。

  3. 从打开 GuardDuty 控制台https://console.aws.amazon.com/guardduty/.

  4. 选择 Settings

    1. 选择其他账户中的现有存储桶.

    2. Bucket ARN field (存储桶 ARN 字段) 中,输入要使用的来自其他账户的存储桶的 ARN。

    3. UNDERKMS 加密输入您更改了其策略的密钥的完整 ARN。

      您选择的密钥必须与存储桶位于同一区域。要了解如何查找密钥 ARN,请参阅。查找密钥 ID 和 ARN.

    4. 选择保存

导出访问错误

配置调查结果导出选项后,如果 GuardDuty 无法导出调查结果,则在设置页. 当 GuardDuty 无法再访问目标资源时,例如删除了 S3 存储桶或更改了存储桶的权限,就会发生这种情况。当用于加密存储桶中数据的 KMS 密钥变得无法访问时,也会发生这种情况。

导出失败时,GuardDuty 会向与账户关联的电子邮件发送通知,让您知道该问题。如果您不解决此问题,GuardDuty 会禁用账户中的调查结果导出。您可以随时更新配置以重新启动调查结果导出。

如果收到此错误,请查看本主题中有关如何启用和配置查找结果导出的信息。例如,查看密钥策略并确认正确的策略应用于您选择加密的 KMS 密钥。

设置导出更新的活动查找结果的频率

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

设置频率

  1. 登录到Amazon Web Services Management Console然后打开 GuardDuty 控制台https://console.aws.amazon.com/guardduty/.

  2. 选择 Settings

  3. 导出调查结果选部分,选择更新调查结果的频率. 这会同时为 CloudWatch Event 和 Amazon S3 设置更新的活动调查结果导出频率。可从以下选项中进行选择:

    • 每 15 分钟更新 CWE 和 S3

    • 每 1 小时更新 CWE 和 S3

    • 每 6 小时更新 CWE 和 S3(默认值)

  4. 选择保存