使用 BatchUpdateFindings 以更新结果 - AWS Security Hub
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

使用 BatchUpdateFindings 以更新结果

BatchUpdateFindings 用于更新与客户处理查找提供商发现相关的信息。它可以由客户使用,也可以由代表客户工作的SIEM、票证、事件管理或SOAR工具使用。BatchUpdateFindings 无法用于创建新结果。它可以用来一次更新多达 100 个结果。

BatchUpdateFindings 不会更改 UpdatedAt 查找字段。UpdatedAt 仅反映查找提供程序的最新更新。

可用的字段 BatchUpdateFindings

主账户可以使用 BatchUpdateFindings 更新其账户或其成员账户的结果。会员账户可以使用 BatchUpdateFindings 以更新其帐户的发现。

客户只能使用 BatchUpdateFindings 更新以下字段和对象。

  • Confidence

  • Criticality

  • Note

  • RelatedFindings

  • Severity

  • Types

  • UserDefinedFields

  • VerificationState

  • Workflow

默认情况下,主帐户和成员帐户可以访问上述所有字段和字段值。 Security Hub 还提供上下文键,允许您限制对字段和字段值的访问。

例如,您可能只允许会员帐户设置 Workflow.StatusRESOLVED。或者您可能不希望允许会员帐户更改 Severity.Label.

配置访问 BatchUpdateFindings

您可以配置 IAM 限制访问的策略 BatchUpdateFindings 以更新字段和字段值。

在限制访问的语句中 BatchUpdateFindings,请使用以下值。

  • Actionsecurityhub:BatchUpdateFindings

  • EffectDeny

  • 对于 Condition,您可以拒绝 BatchUpdateFindings 请求基于以下条件:

    • 结果包括特定字段。

    • 结果包括特定字段值。

条件键

这些是限制访问 BatchUpdateFindings.

ASFF字段

ASFF字段的条件键如下。

securityhub:ASFFSyntaxPath/<fieldName>

更换 <fieldName> 和ASFF字段。

例如,为了限制对 Workflow.Status 字段,使用 securityhub:ASFFSyntaxPath/Workflow.Status.

禁止对字段进行所有更新

要防止用户对特定字段进行任何更新,请使用如下条件:

"Condition": { "Null": { "securityhub:ASFFSyntaxPath/<fieldName>": "false" } }

例如,以下陈述表明 BatchUpdateFindings 无法用于更新工作流状态。

{ "Sid": "VisualEditor0", "Effect": "Deny", "Action": "securityhub:BatchUpdateFindings", "Resource": "*", "Condition": { "Null": { "securityhub:ASFFSyntaxPath/Workflow.Status": "false" } } }

不允许特定字段值

要防止用户将字段设置为特定值,请使用如下条件:

"Condition": { "StringEquals": { "securityhub:ASFFSyntaxPath/<fieldName>": "<fieldValue>" } }

例如,以下陈述表明 BatchUpdateFindings 无法用于设置 Workflow.StatusSUPPRESSED.

{ "Sid": "VisualEditor0", "Effect": "Deny", "Action": "securityhub:BatchUpdateFindings", "Resource": "*", "Condition": { "StringEquals": { "securityhub:ASFFSyntaxPath/Workflow.Status": "SUPPRESSED" } }

您还可以提供不允许的值列表。

"Condition": { "ForAnyValue:StringEquals": { "securityhub:ASFFSyntaxPath/<fieldName>": [ "<fieldValue1>", "<fieldValue2>", "<fieldValuen>" ] } }

例如,以下陈述表明 BatchUpdateFindings 无法用于设置 Workflow.StatusRESOLVEDSUPPRESSED.

{ "Sid": "VisualEditor0", "Effect": "Deny", "Action": "securityhub:BatchUpdateFindings", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "securityhub:ASFFSyntaxPath/Workflow.Status": [ "RESOLVED", "NOTIFIED" ] } }

使用 batch-update-findings 命令 AWS CLI

在 AWS Command Line Interface,您使用 batch-update-findings 命令以更新结果。

对于要更新的每个查找,请提供生成查找的产品的查找ID和ARN。

--finding-identifiers ID="<findingID1>",ProductArn="<productARN>" ID="<findingID2>",ProductArn="<productARN2>"

提供要更新的属性时,您可以使用JSON格式或快捷方式格式。

以下是更新 Note 使用JSON格式的对象:

--note '{"Text": "Known issue that is not a risk.", "UpdatedBy": "user1"}'

以下是使用快捷方式格式的相同更新:

--note Text="Known issue that is not a risk.",UpdatedBy="user1"

的 AWS CLI Command Reference 为每个字段提供JSON和快捷方式语法。

以下 batch-update-findings 示例更新两个结果以添加注释、更改严重性标签并解决它们。

aws securityhub batch-update-findings --finding-identifiers Id="arn:aws:securityhub:us-west-1:123456789012:subscription/pci-dss/v/3.2.1/PCI.Lambda.2/finding/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",ProductArn="arn:aws:securityhub:us-west-2::product/aws/securityhub" Id="arn:aws:securityhub:us-west-1:123456789012:subscription/pci-dss/v/3.2.1/PCI.Lambda.2/finding/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",ProductArn="arn:aws:securityhub:us-west-1::product/aws/securityhub" --note '{"Text": "Known issue that is not a risk.", "UpdatedBy": "user1"}' --severity '{"Label": "LOW"}' --workflow '{"Status": "RESOLVED"}'

这是相同的示例,但使用快捷方式而不是JSON。

aws securityhub batch-update-findings --finding-identifiers Id="arn:aws:securityhub:us-west-1:123456789012:subscription/pci-dss/v/3.2.1/PCI.Lambda.2/finding/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",ProductArn="arn:aws:securityhub:us-west-1::product/aws/securityhub" Id="arn:aws:securityhub:us-west-1:123456789012:subscription/pci-dss/v/3.2.1/PCI.Lambda.2/finding/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",ProductArn="arn:aws:securityhub:us-west-1::product/aws/securityhub" --note Text="Known issue that is not a risk.",UpdatedBy="user1" --severity Label="LOW" --workflow Status="RESOLVED"