Uso de BatchUpdateFindings para actualizar un hallazgo - AWS Security Hub

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de BatchUpdateFindings para actualizar un hallazgo

BatchUpdateFindingsse utiliza para actualizar la información relacionada con el procesamiento por parte de un cliente de los hallazgos de la búsqueda de proveedores. Puede ser utilizado por un cliente o por una herramienta SOAR, SIEM, de venta de tickets, de administración de incidentes o SOAR que funcione en nombre de un cliente.BatchUpdateFindingsno se puede utilizar para crear hallazgos nuevos. Se puede utilizar para actualizar hasta 100 hallazgos a la vez.

Cada vez que Security Hub recibe unBatchUpdateFindingssolicitud de actualización de un hallazgo, genera automáticamente unSecurity Hub Findings - Importedevento en Amazon EventBridge. Consulte Respuesta y corrección automatizadas.

BatchUpdateFindings no cambia el campo UpdatedAt para el hallazgo. UpdatedAt solo refleja la actualización más reciente del proveedor de hallazgos.

Campos disponibles paraBatchUpdateFindings

Las cuentas de administrador pueden usarBatchUpdateFindingspara actualizar los hallazgos de su cuenta o de sus cuentas miembro. Las cuentas de miembros pueden usarBatchUpdateFindingspara actualizar los resultados de su cuenta.

Los clientes solo pueden usarBatchUpdateFindingspara actualizar los campos y objetos siguientes.

  • Confidence

  • Criticality

  • Note

  • RelatedFindings

  • Severity

  • Types

  • UserDefinedFields

  • VerificationState

  • Workflow

De forma predeterminada, las cuentas de administrador y miembro tienen acceso a todos los campos y valores de campo anteriores. Security Hub también proporciona claves de contexto que le permiten restringir el acceso a los campos y a los valores de los campos.

Por ejemplo, podría permitir que solamente las cuentas de miembro establezcanWorkflow.StatusaRESOLVED. O puede que no quiera permitir que cambien las cuentas de los miembrosSeverity.Label.

Configuración del acceso a.BatchUpdateFindings

Puede configurar políticas de política de IAM para restringir el acceso al uso deBatchUpdateFindingspara actualizar los campos y los valores de los campos.

En una declaración para restringir el acceso aBatchUpdateFindings, utilice los siguientes valores.

  • Action es securityhub:BatchUpdateFindings

  • Effect es Deny

  • ParaCondition, puedes negar unBatchUpdateFindingssolicitud en función de los siguientes ejemplos:

    • La conclusión incluye un campo específico.

    • La conclusión incluye un valor de campo específico.

Claves de condición

Estas son las claves de condición para restringir el acceso aBatchUpdateFindings.

Campo ASFF

La clave de condición de un campo ASFF es la siguiente.

securityhub:ASFFSyntaxPath/<fieldName>

Reemplazar<fieldName>con el campo ASFF.

Por ejemplo, para restringir el acceso aWorkflow.Statuscampo, usar securityhub:ASFFSyntaxPath/Workflow.Status.

No permitir todas las actualizaciones de un campo

Para evitar que un usuario realice actualizaciones en un campo específico, usa una condición como esta:

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

Por ejemplo, la siguiente instrucción indica queBatchUpdateFindingsno se puede utilizar para actualizar el estado de flujo de trabajo.

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

No permitir valores de campo específicos

Para evitar que un usuario establezca un campo en un valor específico, utilice una condición como esta:

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

Por ejemplo, la siguiente instrucción indica queBatchUpdateFindingsno se puede usar para establecerWorkflow.StatusaSUPPRESSED.

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

También puede proporcionar una lista de valores que no están permitidos.

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

Por ejemplo, la siguiente instrucción indica queBatchUpdateFindingsno se puede usar para establecerWorkflow.Statuscon cualquieraRESOLVEDoSUPPRESSED.

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

Uso de batch-update-findingsdesde laAWS CLI

En el navegadorAWS Command Line Interface, utilice elbatch-update-findingspara actualizar los resultados.

Para actualizar cada hallazgo, debes proporcionar tanto el ID del hallazgo como el ARN del producto que generó el hallazgo.

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

Al proporcionar los atributos que se van a actualizar, puede usar un formato JSON o un formato de acceso directo.

A continuación se muestra un ejemplo de una actualización delNoteobjeto que usa el formato JSON:

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

Esta es la misma actualización que usa el formato de acceso directo:

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

LaAWS CLILa referencia de comandos proporciona la sintaxis de acceso directo y JSON para cada campo.

Los siguientes ejemplos debatch-update-findingsactualiza dos hallazgos para agregar una nota, cambiar la etiqueta de gravedad y resolverlos.

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"}'

Este es el mismo ejemplo, pero usa los atajos en lugar de 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"