导出 Amazon Inspector 调查报告 - Amazon Inspector

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

导出 Amazon Inspector 调查报告

调查结果报告是一个CSV或JSON文件,它提供了您的发现的详细快照。您可以将调查结果报告导出到 AWS Security Hub亚马逊和亚马逊 EventBridge简单存储服务 (Amazon S3)。配置调查结果报告时,需要指定要在其中包含哪些调查结果。默认情况下,您的发现报告包含所有有效发现的数据。如果您是某个组织的授权管理员,则您的调查结果报告将包含该组织中所有成员账户的数据。要自定义调查结果报告,请创建筛选器并将其应用于该报告。

当您导出调查结果报告时,Amazon Inspector 会使用您指定的对您的调查结果数据进行加密。 AWS KMS key 在 Amazon Inspector 对您的调查结果数据进行加密后,它会将您的发现报告存储在您指定的亚马逊 S3 存储桶中。您的 AWS KMS 密钥必须与您的 Amazon S3 存储桶 AWS 区域 相同。您的 AWS KMS 密钥策略必须允许 Amazon Inspector 使用它,您的 Amazon S3 存储桶策略必须允许 Amazon Inspector 向其添加对象。导出调查结果报告后,您可以从 Amazon S3 存储桶下载该报告或将其转移到新位置。您也可以将您的 Amazon S3 存储桶用作其他导出的调查结果报告的存储库。

本节介绍如何在 Amazon Inspector 控制台中导出调查结果报告。以下任务要求您验证权限、配置 Amazon S3 存储桶、配置 AWS KMS key、配置和导出调查结果报告。

注意

如果您使用 Amazon Inspector 导出调查结果报告 CreateFindingsReportAPI,则只能查看您的有效发现。如果要查看隐藏或已关闭的查找结果,则必须指定SUPPRESSEDCLOSED作为筛选条件的一部分。

步骤 1:验证您的权限

注意

首次导出调查结果报告后,步骤 1—3 是可选的。执行这些步骤取决于您是否要使用相同的 Amazon S3 存储桶以及 AWS KMS key 用于其他导出的调查结果报告。如果您想在完成步骤 1-3 后以编程方式导出调查结果报告,请使用 Amazon Inspector 的CreateFindingsReport操作。API

在从 Amazon Inspector 导出调查发现报告之前,请确认您拥有导出调查发现报告以及配置用于加密和存储报告的资源所需的权限。要验证您的权限,请使用 AWS Identity and Access Management (IAM) 查看附加到您的IAM身份的IAM策略。然后,将这些策略中的信息与以下导出调查发现报告时您需要执行的操作的列表进行比较。

Amazon Inspector

对于 Amazon Inspector,请确认您可以执行以下操作:

  • inspector2:ListFindings

  • inspector2:CreateFindingsReport

这些操作允许您检索账户的调查发现数据,并将这些数据导出到调查发现报告中。

如果您计划以编程方式导出大型报告,则还可以验证您是否可以执行以下操作:inspector2:GetFindingsReportStatus,用于检查报告的状态;inspector2:CancelFindingsReport,用于取消正在进行的导出。

AWS KMS

对于 AWS KMS,请确认您是否被允许执行以下操作:

  • kms:GetKeyPolicy

  • kms:PutKeyPolicy

这些操作允许您检索和更新您希望 Amazon Inspector 用来加密报告的 AWS KMS key 密钥策略。

要使用 Amazon Inspector 控制台导出报告,还要确认是否允许您执行以下 AWS KMS 操作:

  • kms:DescribeKey

  • kms:ListAliases

这些操作允许您检索和显示有关您账户的 AWS KMS keys 的信息。然后,您可以选择其中一种密钥来加密报告。

如果您计划创建用于加密报告的新KMS密钥,则还需要允许您执行该kms:CreateKey操作。

Amazon S3

对于 Amazon S3,请验证您是否可以执行以下操作:

  • s3:CreateBucket

  • s3:DeleteObject

  • s3:PutBucketAcl

  • s3:PutBucketPolicy

  • s3:PutBucketPublicAccessBlock

  • s3:PutObject

  • s3:PutObjectAcl

这些操作允许您创建和配置 Amazon Inspector 用于存储报告的 S3 存储桶。它们还允许您在存储桶中添加和删除对象。

如果要使用 Amazon Inspector 控制台导出报告,还需要验证您是否可以执行 s3:ListAllMyBucketss3:GetBucketLocation 操作。这些操作允许您检索和显示有关您账户的 S3 存储桶的信息。然后,您可以选择其中一个存储桶来存储报告。

如果您无法执行一项或多项必要的操作,请在继续下一步之前向 AWS 管理员寻求帮助。

步骤 2:配置 S3 存储桶

验证权限后,就可以配置用于存储调查发现报告的 S3 存储桶了。它可以是您自己账户的现有存储桶,也可以是其他账户拥有 AWS 账户 且允许您访问的现有存储桶。如果您想将报告存储在新存储桶中,请在继续操作之前创建存储桶。

S3 存储桶必须与您要导出的调查结果数据 AWS 区域 相同。例如,如果您在美国东部(弗吉尼亚州北部)区域使用 Amazon Inspector,并且想要导出该区域的调查发现数据,则存储桶也必须位于美国东部(弗吉尼亚州北部)区域。

此外,存储桶的策略必须允许 Amazon Inspector 向存储桶添加对象。本主题说明了如何更新存储桶策略,并提供了要添加到策略中的语句的示例。有关添加和更新存储桶策略的详细信息,请参阅《Amazon Simple Storage Service 用户指南》中的使用存储桶策略

如果您想将报告存储在其他账户拥有的 S3 存储桶中,请与该存储桶的所有者合作,更新存储桶策略。还要获取存储桶的。URI在导出报告URI时,您需要输入此信息。

更新存储桶策略
  1. 使用您的证书登录,然后打开 Amazon S3 控制台,网址为 https://console.aws.amazon.com/s3

  2. 在导航窗格中,选择

  3. 选择要存储调查发现报告的 S3 存储桶。

  4. 选择权限选项卡。

  5. 存储桶策略部分中,选择编辑

  6. 将以下示例语句复制到剪贴板:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "allow-inspector", "Effect": "Allow", "Principal": { "Service": "inspector2.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:inspector2:Region:111122223333:report/*" } } } ] }
  7. 在 Amazon S3 控制台的存储桶策略编辑器中,将上述语句粘贴到策略中,以将其添加到策略中。

    添加语句时,请确保语法有效。存储桶策略使用JSON格式。这意味着需要在语句之前或之后添加一个逗号,具体取决于在策略中添加语句的位置。如果将语句添加在最后,请在前一语句的右大括号后面添加一个逗号。如果将语句添加为第一个语句,或添加在两个现有语句之间,请在语句的右大括号后面添加一个逗号。

  8. 使用适合您环境的正确值更新语句,其中:

    • DOC-EXAMPLE-BUCKET 是存储桶的名称。

    • 111122223333 是您的账户 ID AWS 账户。

    • Region 是你 AWS 区域 在其中使用 Amazon Inspector 并希望允许 Amazon Inspector 向存储桶添加报告。例如,us-east-1 表示美国东部(弗吉尼亚州北部)区域。

    注意

    如果您在手动启用的环境中使用 Amazon Inspector AWS 区域,还需要在该Service字段的值中添加相应的区域代码。此字段指定了 Amazon Inspector 的服务主体。

    例如,如果您在中东(巴林)区域使用 Amazon Inspector,该区域的区域代码为 me-south-1,则需要将语句中的 inspector2.amazonaws.com 替换为 inspector2.me-south-1.amazonaws.com

    请注意,该示例语句定义了使用两个IAM全局条件键的条件:

    • a@@ ws: SourceAccount — 此条件仅允许 Amazon Inspector 为您的账户向存储桶中添加报告。它可以防止 Amazon Inspector 为其他账户向存储桶中添加报告。更具体地说,该条件指定了哪个账户可以将存储桶用于 aws:SourceArn 条件指定的资源和操作。

      要为其他账户在存储桶中存储报告,请在此条件中添加其他每个账户的账户 ID。例如:

      "aws:SourceAccount": [111122223333,444455556666,123456789012]
    • a@@ ws: SourceArn — 此条件根据要添加到存储桶中的对象的来源限制对存储桶的访问权限。它可以 AWS 服务 防止其他人向存储桶添加对象。它还可以防止 Amazon Inspector 在为您的账户执行其他操作时向存储桶添加对象。更具体地说,只有当对象是调查发现报告,并且这些报告由条件中指定的账户在条件中指定的区域创建时,该条件才允许 Amazon Inspector 向存储桶添加对象。

      要允许 Amazon Inspector 对其他账户执行指定操作,请将每个额外账户的亚马逊资源名称 (ARNs) 添加到此条件中。例如:

      "aws:SourceArn": [ "arn:aws:inspector2:Region:111122223333:report/*", "arn:aws:inspector2:Region:444455556666:report/*", "arn:aws:inspector2:Region:123456789012:report/*" ]

      aws:SourceAccountaws:SourceArn 条件指定的账户应匹配。

    这两个条件都有助于防止 Amazon Inspector 在 Amazon S3 事务期间被用作混淆代理。您可以从存储桶策略中删除这些条件,但我们并不建议您这样做。

  9. 完成存储桶策略更新后,选择保存更改

步骤 3:配置 AWS KMS key

验证权限并配置 S3 存储桶后,应确定 AWS KMS key 您希望 Amazon Inspector 用来加密调查发现报告的 。密钥必须是客户管理的对称加密KMS密钥。此外,密钥必须与您配置用于存储报告的 S3 存储桶 AWS 区域 相同。

密钥可以是您自己账户中的现有KMS密钥,也可以是其他账户拥有的现有KMS密钥。如果要使用新KMS密钥,请在继续操作之前创建密钥。如果您想使用其他账户拥有的现有密钥,请获取该密钥的 Amazon 资源名称 (ARN)。当你从 Amazon Inspector 导出报告ARN时,你需要输入这个信息。有关创建和查看KMS密钥设置的信息,请参阅《AWS Key Management Service 开发者指南》中的管理密钥

确定要使用哪个KMS密钥后,请向 Amazon Inspector 授予使用该密钥的权限。否则,Amazon Inspector 将无法加密和导出报告。要授予 Amazon Inspector 使用密钥的权限,请更新密钥的密钥策略。有关密钥策略和管理密钥访问权限的详细信息,请参阅《AWS Key Management Service 开发人员指南AWS KMS中的KMS密钥策略

注意

以下步骤用于更新现有密钥以允许 Amazon Inspector 使用它。如果您没有现有密钥,请参阅AWS Key Management Service 开发者指南中的创建密钥

更新密钥策略
  1. 使用您的凭据登录,然后打开 AWS KMS 控制台,网址为 https://console.aws.amazon.com/kms

  2. 在导航窗格中,选择客户托管密钥

  3. 选择要用来加密报告的密KMS钥。密钥必须是对称加密 (SYMMETRIC_ DEFAULT) 密钥。

  4. 密钥策略选项卡上,选择编辑。如果您没有看到带有编辑按钮的密钥策略,则必须先选择切换到策略视图

  5. 将以下示例语句复制到剪贴板:

    { "Sid": "Allow Amazon Inspector to use the key", "Effect": "Allow", "Principal": { "Service": "inspector2.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:inspector2:Region:111122223333:report/*" } } }
  6. 在 AWS KMS 控制台的密钥策略编辑器中,将前面的语句粘贴到密钥策略中以将其添加到策略中。

    添加语句时,请确保语法有效。密钥策略使用JSON格式。这意味着需要在语句之前或之后添加一个逗号,具体取决于在策略中添加语句的位置。如果将语句添加在最后,请在前一语句的右大括号后面添加一个逗号。如果将语句添加为第一个语句,或添加在两个现有语句之间,请在语句的右大括号后面添加一个逗号。

  7. 使用适合您环境的正确值更新语句,其中:

    • 111122223333 是您的账户 ID AWS 账户。

    • Region 是你想要允许 Amazon Inspector 使用密钥对报告进行加密的。 AWS 区域 例如,us-east-1 表示美国东部(弗吉尼亚州北部)区域。

    注意

    如果您在手动启用的环境中使用 Amazon Inspector AWS 区域,还需要在该Service字段的值中添加相应的区域代码。例如,如果您在中东(巴林)区域使用 Amazon Inspector,请将 inspector2.amazonaws.com 替换为 inspector2.me-south-1.amazonaws.com

    与上一步中存储桶策略的示例语句一样,此示例中的Condition字段使用两个IAM全局条件键:

    • a@@ ws: SourceAccount — 此条件仅允许 Amazon Inspector 对您的账户执行指定操作。更具体地说,它决定了哪个账户可以为 aws:SourceArn 条件指定的资源和操作执行指定的操作。

      要允许 Amazon Inspector 为其他账户执行指定操作,请在此条件中添加其他每个账户的账户 ID。例如:

      "aws:SourceAccount": [111122223333,444455556666,123456789012]
    • a@@ w SourceArn s: — 此条件会 AWS 服务 阻止其他人执行指定的操作。它还可以防止 Amazon Inspector 在为您的账户执行其他操作时使用密钥。换句话说,只有当对象是调查发现报告,并且这些报告由条件中指定的账户在条件中指定的区域创建时,该条件才允许 Amazon Inspector 使用密钥加密 S3 对象。

      要允许 Amazon Inspector 对其他账户执行指定操作,请ARNs为每增加一个账户添加此条件。例如:

      "aws:SourceArn": [ "arn:aws:inspector2:us-east-1:111122223333:report/*", "arn:aws:inspector2:us-east-1:444455556666:report/*", "arn:aws:inspector2:us-east-1:123456789012:report/*" ]

      aws:SourceAccountaws:SourceArn 条件指定的账户应匹配。

    这些条件有助于防止 Amazon Inspector 在与之进行交易时被用作困惑不解的副手 AWS KMS。您可以从语句中删除这些条件,但我们并不建议您这样做。

  8. 完成密钥策略更新后,选择保存更改

步骤 4:配置和导出调查发现报告

注意

一次只能导出一份调查结果报告。如果当前正在进行导出,则必须等到导出完成后再导出其他结果报告。

验证权限并配置资源以加密和存储调查发现报告后,就可以配置和导出报告了。

要配置和导出调查发现报告
  1. 使用您的凭证登录,然后在 https://console.aws.amazon.com/inspector/v2/ home 中打开 Amazon Inspector 控制台。

  2. 在导航窗格中的调查发现下,选择所有调查发现

  3. (可选)使用调查发现表上方的筛选栏,添加筛选条件,指定要在报告中包含哪些调查发现。添加条件时,Amazon Inspector 会更新表格,使其仅包含符合条件的调查发现。该表提供了报告所含数据的预览。

    注意

    建议添加筛选条件。如果您不这样做,则该报告将包含当前 AWS 区域 状态为 “有效” 的所有发现的数据。如果您是某组织的 Amazon Inspector 管理员,则这将包含贵组织中所有成员账户的调查发现数据。

    如果报告包含所有或多个调查发现的数据,则生成和导出报告可能需要很长时间,而且一次只能导出一份报告。

  4. 选择导出调查发现

  5. 导出设置部分的导出文件类型中,指定报告的文件格式:

    • 要创建包含数据的 JavaScript 对象表示法 (.json) 文件,请选择JSON

      如果您选择该JSON选项,则报告将包含每个查找结果的所有字段。有关可能JSON字段的列表,请参阅 Amazon Inspector API 参考中的查找数据类型。

    • 要创建包含数据的逗号分隔值 (.csv) 文件,请选择。CSV

      如果您选择该CSV选项,则报告将仅包含每个查找结果的字段子集,即报告查找结果关键属性的大约 45 个字段。这些字段包括:调查发现类型、标题、严重性、状态、描述、首次查看、上次查看、修复可用、 AWS 账户 ID、资源 ID、资源标签补救措施。除了这些字段之外,还会记录每个发现的评分细节和参考文献URLs。以下是调查结果报告中的CSV标题示例:

      AWS 账户编号 严重性 修复可用 查找类型 Title 描述 查找 ARN 第一次看见 最后一次露面 上次更新时间 资源 ID 容器镜像标签 区域 平台 资源标签 受影响的包裹 Package 已安装版本 已在版本中修复 Package 补救 文件路径 网络路径 年龄(天) 修复 Inspector Inspector 分数 Status 漏洞 ID 供应商 供应商严重性 供应商咨询 供应商公告已发布 NVDCVSS3得分 NVDCVSS3向量 NVDCVSS2得分 NVDCVSS2向量 供应商CVSS3分数 供应商CVSS3矢量图 供应商CVSS2分数 供应商CVSS2矢量图 资源类型 阿美 资源公共 IPv4 资源私有 IPv4 资源 IPv6 资源 Vpc 端口范围 漏洞可用 上次被利用的时间为 Lambda 图层 Lambda Package 类型 Lambda 上次更新时间为 参考网址
  6. 在 “导出位置” 下URI,对于 S 3,指定要存储报告的 S3 存储桶:

    • 要将报告存储在您的账户拥有的存储桶中,请选择浏览 S3。Amazon Inspector 会列出您的账户的 S3 存储桶。选择所需的存储桶所在的行,然后单击选择

      提示

      要同时为报告指定 Amazon S3 路径前缀,请在 S 3 URI 框中的值后面附加斜杠 (/) 和前缀。然后,Amazon Inspector 会在将报告添加到存储桶时添加前缀,Amazon S3 会生成由该前缀指定的路径。

      例如,如果您想使用自己的 AWS 账户 ID 作为前缀,并且您的账户 ID 为 111122223333,请在 S3 框中的值后面追加/111122223333该值。URI

      前缀类似于 S3 存储桶内的目录路径。它使您可以将相似的对象组合到一个存储桶中,就像将相似文件一起存储在文件系统的一个文件夹中一样。有关详细信息,请参阅 Amazon Simple Storage Service 用户指南中的使用文件夹在 Amazon S3 控制台中组织对象

    • 要将报告存储在其他账户拥有的存储桶中,请URI为该存储桶输入,例如s3://DOC-EXAMPLE_BUCKET,其中 DOC-EXAMPLE _ BUCKET 是存储桶的名称。存储桶所有者可以在存储桶属性中帮您找到这些信息。

  7. 对于KMS密钥 AWS KMS key ,请指定要用于加密报告的:

  8. 选择导出

Amazon Inspector 生成调查结果报告,使用您指定的KMS密钥对其进行加密,然后将其添加到您指定的 S3 存储桶中。根据您选择在报告中包含的调查发现数量,此过程可能需要几分钟或几小时。导出完成后,Amazon Inspector 会显示一条消息,表明您的调查发现报告已成功导出。(可选)在消息中选择查看报告,可导航到 Amazon S3 中的报告。

请注意,每次只能导出一份报告。如果当前正在导出报告,请等到导出完成后再尝试导出其他报告。

排查导出错误

如果导出调查发现报告时出现错误,Amazon Inspector 会显示一条描述错误的消息。您可以使用本主题中的信息作为指南,找出错误的可能原因和解决方案。

例如,验证 S3 存储桶是否处于当前存储桶中, AWS 区域 并且该存储桶的策略允许 Amazon Inspector 向该存储桶添加对象。此外,请确认当前区域已启 AWS KMS key 用,并确保密钥策略允许 Amazon Inspector 使用该密钥。

修复错误后,请尝试再次导出报告。

不能有多个报告错误

如果您要创建报告时,Amazon Inspector 已经在生成报告,则会收到一条错误消息,其内容为原因:无法同时处理多个报告。之所以出现此错误,是因为 Amazon Inspector 每次只能为一个账户生成一份报告。

要解决错误,您可以等待其他报告完成或取消报告,然后再请求新报告。

您可以使用操作来检查报告的状态,此GetFindingsReportStatus操作会返回当前正在生成的任何报告的报告 ID。

如果需要,您可以使用操作提供的报告 ID 通过该GetFindingsReportStatus操作取消当前正在进行的CancelFindingsReport导出。