将生成的 GuardDuty 调查发现导出到 Amazon S3 存储桶
GuardDuty 会将生成的调查发现保留 90 天。GuardDuty 会将活动调查发现导出到 Amazon EventBridge(EventBridge)。您可以选择将生成的调查发现导出到 Amazon Simple Storage Service(Amazon S3)存储桶。这将有助您跟踪账户中潜在可疑活动的历史数据,并评估建议的补救措施是否成功。
GuardDuty 生成的新活动调查发现会在生成调查发现后约 5 分钟内自动导出。您可以设置将活动调查发现的更新导出到 EventBridge 的频率。您选择的频率适用于将新出现的现有调查发现导出到 EventBridge、S3 存储桶(如果已配置)和 Detective(如果已集成)的情况。有关 GuardDuty 如何汇总多次出现的现有调查发现的信息,请参阅 GuardDuty 调查发现聚合。
在配置将调查发现导出到 Amazon S3 存储桶的设置时,Guarduty 会使用 Amazon Key Management Service(Amazon KMS)对 S3 存储桶中的调查发现数据进行加密。这需要您为 S3 存储桶和 Amazon KMS 密钥添加权限,以便 GuardDuty 可以用来导出您账户中的调查发现。
目录
注意事项
在完成调查发现导出的先决条件并执行导出步骤之前,请注意以下关键概念:
-
导出设置是区域性的:您需要在使用 GuardDuty 的每个区域配置导出选项。
-
将调查发现导出到不同 Amazon Web Services 区域中的 Amazon S3 存储桶(跨区域):GuardDuty 支持以下导出设置:
-
Amazon S3 存储桶或对象以及 Amazon KMS 密钥必须属于同一 Amazon Web Services 区域。
-
对于在商业区域中生成的调查发现,您可以选择将这些调查发现导出到任何商业区域中的 S3 存储桶。但是,您不能将这些调查发现导出到选择加入型区域中的 S3 存储桶。
-
对于在选择加入区域生成的调查发现,您可以选择将这些调查发现导出到生成相关调查发现的同一选择加入型区域或任何商业区域。但是,您不能将调查发现从一个选择加入型区域导出到另一个选择加入型区域。
-
-
导出调查发现的权限:要配置导出活动调查发现的设置,您的 S3 存储桶必须具有允许 GuardDuty 上传对象的权限。您还必须拥有 Guarduty 可以用来加密调查发现的 Amazon KMS 密钥。
-
不导出存档的调查发现:默认行为是不导出存档的调查发现,包括新出现的被抑制的调查发现。
当 GuardDuty 调查发现生成时为归档类时,您需要将其取消归档。这会将筛选调查发现状态更改为活动。GuardDuty 会根据您配置第 5 步 – 导出调查发现的频率的方式,导出对现有未归档的调查发现的更新。
-
GuardDuty 管理员账户可以导出在关联成员账户中生成的调查发现:如果您在管理员账户中配置了调查发现导出,则关联的成员账户在同一区域中生成的所有调查发现也会导出到您为管理员账户配置的位置。有关更多信息,请参阅 了解 GuardDuty 管理员账户和成员账户之间的关系。
第 1 步 – 配置调查发现导出所需的权限
配置调查发现导出设置时,您需要选择一个可用于存储调查发现的 Amazon S3 存储桶和一个用于数据加密的 Amazon KMS 密钥。除 GuardDuty 操作的权限之外,您还必须拥有以下操作的权限,才能成功配置调查发现导出设置。
-
s3:GetBucketLocation -
s3:PutObject
如果您需要将调查发现导出到 Amazon S3 存储桶中的特定前缀,则还必须向 IAM 角色添加以下权限:
-
s3:GetObject -
s3:ListBucket
第 2 步 – 将策略附加到 KMS 密钥
GuardDuty 使用 Amazon Key Management Service 对存储桶中的调查发现数据进行加密。要成功配置相关设置,必须首先授予 GuardDuty 使用 KMS 密钥的权限。您可以通过将策略附加到 KMS 密钥来授予权限。
如果使用来自其他账户的 KMS 密钥,则需要登录到拥有该密钥的 Amazon Web Services 账户来应用密钥策略。在配置调查发现导出设置时,还需要来自拥有该密钥的账户的密钥 ARN。
修改 GuardDuty 的 KMS 密钥策略以加密导出的调查发现
-
从 https://console.aws.amazon.com/kms 打开 Amazon KMS 控制台。
-
要更改 Amazon Web Services 区域,请使用页面右上角的区域选择器。
-
选择一个现有 KMS 密钥或执行《Amazon Key Management Service 开发人员指南》中 Create a new key 部分的步骤,您将使用该密钥来加密导出的调查发现。
注意
KMS 密钥和 Amazon S3 存储桶的 Amazon Web Services 区域必须为同一区域。
您可以使用相同的 S3 存储桶和 KMS 密钥对,从任何适用区域导出调查发现。有关更多信息,请参阅跨区域导出调查发现的注意事项。
-
在 Key policy(密钥策略)部分,选择 Edit(编辑)。
如果显示切换到策略视图,请选择该选项以显示密钥策略,然后选择编辑。
-
将以下策略块复制到您的 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" } } } -
通过替换以下策略示例中
红色格式的值,从而编辑策略:-
将
KMS 密钥 ARN替换为该 KMS 密钥的 Amazon 资源名称(ARN)。要查找密钥 ARN,请参阅《Amazon Key Management Service 开发人员指南》中的 Finding the key ID and ARN。 -
请将
123456789012替换为拥有导出调查发现的 GuardDuty 账户的 Amazon Web Services 账户 ID。 -
将
Region2替换为生成 GuardDuty 调查发现的 Amazon Web Services 区域。 -
将
SourceDetectorID替换为生成调查发现的特定区域的 GuardDuty 账户的detectorID。要查找您账户和当前区域的
detectorId,请查看 https://console.aws.amazon.com/guardduty/ 控制台中的设置页面,或者运行 ListDetectors API。
注意
如果您在某个选择加入型区域使用 GuardDuty,请将“Service”的值替换为该区域的区域端点。例如,如果您在中东(巴林)(me-south-1)区域使用 GuardDuty,则将
"Service": "guardduty.amazonaws.com"替换为"Service": "guardduty.me-south-1.amazonaws.com"。有关每个选择加入型区域的端点的信息,请参阅 GuardDuty 端点和配额。 -
-
如果在最后一条语句之前添加了策略语句,请在添加该语句之前添加一个逗号。确保 KMS 密钥策略的 JSON 语法有效。
选择保存。
-
(可选)将密钥 ARN 复制到记事本,以便在后续步骤中使用。
第 3 步 – 将策略附加到 Amazon S3 存储桶
向要将调查发现导出到的 Amazon S3 存储桶添加权限,以便 GuardDuty 可以将对象上传到该 S3 存储桶。无论是使用属于您自己的账户还是其他 Amazon Web Services 账户的 Amazon S3 存储桶,都必须添加这些权限。
如果您在任何时候决定将调查发现导出到其他 S3 存储桶,要继续导出调查发现,则必须向该 S3 存储桶添加权限并重新配置调查发现导出设置。
如果您还没有要将这些调查发现导出到的 Amazon S3 存储桶,请参阅《Amazon S3 用户指南》中的创建存储桶。
将权限附加到 S3 存储桶策略
-
执行《Amazon S3 用户指南》中创建或编辑存储桶策略下的步骤,直到出现编辑存储桶策略页面。
-
示例策略展示了如何授予 GuardDuty 权限,以将调查发现导出到 Amazon S3 存储桶。如果在配置调查发现导出后更改路径,则必须修改策略以授予对新位置的权限。
复制以下示例策略并将其粘贴到存储桶策略编辑器中。
如果在最后一条语句之前添加了策略语句,请在添加该语句之前添加一个逗号。确保 KMS 密钥策略的 JSON 语法有效。
S3 存储桶示例策略
-
通过替换以下策略示例中
红色格式的值,从而编辑策略:-
将
Amazon S3 存储桶 ARN替换为Amazon S3 存储桶的 Amazon 资源名称(ARN)。您可以在 https://console.aws.amazon.com/s3/ 控制台的编辑存储桶策略页面上找到存储桶 ARN。 -
请将
123456789012替换为拥有导出调查发现的 GuardDuty 账户的 Amazon Web Services 账户 ID。 -
将
us-east-2替换为生成 GuardDuty 调查发现的 Amazon Web Services 区域。 -
将
SourceDetectorID替换为生成调查发现的特定区域的 GuardDuty 账户的detectorID。要查找您账户和当前区域的
detectorId,请查看 https://console.aws.amazon.com/guardduty/ 控制台中的设置页面,或者运行 ListDetectors API。 -
将
S3 存储桶 ARN/[可选前缀]占位符值的[可选前缀]部分替换为要将结果导出到的可选文件夹位置。有关使用前缀的更多信息,请参阅《Amazon S3 用户指南》中的使用前缀组织对象。如果您提供某个尚未存在的可选文件夹位置,则仅当与 S3 存储桶关联的账户与导出调查发现的账户相同时,GuardDuty 才会创建该位置。如果您将调查发现导出到属于其他账户的 S3 存储桶,则文件夹位置必须已经存在。
-
将
KMS 密钥 ARN替换为与对导出到 S3 存储桶中的调查发现进行加密相关的 KMS 密钥的 Amazon 资源名称(ARN)。要查找密钥 ARN,请参阅《Amazon Key Management Service 开发人员指南》中的 Finding the key ID and ARN。
注意
如果您在某个选择加入型区域使用 GuardDuty,请将“Service”的值替换为该区域的区域端点。例如,如果您在中东(巴林)(me-south-1)区域使用 GuardDuty,则将
"Service": "guardduty.amazonaws.com"替换为"Service": "guardduty.me-south-1.amazonaws.com"。有关每个选择加入型区域的端点的信息,请参阅 GuardDuty 端点和配额。 -
-
选择保存。
第 4 步 – 将调查发现导出到 S3 存储桶(控制台)
GuardDuty 允许您将调查发现导出到其他 Amazon Web Services 账户中的现有存储桶。
创建新的 S3 存储桶时,或者选择账户中现有的存储桶时,您可以添加前缀。配置调查发现导出时,GuardDuty 会在 S3 存储桶中为您的调查发现创建一个新文件夹。该前缀将附加到 GuardDuty 创建的默认文件夹结构中。例如,可选前缀的格式为 /AWSLogs/。123456789012/GuardDuty/Region
该 S3 对象的完整路径将是 。amzn-s3-demo-bucket/prefix-name/UUID.jsonl.gzUUID 是随机生成的,不代表检测器 ID 或调查发现 ID。
重要
KMS 密钥和 S3 存储桶必须位于同一区域。
在完成这些步骤之前,请确保已将相应的策略附加到您的 KMS 密钥和现有 S3 存储桶。
配置调查发现导出
通过以下网址打开 GuardDuty 控制台:https://console.aws.amazon.com/guardduty/。
-
在导航窗格中,选择设置。
-
在设置页面的调查发现导出选项下,对于 S3 存储桶,选择立即配置(或根据需要选择编辑)。
-
对于 S3 存储桶 ARN,输入
bucket ARN。要查找存储桶 ARN,请参阅《Amazon S3 用户》指南中的查看 S3 存储桶的属性。 -
对于 KMS 密钥 ARN,请输入
key ARN。要查找密钥 ARN,请参阅《Amazon Key Management Service 开发人员指南》中的 Finding the key ID and ARN。 -
附加策略
-
执行附加 S3 存储桶策略的步骤。有关更多信息,请参阅 第 3 步 – 将策略附加到 Amazon S3 存储桶。
-
执行附加 KMS 密钥策略的步骤。有关更多信息,请参阅 第 2 步 – 将策略附加到 KMS 密钥。
-
-
选择 Save。
第 5 步 – 设置导出更新后活动调查发现的频率
根据您的环境,配置导出更新后的活动调查发现的频率。默认情况下,每 6 小时导出一次更新的调查发现。这意味着,在最近一次导出之后更新的任何调查发现都包含在下一次导出的内容中。如果每 6 小时导出一次更新的调查发现,且导出发生在 12:00,则在 12:00 后更新的任何调查发现都会在 18:00 导出。
要设置频率
通过以下网址打开 GuardDuty 控制台:https://console.aws.amazon.com/guardduty/。
-
选择设置。
-
在调查发现导出选项部分,选择更新调查发现的频率。这将设置将更新后的活动调查发现导出到 EventBridge 和 Amazon S3 的频率。可从以下选项中进行选择:
-
每 15 分钟更新一次 EventBridge 和 S
-
每 1 小时更新一次 EventBridge 和 S
-
每 6 小时更新一次 EventBridge 和 S3(默认)
-
-
选择保存更改。