从 Amazon Inspector 导出调查发现报告 - Amazon Inspector
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

从 Amazon Inspector 导出调查发现报告

除了将调查结果发送到亚马逊 EventBridge 和之外 Amazon Security Hub,您还可以选择将调查结果作为调查结果报告导出到亚马逊简单存储服务 (Amazon S3) 存储桶。调查发现报告是一个 CSV 或 JSON 文件,其中包含您选择包含在报告中的调查发现的详细信息。它提供了特定时间点调查发现的详细快照。对于每项调查发现,该文件都包含各种详细信息,例如受影响资源的 Amazon Resource Name (ARN)、调查发现的创建日期和时间、相关的常见脆弱性和风险 (CVE) ID 以及调查发现的严重性、状态以及 Amazon Inspector 和 CVSS 分数。

配置调查发现报告时,首先要指定要在报告中包含哪些调查发现。默认情况下,Amazon Inspector 包含当前 Amazon Web Services 区域 内状态为有效的所有调查发现的数据。如果您是某组织的 Amazon Inspector 委托管理员,这还包括贵组织中所有成员账户的调查发现数据。

您可以选择通过筛选数据来自定义报告。使用筛选条件时,您可以添加或排除具有特定特征的调查发现的数据,例如,在特定时间范围内创建的所有关键调查发现、特定资源的所有活动调查发现或特定类型的所有关键调查发现。如果您是某个组织的 Amazon Inspector 管理员,则可以使用筛选器来创建一份报告,其中包含组织 Amazon Web Services 账户 中特定用户的调查结果,例如,账户中所有状态为 “有效” 且已有修复的关键调查结果。然后,您可以与账户所有者共享报告以进行修复。

注意

使用 CreateFindingsReportAPI 导出调查结果报告时,默认情况下只会看到有效的调查结果。要查看已隐藏已关闭的调查发现,必须将 findingStatus 筛选条件的值指定为 SUPPRESSEDCLOSED

当您导出调查结果报告时,Amazon Inspector 会使用您指定的 Amazon Key Management Service (Amazon KMS) 密钥对数据进行加密,并将该报告添加到您也指定的 S3 存储桶中。加密密钥必须是客户管理的, Amazon Key Management Service (Amazon KMS) 当前 Amazon Web Services 区域的对称加密密钥。此外,密钥政策必须允许 Amazon Inspector 使用该密钥。S3 存储桶还必须位于当前区域,并且存储桶的策略必须允许 Amazon Inspector 向存储桶添加对象。

在 Amazon Inspector 完成对您的报告的加密和存储后,您可以从您指定的 S3 存储桶下载报告或将其移动到其他位置。或者,您可以将报告保留在这一 S3 存储桶中,并将该存储桶用作随后导出的调查发现报告的存储库。

本主题将指导您完成使用导 Amazon Web Services Management Console 出调查结果报告的过程。该过程包括验证您是否拥有所需的权限,配置所需的资源,然后配置和导出报告。

注意

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

首次导出调查发现报告后,步骤 1–3 则成为可选的。这主要取决于您是否要使用相同的 S3 存储桶以及 Amazon KMS key 后续报告。

如果您更喜欢在步骤 1-3 之后以编程方式导出报告,请使用 Amazon Inspector API 的CreateFindingsReport操作。

步骤 1:验证您的权限

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

Amazon Inspector

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

  • inspector2:ListFindings

  • inspector2:CreateFindingsReport

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

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

Amazon KMS

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

  • kms:GetKeyPolicy

  • kms:PutKeyPolicy

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

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

  • kms:DescribeKey

  • kms:ListAliases

这些操作允许您检索和显示有关您账户的 Amazon 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 存储桶的信息。然后,您可以选择其中一个存储桶来存储报告。

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

步骤 2:配置 S3 存储桶

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

S3 存储桶必须与您要导出的调查结果数据 Amazon Web Services 区域 相同。例如,如果您在美国东部(弗吉尼亚州北部)区域使用 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 是您的 Amazon Web Services 账户的账户 ID。

    • 区域是指 Amazon Web Services 区域 您使用亚马逊检查器并希望允许亚马逊 Inspector 向存储桶添加报告的区域。例如,us-east-1 表示美国东部(弗吉尼亚州北部)区域。

    注意

    如果您在手动启用的环境中使用 Amazon Inspector Amazon Web Services 区域,还需要在该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 — 此条件根据要添加到存储桶中的对象的来源限制对存储桶的访问权限。它可以 Amazon Web Services 防止其他人向存储桶添加对象。它还可以防止 Amazon Inspector 在为您的账户执行其他操作时向存储桶添加对象。更具体地说,只有当对象是调查发现报告,并且这些报告由条件中指定的账户在条件中指定的区域创建时,该条件才允许 Amazon Inspector 向存储桶添加对象。

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

      "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:配置 Amazon KMS key

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

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

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

更新密钥策略
注意

以下步骤用于更新现有密钥以允许 Amazon Inspector 使用它。如果您还没有现有得密钥,请参阅https://docs.amazonaws.cn/kms/latest/developerguide/create-keys.html,获取有关创建密钥的指南。

  1. 打开 Amazon KMS 控制台,网址为 https://console.aws.amazon.com/kms

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

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

  4. 选择要用于加密报告的 KMS 密钥。该密钥必须为对称加密 (SYMMETRIC_DEFAULT) 密钥。

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

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

    { "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/*" } } }
  7. 在 Amazon KMS 控制台的密钥策略编辑器中,将前面的语句粘贴到密钥策略中以将其添加到策略中。

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

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

    • 111122223333 是您的 Amazon Web Services 账户的账户 ID。

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

    注意

    如果您在手动启用的环境中使用 Amazon Inspector Amazon Web Services 区域,还需要在该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: — 此条件会 Amazon Web Services 阻止其他人执行指定的操作。它还可以防止 Amazon Inspector 在为您的账户执行其他操作时使用密钥。换句话说,只有当对象是调查发现报告,并且这些报告由条件中指定的账户在条件中指定的区域创建时,该条件才允许 Amazon Inspector 使用密钥加密 S3 对象。

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

      "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 在与之进行交易时被用作困惑不解的副手 Amazon KMS。您可以从语句中删除这些条件,但我们并不建议您这样做。

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

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

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

要配置和导出调查发现报告
  1. 打开 Amazon Inspector 控制台,网址为 https://console.aws.amazon.com/inspector/v2/home

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

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

    注意

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

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

  4. 选择导出调查发现

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

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

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

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

      如果您选择 CSV 选项,则报告将仅包含每个调查发现的部分字段,即报告调查发现关键属性的大约 45 个字段。这些字段包括:调查发现类型、标题、严重性、状态、描述、首次查看、上次查看、修复可用、 Amazon 账户 ID、资源 ID、资源标签补救措施。除此之外,还有一些字段可以捕获每个调查发现的评分详细信息和参考 URL。以下是调查发现报告中 CSV 标题的示例:

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

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

      提示

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

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

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

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

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

    • 要使用自己账户中的密钥,请从列表中选择相应密钥。该列表显示了您账户的客户托管对称加密 KMS 密钥。

    • 要使用其他账户拥有的密钥,请输入相应密钥的 Amazon 资源名称 (ARN)。密钥所有者可以在密钥属性中帮您找到这些信息。有关详细信息,请参阅 Amazon Key Management Service 开发人员指南中的查找密钥 ID 和 ARN

  8. 选择导出

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

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

排查导出错误

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

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

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

不能有多个报告错误

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

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

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

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