使用 BatchImportFindings 创建和更新结果 - Amazon Security Hub
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 BatchImportFindings 创建和更新结果

结果提供商使用 BatchImportFindings API 操作创建新结果,并更新他们所创建结果的相关信息。他们无法更新他们没有创建的结果。

客户、SIEMS、票证工具和 SOAR 工具使用 BatchUpdateFindings 进行与处理结果提供商的结果相关的更新。请参阅 使用 BatchUpdateFindings 更新结果

每当 Amazon Security Hub 收到创建或更新调查结果的BatchImportFindings请求时,它都会自动在 Amazon 中生成一个Security Hub Findings - Imported事件 EventBridge。请参阅 自动响应和补救

账户要求和批处理大小

BatchImportFindings 必须由以下之一调用:

  • 与调查发现关联的账户。关联账户的标识符是调查发现的 AwsAccountId 属性值。

  • 被列入正式的 Security Hub 合作伙伴集成允许列表的账户。

Security Hub 只能接受已启用 Security Hub 的账户的调查发现更新。还必须启用结果提供商。如果禁用 Security Hub,或者未启用调查发现提供商集成,则会在 FailedFindings 列表中返回调查发现,并显示 InvalidAccess 错误。

BatchImportFindings 每批最多接受 100 个调查发现,每个调查发现最多 240 KB,每批最多 6 MB。每个区域每个账户的节流速率限制为 10 TPS(每秒事务数),突增值为 30 TPS。

确定是创建还是更新结果

要确定是创建还是更新调查发现,Security Hub 需要检查 ID 字段。如果 ID 的值与现有结果不匹配,则会创建一个新结果。

如果 ID 与现有调查发现确实匹配,则 Security Hub 会检查 UpdatedAt 字段是否有更新。

  • 如果更新的 UpdatedAt 匹配或出现在现有调查发现的 UpdatedAt 之前,则忽略更新。

  • 如果更新的 UpdatedAt 出现在现有结果的 UpdatedAt 之后,则更新现有结果。

BatchImportFindings 的受限属性

对于现有调查发现,调查发现提供商无法使用 BatchImportFindings 更新以下属性和对象。这些属性只能使用 BatchUpdateFindings 进行更新。

  • Note

  • UserDefinedFields

  • VerificationState

  • Workflow

Security Hub 会忽略这些属性和对象中 BatchImportFindings 的任何内容。客户或代表他们行事的其他提供商使用 BatchUpdateFindings 来更新属性和对象。

使用 FindingProviderFields

调查发现提供商也不应使用 BatchImportFindings 来更新以下属性。

  • Confidence

  • Criticality

  • RelatedFindings

  • Severity

  • Types

相反,调查发现提供商使用 FindingProviderFields 对象为这些属性提供值。

示例

"FindingProviderFields": { "Confidence": 42, "Criticality": 99, "RelatedFindings":[ { "ProductArn": "arn:aws:securityhub:us-west-2::product/aws/guardduty", "Id": "123e4567-e89b-12d3-a456-426655440000" } ], "Severity": { "Label": "MEDIUM", "Original": "MEDIUM" }, "Types": [ "Software and Configuration Checks/Vulnerabilities/CVE" ] }

对于 BatchImportFindings 请求,Security Hub 按如下方式 FindingProviderFields 处理顶级属性中的值。

(首选)BatchImportFindingsFindingProviderFields 中的属性提供值,但不为相应的顶级属性提供值。

例如,BatchImportFindings 提供 FindingProviderFields.Confidence,但不提供 Confidence。这是 BatchImportFindings 请求的首选选项。

Security Hub 更新 FindingProviderFields 中属性的值。

仅当属性尚未由 BatchUpdateFindings 更新时,它才会将该值复制到顶级属性。

BatchImportFindings 为顶级属性提供值,但不为 FindingProviderFields 中的相应属性提供值。

例如,BatchImportFindings 提供 Confidence,但不提供 FindingProviderFields.Confidence

Security Hub 使用该值来更新 FindingProviderFields 中的属性。它会覆盖任何现有值。

只有当顶级属性尚未由 BatchUpdateFindings 更新时,Security Hub 才会更新该属性。

BatchImportFindings 为顶级属性和 FindingProviderFields 中的相应属性提供了一个值。

例如,BatchImportFindings 同时提供 ConfidenceFindingProviderFields.Confidence

对于新调查发现,Security Hub 使用 FindingProviderFields 中的值填充顶级属性和 FindingProviderFields 中的相应属性。它不使用提供的顶级属性值。

对于现有调查发现,Security Hub 使用这两个值。但是,只有当属性尚未由 BatchUpdateFindings 更新时,它才会更新顶级属性值。

使用来自的batch-import-findings命令 Amazon CLI

在中 Amazon Command Line Interface,您可以使用batch-import-findings命令来创建或更新调查结果。

您需要将每个调查发现作为一个 JSON 对象提供。

示例

aws securityhub batch-import-findings --findings [{ "AwsAccountId": "123456789012", "CreatedAt": "2019-08-07T17:05:54.832Z", "Description": "Vulnerability in a CloudTrail trail", "GeneratorId": "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0/rule/2.2", "Id": "Id1", "ProductArn": "arn:aws:securityhub:us-west-1:123456789012:product/123456789012/default", "Resources": [ { "Id": "arn:aws:cloudtrail:us-west-1:123456789012:trail/TrailName", "Partition": "aws", "Region": "us-west-1", "Type": "AwsCloudTrailTrail" } ], "SchemaVersion": "2018-10-08", "Title": "CloudTrail trail vulnerability", "UpdatedAt": "2020-06-02T16:05:54.832Z", "Types": [ "Software and Configuration Checks/Vulnerabilities/CVE" ], "Severity": { "Label": "INFORMATIONAL", "Original": "0" } }]'