本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
导出调查结果
GuardDuty 支持将活动发现导出到 CloudWatch 事件,也可以导出到 Amazon S3 存储桶。生成的新有效发现将在发现结果 GuardDuty 生成后大约 5 分钟内自动导出。您可以设置将活动发现的更新导出到 CloudWatch 事件的频率。您选择的频率适用于将新出现的现有发现导出到 CloudWatch 事件、您的 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 以允许使用密钥
-
在 Amazon KMShttps://console.aws.amazon.com/kms 打开
控制台。 -
要更改 Amazon Web Services 区域,请使用页面右上角的 Region selector(区域选择器)。
-
创建新密钥或选择计划用于加密导出的发现结果的现有密钥。密钥必须与存储段位于同一区域,但是,对于要从中导出调查结果的每个区域,您可以使用相同的存储段和key pair。
-
选择您的密钥,然后从常规配置面板复制密钥 ARN。
-
在 “密钥策略” 下,选择 “编辑”。
提示 如果显示 “切换到策略视图”,请选择该视图以显示密钥策略,然后选择 “编辑”。
-
将以下密钥策略添加到您的 KMS 密钥,授予对密钥的 GuardDuty 访问权限。此语句仅 GuardDuty 允许使用您更改策略的密钥。编辑密钥策略时,请确保 JSON 语法有效,如果您在最终语句之前添加语句,则必须在右括号后添加逗号。
{ "Sid": "AllowGuardDutyKey", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:
Region1
:444455556666
:key/KMSKeyId
", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012
", "aws:SourceArn": "arn:aws:guardduty:Region2
:123456789012
:detector/SourceDetectorID
" } } } 将
区域 1
替换为 KMS 密钥的区域。将444455556666
替换为用于创建 KMS 密钥的Amazon账户 ID。将KMSKeyId
替换为您选择用于加密的 KMS 密钥的密钥 ID。要识别这些值,请查看此 KMS 密钥的 ARN。将
123456789012
替换为Amazon账户的 GuardDuty 账户 ID。将Region2
替换为 GuardDuty 账户的区域。将SourceDetectorID
替换为当前区域来源账户的 GuardDuty 检测器 ID。detectorID
你可以在 https://console.aws.amazon.com/guardduty/
控制台的 “设置” 页面上找到你当前区域的 detectorId,也可以使用 ListDetectorsAPI 来找到。 注意 如果您在手动启用的区域 GuardDuty 中使用,请将 “服务” 的值替换为该区域的区域终端节点。例如,如果您 GuardDuty 在中东(巴林)(me-south-1)区域中使用,请
"Service": "guardduty.amazonaws.com"
替换为"Service": "guardduty.me-south-1.amazonaws.com"
。-
选择 Save(保存)。
-
(可选)如果您计划使用现有存储桶,请将密钥 ARN 复制到记事本以供后续步骤使用。要查找密钥 ARN,请参阅查找密钥 ID 和 ARN。
向存储桶授予 GuardDuty 权限
在您的账户或其他账户中使用预先存在的存储桶时,您必须授予向该存储桶上传对象的 GuardDuty 权限。Amazon您可以通过添加 S3 存储桶策略来授予这些权限。如果您使用的是预先存在的存储桶,请展开以下部分,了解有关添加存储桶策略的 step-by-step 说明。
添加允许上传您的存储桶对象 GuardDuty 的存储桶策略
通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/
。 -
选择您计划用于导出的调查结果的存储桶。
-
选择 Permissions,然后选择 Bucket Policy。
-
复制示例策略并将其粘贴到存储桶策略编辑器中。
-
将示例策略中的占位符值替换为适合您环境的值。
替换
myBucketName
。将[可选前缀]
替换为导出的发现结果的文件夹位置(如果该位置尚不存在,则GuardDuty 将在设置期间创建)。将区域
替换为 KMS 密钥所在的区域。将123456789012
替换 GuardDuty 为设置账户的账号。Amazon将KMSKeyId
替换为您选择用于加密的密钥的密钥 ID,将SourceDetectorID
替换为当前区域的源账户的 GuardDuty 检测器 ID。
示例策略
以下示例策略显示如何授予向您的 Amazon S3 存储桶发送调查结果的 GuardDuty 权限。如果在配置调查结果导出后更改路径,则必须修改策略以授予新位置的权限。
{ "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 中使用,请将服务的值替换为该区域的区域终端节点。例如,如果您 GuardDuty 在中东(巴林)(me-south-1)区域中使用,请"Service":
"guardduty.amazonaws.com"
替换为"guardduty.me-south-1.amazonaws.com"
。
使用控制台将发现结果导出到存储桶
配置发现结果导出时,您可以选择现有的 S3 存储桶或 GuardDuty创建新的存储桶来存储导出的调查结果。如果您选择使用新的存储桶,则 GuardDuty 将所有必要的权限应用于创建的存储桶。如果您使用现有存储桶必须先更新存储桶策略 GuardDuty 以允许将调查结果放入存储桶中。
您也可以将发现结果导出到另一个账户中的现有存储桶。
在账户中选择新的或现有的存储桶时,您可以添加前缀。配置发现结果导出时,会在 S3 存储桶中为您的发现 GuardDuty 创建一个新文件夹。前缀将在创建的默认文件夹结构前面加上 GuardDuty,即/AWSLogs/
。111122223333
/GuardDuty/Region
该 KMS 密钥和 S3 存储桶必须位于同一区域。
在完成这些步骤之前,请确保您已配置 KMS 密钥,如果使用现有存储桶,则添加了 GuardDuty 允许创建对象的存储段策略。
导出访问错误
配置查找结果导出选项后,如果无法导出查找结果, GuardDuty 则设置页面上会显示一条错误消息。当 GuardDuty 无法再访问目标资源时,例如删除 S3 存储桶或更改存储桶的权限,就会发生这种情况。当用于加密存储桶中数据的 KMS 密钥变得无法访问时,也会发生这种情况。
导出失败时, GuardDuty 会向与账户关联的电子邮件发送通知,告知您问题。如果您未解决问题,则 GuardDuty 禁用在账户中查找导出内容。您可以随时更新配置以重新启动调查结果导出。
如果您收到此错误,请查看本主题中有关如何启用和配置发现结果导出的信息。例如,查看密钥策略并确认正确的策略应用于您选择进行加密的 KMS 密钥。
设置导出更新的有效发现的频率
根据您的环境,配置导出更新的活动调查结果的频率。默认情况下,每 6 小时导出一次更新的调查结果。这意味着,在最近一次导出之后更新的任何调查结果都包含在下一次导出的内容中。如果每 6 小时导出更新的发现结果并且在 12:00 导出,则在 12:00 之后更新的任何发现都将在 18:00 导出。
设置频率
通过 https://console.aws.amazon.com/guardduty/
打开 GuardDuty 主机。 -
选择 Settings。
-
在 “查找结果导出选项” 部分,选择 “频率” 以获取更新的调查结果。这设置了将更新的活动发现导出到 CloudWatch 事件和 Amazon S3 的频率。可从以下选项中进行选择:
-
每 15 分钟更新 CWE 和 S3
-
每 1 小时更新 CWE 和 S3
-
每 6 小时更新 CWE 和 S3(默认)
-
-
选择 Save(保存)。