Recopila registros de AWS CloudTrail
En este documento, se detallan los pasos para configurar la transferencia de registros de AWS CloudTrail y datos de contexto a Google Security Operations. Estos pasos también se aplican a la transferencia de registros desde otros servicios de AWS, como AWS GuardDuty, AWS VPC Flow, AWS CloudWatch y AWS Security Hub.
Para transferir registros de eventos, la configuración dirige los registros de CloudTrail a un bucket de Amazon Simple Storage Service (Amazon S3). Tienes la opción de elegir Amazon Simple Queue Service (Amazon SQS) o Amazon S3 como el tipo de fuente del feed.
En la primera parte de este documento, se proporcionan pasos concisos para usar Amazon S3 como el tipo de fuente de feeds o, de preferencia, usar Amazon S3 con Amazon SQS como el tipo de fuente de feeds. En la segunda parte, se proporcionan pasos más detallados con capturas de pantalla para usar Amazon S3 como el tipo de fuente del feed. En la segunda parte, no se explica el uso de Amazon SQS. En la tercera parte, se proporciona información para transferir datos de contexto de AWS sobre hosts, servicios, redes de VPC y usuarios.
Pasos básicos para transferir registros de S3 con o sin SQS
En esta sección, se describen los pasos básicos para transferir registros de AWS CloudTrail a tu instancia de Google Security Operations. En los pasos, se describe cómo hacerlo con Amazon S3 con Amazon SQS como el tipo de fuente de feeds o, de manera opcional, con Amazon S3 como el tipo de fuente de feeds.
Configura AWS CloudTrail y S3
En este procedimiento, configuras los registros de AWS CloudTrail para que se escriban en un bucket de S3.
- En la consola de AWS, busca CloudTrail.
- Haz clic en Crear sendero.
- Proporciona un nombre para el sendero.
- Selecciona Crear bucket de S3. También puedes usar un bucket de S3 existente.
- Proporciona un nombre para el alias de AWS KMS o elige una clave de AWS KMS existente.
- Puedes dejar los demás parámetros de configuración con su valor predeterminado y hacer clic en Siguiente.
- Elige Tipo de evento, agrega Eventos de datos según sea necesario y haz clic en Siguiente.
- Revisa la configuración en Revisar y crear y haz clic en Crear registro.
- En la consola de AWS, busca Buckets de Amazon S3.
- Haz clic en el bucket de registros creado recientemente y selecciona la carpeta AWSLogs. Luego, haz clic en Copiar URI de S3 y guárdalo para usarlo en los siguientes pasos.
Crea una cola de SQS
Se recomienda usar una cola de SQS. Si usas una cola de SQS, debe ser una cola estándar, no una cola FIFO.
Para obtener detalles sobre cómo crear colas de SQS, consulta Cómo comenzar a usar Amazon SQS.
Configura notificaciones en tu cola de SQS
Si usas una cola de SQS, configura notificaciones en tu bucket de S3 para escribir en tu cola de SQS. Asegúrate de adjuntar una política de acceso.
Configura el usuario de IAM de AWS
Configura un usuario de IAM de AWS que usará Operaciones de seguridad de Google para acceder a la cola de SQS (si se usa) y al bucket de S3.
- En la consola de AWS, busca IAM.
- Haz clic en Usuarios y, luego, en la siguiente pantalla, haz clic en Agregar usuarios.
- Proporciona un nombre para el usuario, por ejemplo, chronicle-feed-user, selecciona el tipo de credencial de AWS como Clave de acceso: Acceso programático y haz clic en Siguiente: Permisos.
- En el siguiente paso, selecciona Adjuntar las políticas existentes de forma directa y elige AmazonS3ReadOnlyAccess o AmazonS3FullAccess, según sea necesario. Se usaría AmazonS3FullAccess si Google Security Operations debe borrar los buckets de S3 después de leer los registros para optimizar los costos de almacenamiento de S3 de AWS.
- Como alternativa recomendada al paso anterior, puedes restringir aún más el acceso solo al bucket de S3 especificado si creas una política personalizada. Haz clic en Crear política y sigue la documentación de AWS para crear una política personalizada.
- Cuando apliques una política, asegúrate de incluir
sqs:DeleteMessage
. Google Security Operations no puede borrar mensajes si el permisosqs:DeleteMessage
no está adjunto a la cola de SQS. Todos los mensajes se acumulan en el lado de AWS, lo que causa una demora, ya que Google Security Operations intenta transferir los mismos archivos de forma reiterada. - Haz clic en Siguiente:Etiquetas.
- Si es necesario, agrega etiquetas y haz clic en Siguiente:Revisión.
- Revisa la configuración y haz clic en Crear usuario.
- Copia el ID de clave de acceso y la clave de acceso secreta del usuario creado para usarlos en el siguiente paso.
Crea el feed
Después de completar los procedimientos anteriores, crea un feed para transferir los registros de AWS de tu bucket de Amazon S3 a tu instancia de Google Security Operations. Si no usas una cola de SQS, en el siguiente procedimiento, selecciona Amazon S3 para el tipo de fuente del feed en lugar de Amazon SQS.
Para crear un feed, sigue estos pasos:
- En la barra de navegación, selecciona Configuración > Configuración de SIEM y, luego, Feeds.
- En la página Feeds, haz clic en Add New.
- En el cuadro de diálogo Agregar feed, usa el cuadro de diálogo Tipo de fuente para seleccionar Amazon SQS o Amazon S3.
- En el menú Tipo de registro, selecciona AWS CloudTrail (o algún otro servicio de AWS).
- Haz clic en Siguiente.
Ingresa los parámetros de entrada de tu feed en los campos.
Si el tipo de fuente del feed es Amazon S3, haz lo siguiente:Selecciona región y proporciona el URI de S3 del bucket de Amazon S3 que copiaste antes. También puedes adjuntar el URI de S3 con la variable.
En el siguiente ejemplo, Google Security Operations analiza los registros cada vez solo para un día en particular.{{datetime("yyyy/MM/dd")}}
s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd")}}/
En URI IS A, selecciona Directorios, incluidos los subdirectorios. Selecciona una opción adecuada en Opción de eliminación de fuentes. Asegúrate de que coincida con los permisos de la cuenta de usuario de IAM que creaste antes.
Proporciona el ID de clave de acceso y la clave de acceso secreta de la cuenta de usuario de IAM que creaste antes.
Haz clic en Siguiente (Next) y Finalizar (Finish).
Pasos detallados para transferir registros desde S3
Configura AWS CloudTrail (o algún otro servicio)
Completa los siguientes pasos para configurar los registros de AWS CloudTrail y dirigirlos a que se escriban en el bucket de AWS S3 creado en el procedimiento anterior:
- En la consola de AWS, busca CloudTrail.
Haz clic en Crear sendero.
Proporciona un nombre para el sendero.
Selecciona Crear bucket de S3. También puedes usar un bucket de S3 existente.
Proporciona un nombre para el alias de AWS KMS o elige una clave de AWS KMS existente.
Puedes dejar los demás parámetros de configuración con su valor predeterminado y hacer clic en Siguiente.
Elige Tipo de evento, agrega Eventos de datos según sea necesario y haz clic en Siguiente.
Revisa la configuración en Revisar y crear y haz clic en Crear registro.
En la consola de AWS, busca Buckets de Amazon S3.
Haz clic en el bucket de registros creado recientemente y selecciona la carpeta AWSLogs. Luego, haz clic en Copiar URI de S3 y guárdalo para usarlo en los siguientes pasos.
Configura el usuario de IAM de AWS
En este paso, configuraremos un usuario de IAM de AWS que usará Google Security Operations para obtener feeds de registros de AWS.
En la consola de AWS, busca IAM.
Haz clic en Usuarios y, luego, en la siguiente pantalla, haz clic en Agregar usuarios.
Proporciona un nombre para el usuario, por ejemplo, chronicle-feed-user, selecciona el tipo de credencial de AWS como Clave de acceso: Acceso programático y haz clic en Siguiente: Permisos.
En el siguiente paso, selecciona Adjuntar las políticas existentes de forma directa y elige AmazonS3ReadOnlyAccess o AmazonS3FullAccess, según sea necesario. Se usaría AmazonS3FullAccess si Google Security Operations debe borrar los buckets de S3 después de leer los registros para optimizar los costos de almacenamiento de S3 de AWS. Haz clic en Siguiente:Etiquetas.
Como alternativa recomendada al paso anterior, puedes restringir aún más el acceso solo al bucket de S3 especificado si creas una política personalizada. Haz clic en Crear política y sigue la documentación de AWS para crear una política personalizada.
Si es necesario, agrega etiquetas y haz clic en Siguiente:Revisión.
Revisa la configuración y haz clic en Crear usuario.
Copia el ID de clave de acceso y la clave de acceso secreta del usuario creado para usarlos en el siguiente paso.
Configura el feed en Google Security Operations para transferir registros de AWS
- Ve a la configuración de Google Security Operations y haz clic en Feeds.
- Haz clic en Agregar nuevo.
- Selecciona Amazon SQS o Amazon S3 como el Tipo de fuente del feed.
- Selecciona AWS CloudTrail (o cualquier otro servicio de AWS) en Tipo de registro.
- Haz clic en Siguiente.
Selecciona región y proporciona el URI de S3 del bucket de Amazon S3 que copiaste antes. Además, puedes agregar el URI de S3 con lo siguiente:
{{datetime("yyyy/MM/dd")}}
Como en el siguiente ejemplo, para que Google Security Operations analice los registros cada vez solo para un día en particular:
s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd")}}/
En URI IS A, selecciona Directorios, incluidos los subdirectorios. Selecciona una opción adecuada en Source Deletion Option. Esta debe coincidir con los permisos de la cuenta de usuario de IAM que creamos antes.
Proporciona el ID de clave de acceso y la clave de acceso secreta de la cuenta de usuario de IAM que creamos antes.
Haz clic en Siguiente y Finalizar.
Pasos para transferir datos de contexto de AWS
Para transferir datos de contexto sobre entidades de AWS (como hosts, instancias y usuarios), crea un feed para cada uno de los siguientes tipos de registros, que se enumeran por descripción y etiqueta de transferencia:
- AWS EC2 HOSTS (
AWS_EC2_HOSTS
) - AWS EC2 INSTANCES (
AWS_EC2_INSTANCES
) - VPC de AWS EC2 (
AWS_EC2_VPCS
) - AWS Identity and Access Management (IAM) (
AWS_IAM
)
Para crear un feed para cada uno de estos tipos de registros, sigue estos pasos:
- En la barra de navegación, selecciona Configuración, Configuración de SIEM y, luego, Feeds.
- En la página Feeds, haz clic en Add New. Aparecerá el diálogo Agregar feed.
- En el menú Tipo de fuente, selecciona API de terceros.
- En el menú Tipo de registro, selecciona Hosts de AWS EC2.
- Haz clic en Siguiente.
- Ingresa los parámetros de entrada del feed en los campos.
- Haz clic en Siguiente y, luego, en Finalizar.
Para obtener información más detallada sobre cómo configurar un feed para cada tipo de registro, consulta la siguiente documentación sobre la administración de feeds:
- AWS EC2 HOSTS (
AWS_EC2_HOSTS
) - INSTANCIAS DE AWS EC2 (
AWS_EC2_INSTANCES
) - AWS EC2 VPC (
AWS_EC2_VPCS
) - Administración de Identity and Access Management (IAM) de AWS (
AWS_IAM
)
Para obtener información general sobre cómo crear un feed, consulta la guía del usuario de la administración de feeds o la API de administración de feeds.
Referencia de la asignación de campos
Este código del analizador procesa los registros de AWS CloudTrail en formato JSON. Primero, extrae y estructura el mensaje de registro sin procesar y, luego, itera por cada registro en el array "Registros", normalizando los eventos individuales en el mismo formato que los eventos múltiples. Por último, asigna los campos extraídos al esquema de UDM de Google Security Operations, lo que enriquece los datos con contexto adicional y con información relevante para la seguridad.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
Records.0.additionalEventData .AuthenticationMethod |
additional.fields .AuthenticationMethod.value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.0.additionalEventData .CipherSuite |
additional.fields .CipherSuite.value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.0.additionalEventData .LoginTo |
additional.fields .LoginTo.value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.0.additionalEventData .MFAUsed |
extensions.auth.auth_details | Si el valor es "Sí", el campo UDM se establece en "MFAUsed: Yes". De lo contrario, se establece como "MFAUsed: No". |
Records.0.additionalEventData .MobileVersion |
additional.fields .MobileVersion.value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.0.additionalEventData .SamlProviderArn |
additional.fields .SamlProviderArn.value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.0.additionalEventData .SignatureVersion |
additional.fields .SignatureVersion.value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.0.additionalEventData .bytesTransferredIn |
network.received_bytes | Asignación directa desde el campo de registro sin procesar, convertido a un número entero sin signo. |
Records.0.additionalEventData .bytesTransferredOut |
network.sent_bytes | Asignación directa desde el campo de registro sin procesar, convertido a un número entero sin signo. |
Records.0.additionalEventData .x-amz-id-2 |
additional.fields .x-amz-id-2.value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.0.awsRegion | principal.location.name | Asignación directa desde el campo de registro sin procesar |
Records.0.awsRegion | target.location.name | Asignación directa desde el campo de registro sin procesar |
Records.0.errorCode | security_result.rule_id | Asignación directa desde el campo de registro sin procesar |
Records.0.errorMessage | security_result.description | El campo de la UDM se establece en "Motivo: " concatenado con el valor del campo de registro sin procesar. |
Records.0.eventCategory | security_result.category_details | Asignación directa desde el campo de registro sin procesar |
Records.0.eventID | metadata.product_log_id | Asignación directa desde el campo de registro sin procesar |
Records.0.eventName | metadata.product_event_type | Asignación directa desde el campo de registro sin procesar |
Records.0.eventName | _metadata.event_type | Se asignan según el valor del campo de registro sin procesar. Consulta el código del analizador para ver las asignaciones específicas. |
Records.0.eventSource | target.application | Asignación directa desde el campo de registro sin procesar |
Records.0.eventSource | metadata.ingestion_labels.EventSource | Asignación directa desde el campo de registro sin procesar |
Records.0.eventTime | metadata.event_timestamp | Asignación directa desde el campo de registro sin procesar, analizado como una marca de tiempo ISO8601. |
Records.0.eventVersion | metadata.product_version | Asignación directa desde el campo de registro sin procesar |
Records.0.managementEvent | additional.fields.ManagementEvent .value.string_value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.readOnly | additional.fields.ReadOnly .value.string_value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.recipientAccountId | principal.user.group_identifiers | Asignación directa desde el campo de registro sin procesar |
Records.0.recipientAccountId | target.resource.attribute .labels.Recipient Account Id.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestID | target.resource.attribute .labels.Request ID.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters | target.resource.attribute .labels |
Varios campos dentro de requestParameters se asignan a etiquetas dentro del atributo de recurso de destino. Consulta el código del analizador para ver las asignaciones específicas. |
Records.0.requestParameters> .AccessControlPolicy.AccessControlList .Grant.0.Grantee.URI |
target.resource.attribute .labels.AccessControlList Grantee URI.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .AccessControlPolicy.AccessControlList .Grant.1.Grantee.URI |
target.resource.attribute .labels.AccessControlList Grantee URI.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .AccessControlPolicy.AccessControlList .Grant.2.Grantee.URI |
target.resource.attribute .labels.AccessControlList Grantee URI.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .AccessControlPolicy.AccessControlList .Grant.3.Grantee.URI |
target.resource.attribute .labels.AccessControlList Grantee URI.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .AccessControlPolicy.AccessControlList .Grant.4.Grantee.URI |
target.resource.attribute .labels.AccessControlList Grantee URI.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .CreateAccessPointRequest. PublicAccessBlockConfiguration.BlockPublicAcls |
target.resource.attribute .labels.BlockPublicAcls.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.requestParameters .CreateAccessPointRequest. PublicAccessBlockConfiguration.BlockPublicPolicy |
target.resource.attribute .labels.BlockPublicPolicy.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.requestParameters .CreateAccessPointRequest. PublicAccessBlockConfiguration.IgnorePublicAcls |
target.resource.attribute .labels.IgnorePublicAcls.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.requestParameters .CreateAccessPointRequest. PublicAccessBlockConfiguration.RestrictPublicBuckets |
target.resource.attribute .labels.RestrictPublicBuckets.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.requestParameters .PublicAccessBlockConfiguration.BlockPublicAcls |
target.resource.attribute .labels.BlockPublicAcls.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.requestParameters .PublicAccessBlockConfiguration.BlockPublicPolicy |
target.resource.attribute .labels.BlockPublicPolicy.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.requestParameters .PublicAccessBlockConfiguration.IgnorePublicAcls |
target.resource.attribute .labels.IgnorePublicAcls.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.requestParameters .PublicAccessBlockConfiguration.RestrictPublicBuckets |
target.resource.attribute .labels.RestrictPublicBuckets.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.requestParameters.accessKeyId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.allocationId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.associationId | target.resource.attribute .labels.requestParameters associationId.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.certificateId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .configurationRecorder.name |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .configurationRecorderName |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .createVolumePermission.add.items.0.group |
target.resource.attribute .labels.Add Items Group.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .createVolumePermission.add.items.0.userId |
target.resource.attribute .labels.Add Items UserId.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .createVolumePermission.remove.items.0.userId |
target.resource.attribute .labels.Remove Items UserId.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.detectorId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.destinationId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.directoryId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.documentName | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.egress | target.resource.attribute .labels.requestParameters egress.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.emailIdentity | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.enabled | target.resource.attribute .labels.Request Enabled.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.requestParameters .filterSet.items.0 .valueSet.items.0.value |
target.resource.attribute .labels.requestParameters .filterSet.items.0.valueSet .items.0.value.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.functionName | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .granteePrincipal |
principal.hostname | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .granteePrincipal |
principal.asset.hostname | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.groupId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.groupName | target.group.group_display_name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.imageId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.instanceId | target.resource_ancestors.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .instanceProfileName |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.instanceType | target.resource.attribute .labels.Instance Type.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .instancesSet.items.0.instanceId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .instancesSet.items.0.maxCount |
target.resource.attribute .labels.Instance Set Max Count.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.requestParameters .instancesSet.items.0.minCount |
target.resource.attribute .labels.Instance Set Min Count.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.requestParameters .ipPermissions.items.0 .ipRanges.items.0.cidrIp |
target.resource.attribute .labels.ipPermissions cidrIp.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .ipPermissions.items.0 .ipv6Ranges.items.0.cidrIpv6 |
target.resource.attribute .labels.ipPermissions cidrIpv6.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .ipPermissions.items.1 .ipv6Ranges.items.0.cidrIpv6 |
target.resource.attribute .labels.ipPermissions cidrIpv6.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.keyId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters. launchPermission.add.items.0.group |
target.resource.attribute .labels.Add Items Group.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters. launchPermission.add.items .0.organizationalUnitArn |
target.resource.attribute.labels .Add Items OrganizationalUnitArn .value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters. launchPermission.add.items .0.userId |
target.resource.attribute .labels.Add Items UserId.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters. launchPermission.remove.items .0.organizationalUnitArn |
target.resource.attribute.labels .Remove Items OrganizationalUnitArn .value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters. launchPermission.remove.items .0.userId |
target.resource.attribute .labels.Remove Items UserId.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.loadBalancerArn | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.logGroupIdentifier | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.logGroupName | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.name | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.name | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.networkAclId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .networkInterfaceId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.parentId | target.resource_ancestors.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.policyArn | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .policyArns.0.arn |
target.resource.attribute .labels.Policy ARN 0.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .policyArns.1.arn |
target.resource.attribute .labels.Policy ARN 1.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.policyName | target.resource.attribute .permissions.name |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.policyName | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.principalArn | principal.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.publicKeyId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.RegionName | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.RegionName | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.roleName | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.sAMLProviderArn | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.secretId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.serialNumber | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .serviceSpecificCredentialId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.sendingEnabled | target.resource.attribute .labels.Request Sending Enabled.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.requestParameters.snapshotId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.sSHPublicKeyId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.stackName | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.status | target.resource.attribute .labels.Request Parameter Status.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.subnetId | target.resource.attribute .labels.Subnet Id.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .targets.0.InstanceIds |
target.resource.attribute .labels.requestParameters.targets .0.InstanceIds.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters .targets.0.key |
target.resource.attribute .labels.requestParameters.targets.0.key.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.trailName | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.userName | target.user.userid | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.volumeId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.requestParameters.withDecryption | security_result.detection_fields .withDecryption.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.responseElements | target.resource.attribute.labels | Varios campos dentro de responseElements se asignan a etiquetas dentro del atributo de recurso de destino. Consulta el código del analizador para ver las asignaciones específicas. |
Records.0.responseElements.accessKey.accessKeyId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.accessKey.status | target.resource.attribute .labels.Response Access Key Status.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.accessKey.userName | target.user.userid | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.allocationId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .certificate.certificateId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .certificate.status |
target.resource.attribute .labels.Certificate Status.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .certificate.userName |
target.user.userid | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .credentials.accessKeyId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .credentials.sessionToken |
security_result.detection_fields .sessionToken.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .createAccountStatus.accountId |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .createAccountStatus.accountName |
target.user.user_display_name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .createAccountStatus.accountName |
target.user.user_display_name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .createAccountStatus.accountName |
target.user.user_display_name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .createCollectionDetail.arn |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .createCollectionDetail.id |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .deleteCollectionDetail.id |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.description | target.resource.attribute .labels.Response Elements Description.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.destinationId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.detectorId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.directoryId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .domainStatus.aRN |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .domainStatus.domainId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .federatedUser.arn |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .federatedUser.federatedUserId |
target.user.userid | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .firewall.firewallArn |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .firewall.firewallId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .firewall.firewallName |
target.resource.attribute .labels.Firewall Name.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .flowLogIdSet.item |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.functionArn | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .group.arn |
target.group.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .group.groupName |
target.group.group_display_name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .iamInstanceProfileAssociation.instanceId |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .iamInstanceProfileAssociation.instanceId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .image.imageId.imageDigest |
src.file.sha256 | El campo UDM se establece en el valor que aparece después de "sha256:" en el campo de registro sin procesar. |
Records.0.responseElements .image.imageManifestMediaType |
src.file.mime_type | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.instanceArn | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .instanceProfile.arn |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .instancesSet.items.0.instanceId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.keyId | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .keyMetadata.arn |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .keyMetadata.encryptionAlgorithms |
security_result.detection_fields .encryptionAlgorithm.value |
El campo de la AUA se establece en el valor de cada elemento del array del campo de registro sin procesar. |
Records.0.responseElements .keyMetadata.keyId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.keyPairId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .listeners.0.listenerArn |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .listeners.0.loadBalancerArn |
target.resource.ancestors.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .loadBalancers.0.loadBalancerArn |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.newAssociationId | target.resource.attribute.labels .responseElements newAssociationId.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.packedPolicySize | security_result.detection_fields .packedPolicySize.value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.0.responseElements .publicKey.publicKeyId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.sAMLProviderArn | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .sSHPublicKey.sSHPublicKeyId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .sSHPublicKey.status |
target.resource.attribute .labels.SSH Public Key Status.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .securityGroupRuleSet.items.0.groupId |
security_result.rule_labels.Group Id.value | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .securityGroupRuleSet.items.0.ipProtocol |
network.ip_protocol | Asignación directa del campo de registro sin procesar, convertido a mayúsculas. |
Records.0.responseElements .securityGroupRuleSet.items.0.isEgress |
network.direction | Si el valor es "false", el campo UDM se establece en "INBOUND". De lo contrario, se establece como "OUTBOUND". |
Records.0.responseElements .securityGroupRuleSet.items.0.securityGroupRuleId |
security_result.rule_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .serviceSpecificCredential.serviceName |
target.resource.attribute.labels .Specific Credential ServiceName .value |
Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .serviceSpecificCredential.serviceSpecificCredentialId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .serviceSpecificCredential.serviceUserName |
target.resource.attribute.labels .Specific Credential Service UserName .value |
Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .serviceSpecificCredential.status |
target.resource.attribute .labels.Specific Credential Status.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .serviceSpecificCredential.userName |
target.user.userid | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.snapshotId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.stackId | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .tableDescription.tableArn |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .tableDescription.tableId |
target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.trailARN | target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .user.arn |
target.user.userid | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .user.userId |
target.user.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .user.userName |
target.user.user_display_name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements .virtualMFADevice.serialNumber |
target.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.responseElements.volumeId | target.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.resources | target.resource | El primer elemento del array de recursos se asigna al recurso de destino. Otros elementos se asignan al campo de información. |
Records.0.sharedEventID | additional.fields.SharedEventID .value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.0.sourceIPAddress | principal.asset.ip | Asignación directa desde el campo de registro sin procesar |
Records.0.sourceIPAddress | principal.ip | Asignación directa desde el campo de registro sin procesar |
Records.0.sourceIPAddress | src_ip | Asignación directa desde el campo de registro sin procesar |
Records.0.tlsDetails.cipherSuite | network.tls.cipher | Asignación directa desde el campo de registro sin procesar |
Records.0.tlsDetails.clientProvidedHostHeader | security_result.detection_fields .clientProvidedHostHeader.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.tlsDetails.tlsVersion | network.tls.version | Asignación directa desde el campo de registro sin procesar |
Records.0.userAgent | network.http.user_agent | Asignación directa desde el campo de registro sin procesar |
Records.0.userAgent | network.http.parsed_user_agent | Asignación directa desde el campo de registro sin procesar, analizado como una cadena de usuario-agente. |
Records.0.userIdentity.accessKeyId | additional.fields.accessKeyId .value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity.accountId | principal.resource.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity.accountId | principal.user.group_identifiers | Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity.arn | principal.resource.name | Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity.arn | principal.user.userid | Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity.arn | target.user.attribute .labels.ARN.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity.invokedBy | principal.user.userid | El campo UDM se establece en el valor anterior a ".amazonaws.com" en el campo de registro sin procesar. |
Records.0.userIdentity.principalId | principal.user.product_object_id | Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity.principalId | principal.user.attribute .labels.principalId.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity .sessionContext.attributes.mfaAuthenticated |
principal.user.attribute .labels.mfaAuthenticated.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity .sessionContext.sessionIssuer.arn |
target.user.attribute .labels.ARN.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity .sessionContext.sessionIssuer.principalId |
target.user.userid | Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity .sessionContext.sessionIssuer.type |
target.user.attribute .labels.Type.value |
Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity .sessionContext.sessionIssuer.userName |
target.user.user_display_name | Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity.type | principal.resource.resource_subtype | Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity.type | principal.resource.type | Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity.userName | principal.user.user_display_name | Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity.userName | src.user.userid | Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity.userName | src.user.user_display_name | Asignación directa desde el campo de registro sin procesar |
Records.0.userIdentity.userName | target.user.user_display_name | Asignación directa desde el campo de registro sin procesar |
Records.1.additionalEventData .AuthenticationMethod |
additional.fields.AuthenticationMethod .value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.1.additionalEventData .CipherSuite |
additional.fields.CipherSuite .value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.1.additionalEventData .LoginTo |
additional.fields.LoginTo .value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.1.additionalEventData .MFAUsed |
extensions.auth.auth_details | Si el valor es "Sí", el campo UDM se establece en "MFAUsed: Yes". De lo contrario, se establece como "MFAUsed: No". |
Records.1.additionalEventData .MobileVersion |
additional.fields.MobileVersion .value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.1.additionalEventData .SamlProviderArn |
additional.fields.SamlProviderArn .value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.1.additionalEventData .SignatureVersion |
additional.fields.SignatureVersion .value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.1.additionalEventData .bytesTransferredIn |
network.received_bytes | Asignación directa desde el campo de registro sin procesar, convertido a un número entero sin signo. |
Records.1.additionalEventData .bytesTransferredOut |
network.sent_bytes | Asignación directa desde el campo de registro sin procesar, convertido a un número entero sin signo. |
Records.1.additionalEventData .x-amz-id-2 |
additional.fields.x-amz-id-2 .value.string_value |
Asignación directa desde el campo de registro sin procesar |
Records.1.awsRegion | principal.location.name | Asignación directa desde el campo de registro sin procesar |
Records.1.awsRegion | target.location.name | Asignación directa desde el campo de registro sin procesar |
Records.1.errorCode | security_result.rule_id | Asignación directa desde el campo de registro sin procesar |
Records.1.errorMessage | security_result.description | El campo de la UDM se establece en "Motivo: " concatenado con el valor del campo de registro sin procesar. |
Records.1.eventCategory | security_result.category_details | Asignación directa desde el campo de registro sin procesar |
Records.1.eventID | metadata.product_log_id | Asignación directa desde el campo de registro sin procesar |
Records.1.eventName | metadata.product_event_type | Asignación directa desde el campo de registro sin procesar |
Records.1.eventName | _metadata.event_type | Se asignan según el valor del campo de registro sin procesar. Consulta el código del analizador para ver las asignaciones específicas. |
Records.1.eventSource | target.application | Asignación directa desde el campo de registro sin procesar |
Records.1.eventSource | metadata.ingestion_labels.EventSource | Asignación directa desde el campo de registro sin procesar |
Records.1.eventTime | metadata.event_timestamp | Asignación directa desde el campo de registro sin procesar, analizado como una marca de tiempo ISO8601. |
Records.1.eventVersion | metadata.product_version | Asignación directa desde el campo de registro sin procesar |
Records.1.managementEvent | additional.fields.ManagementEvent .value.string_value |
Asignación directa desde el campo de registro sin procesar, convertido en una cadena. |
Records.1.readOnly | additional.fields.ReadOnly .value |
Cambios
2024-07-30
- Se corrigió la asignación de "src_ip" y "event_type" para analizar los registros nuevos.
2024-07-29
- Corrección de errores:
- Cuando "eventName" es "GetLoginProfile", se asigna "metadata.event_type" a "RESOURCE_READ".
2024-07-24
- Se cambió la asignación de "recipientAccountId" a "userIdentity.accountId" y se asignó a "additional.fields".
2024-07-23
- Se asignaron "alert_emails" y "owner_names" a "target.resource.attribute.labels".
2024-07-09
- Se asignó "eventVersion" a "metadata.product_version".
- Se asignó "userIdentity.principalId" a "principal.user.attribute.labels".
- Se asignó "userIdentity.sessionContext.attributes.creationDate" a "principal.user.attribute.creation_time".
- Se asignó "userIdentity.sessionContext.sessionIssuer.type" a "target.user.attribute.labels".
- Se asignó "additionalEventData.bytesTransferredIn" a "network.received_bytes".
- Se asignó "additionalEventData.bytesTransferredOut" a "network.sent_bytes".
- Se asignaron "managementEvent", "readOnly", "sharedEventID", "apiVersion", "additionalEventData.x-amz-id-2", "additionalEventData.SignatureVersion", "additionalEventData.AuthenticationMethod", "additionalEventData.CipherSuite" y "additionalEventData.sub" a "additional.fields".
2024-06-24
- Se agregó compatibilidad con un nuevo patrón de registros JSON.
2024-06-24
- Se actualizó la asignación de "principal.resource.type" a "principal.resource.resource_subtype", ya que el campo "principal.resource.type" está obsoleto.
2024-05-21
- Cuando "requestParameters.bucketPolicy.Statement.n.Resource" es un array, se asigna "requestParameters.bucketPolicy.Statement.n.Resource" a "additional.fields".
2024-05-09
- Se asignó la parte "groupid" de "principal.user.userid" a "principal.user.groupid" y "principal.user.group_identifiers" cuando "userid" coincide con el formato "^arn:aws:sts::\d+:assumed-role\/\w+\/\w+$".
30-04-2024
- Se asignó "req.requestParameters.networkInterfaceSet.items.associatePublicIpAddress" a "target.resource.attribute.labels".
2024-03-22
- Se asignó "Noun.user.userid" a "Noun.user.product_object_id".
- Se asignó "RoleName" de "userIdentity.arn" a "principal.user.role_name" y "principal.user.attribute.roles.name".
- Se asignó "PolicyName" de "requestParameters.policyArn" a "security_result.rule_name".
2024-03-04
- Para los registros que tienen "eventName" como "TerminateInstances":
- Se asignó el objeto JSON "responseElements" a "target.resource.attribute.labels".
- Se asignó "sessionCredentialFromConsole" a "target.resource.attribute.labels".
- Para los registros en los que "eventName" es "CreateDomain","DeleteDomain","CreateCollection",
- "DeleteCollection","CreateDBCluster","DeleteDBCluster","StopDBCluster","StartDBCluster",
- "CreateCluster","DeleteCluster", "ListClusters", "CreateNodegroup", "DeleteNodegroup",
- "RegisterCluster", "DeregisterCluster", "DescribeCluster", "DescribeNodegroup" y "ListNodegroups".
- Establece "target.resource.resource_type" en "CLUSTER".
2023-11-21
- Se asignó "awsRegion" a "target.location.name".
- Para los registros que tienen "eventName" como "PutBucketAcl", cuando "userIdentity.arn" no está presente, modifica "metadata.event_type" a "STATUS_UPDATE".
- Para los registros que tienen "eventName" como prefijo "Get", "List", "Describe", "Detect", "Query", "Check", "Decode",
- "Desencriptar", "Descargar", "Recuperar", "Leer", "Descubrir", "Buscar", "Obtener una vista previa", "Analizar", "Seleccionar", "Clasificar", "Mostrar", "Ver":
- Establece "metadata.event_type" en "RESOURCE_READ".
- Para los registros que tienen "eventName" como prefijo "Delete" o "Terminate":
- Establece "metadata.event_type" en "RESOURCE_DELETION".
- Para los registros que tienen "eventName" como prefijo "Create", "Put", "Import", "Generate", "Allocate":
- Establece "metadata.event_type" en "RESOURCE_CREATION".
- Para los registros que tienen "eventName" como prefijo "Start", "Activate", "Reboot", "Initialize", "New":
- Establece "metadata.event_type" en "STATUS_STARTUP".
- Para los registros que tienen "eventName" como prefijo "Stop", "Cancel", "Disconnect":
- Establece "metadata.event_type" en "STATUS_SHUTDOWN".
- Para los registros que tienen "eventName" como prefijo "Test", "Accept", "Notify", "Request", "Validate", "Confirm", "Reject", "Verify", "Authorize", "Complete":
- Establece "metadata.event_type" en "STATUS_UPDATE".
- Para los registros que tienen "eventName" como prefijo "Assume", "ConsoleLogin":
- Establece "metadata.event_type" en "USER_LOGIN".
- Para los registros que tienen "eventName" como "SendHeartbeat":
- Establece "metadata.event_type" en "STATUS_HEARTBEAT".
- Para los registros que tienen "eventName" como prefijo "Iniciar", "Publicar", "Reemplazar", "Reanudar", "Ejecutar", "Enviar", "Suspender",
- "Alter", "Increase", "Invite", "Provision", "Refresh", "Report", "Upgrade", "Abort", "Apply", "Backup", "Decrease",
- "Combinar", "Reintentar", "Rotar", "Rotación", "Transferir", "Anular asignación", "Analizar", "Archivar", "Beta_", "Borrar", "Configurar",
- "Confirm_", "Do", "Evaluate", "Failover", "Forgot", "Lock", "Migrate", "O", "Process", "Promote", "Release", "Renew",
- "Firmar", "Desarchivar", "Quitar la baja", "Desbloquear", "Confirmar", "Aprobar", "Conectar", "Continuar", "Rechazar", "Implementar",
- "Diagnostic", "Drop", "Exit", "Finalize", "Flush", "Forget", "Grant", "Issue", "Logout", "Move", "Opt", "Pause",
- "Rebuild", "Redeem", "Replicate", "Restart", "S", "Save", "Subscribe", "Sync", "Unlink", "Unsubscribe", "Unsuspend",
- "Allow", "Ato", "Back", "Backtrack", "Bid", "Bind", "Build", "Bundle", "Clone", "Close", "Cognito", "Console", "Dispose",
- "Dissociate", "End", "Enroll", "Enter", "Environment", "Event_", "Exclude", "Global", "Include", "Index", "Insert", "Install",
- "Invalidate", "Join", "Leave", "Load", "Managed", "Mark", "Monitor", "Peer", "Persist", "Prepare", "Pubkey", "Purge", "Push",
- "Rebalance", "Record", "Recovery", "Redact", "Refuse", "Reinvite", "Reload", "Rename", "Respond", "Resync", "Retire", "Reverse",
- "Rollback", "Schedule", "Secret", "Shutdown", "Signal", "Skip", "Split", "Stream", "Swap", "Switch", "Toggle", "Token_",
- "Traducir", "Recortar", "Desautorizar", "Desplegar", "Desmonitorizar", "Desvincular", "Usar":
- Establece "metadata.event_type" en "RESOURCE_WRITTEN".
- Para los registros que tienen "eventName" como prefijo "Update", "Associate", "Disassociate", "Modify", "Set", "Register", "Deregister",
- "Agregar", "Quitar", "Habilitar", "Inhabilitar", "Enviar", "Restaurar", "Restablecer", "Adjuntar", "Desagregar", "Exportar", "Copiar", "Etiquetar",
- "Quitar etiqueta", "Ejecutar", "Comprar", "Asignar", "Desactivar", "Publicar", "Volver a enviar", "Subir", "Asignar", "Cambiar", "Definir",
- "Deprecate", "Invoke", "Revoke:
- Establece "metadata.event_type" en "RESOURCE_PERMISSIONS_CHANGE".
2023-11-11
- Inicializa las variables como nulas o vacías para evitar asignaciones duplicadas.
- Cuando "requestParameters.tagSpecificationSet.items.key" sea "Hostname" , asigna a "target.hostname".
2023-10-27
- Para los registros que tienen "eventName" como "AssociateIamInstanceProfile":
- Se asignó "responseElements.AssociateIamInstanceProfileResponse.iamInstanceProfileAssociation.instanceid" a "target.resource.name".
- Se asignó "responseElements.AssociateIamInstanceProfileResponse.iamInstanceProfileAssociation.instanceid" a "target.resource.product_object_id".
- Establece "metadata.event_type" en "RESOURCE_PERMISSIONS_CHANGE".
- Establece "target.resource.resource_type" en "ACCESS_POLICY".
- Para los registros que tienen "eventName" como "DisassociateIamInstanceProfile":
- Se asignó "responseElements.DisassociateIamInstanceProfileResponse.iamInstanceProfileAssociation.instanceid" a "target.resource.name".
- Se asignó "responseElements.DisassociateIamInstanceProfileResponse.iamInstanceProfileAssociation.instanceid" a "target.resource.product_object_id".
- Establece "metadata.event_type" en "RESOURCE_PERMISSIONS_CHANGE".
- Establece "target.resource.resource_type" en "ACCESS_POLICY".
- Para los registros que tienen “eventName” como “ReplaceIamInstanceProfileAssociation”, haz lo siguiente:
- Se asignó "responseElements.ReplaceIamInstanceProfileAssociationResponse.iamInstanceProfileAssociation.instanceid" a "target.resource.name".
- Se asignó "responseElements.ReplaceIamInstanceProfileAssociationResponse.iamInstanceProfileAssociation.instanceid" a "target.resource.product_object_id".
- Establece "metadata.event_type" en "RESOURCE_PERMISSIONS_CHANGE".
- Establece "target.resource.resource_type" en "ACCESS_POLICY".
- Se asignó el objeto JSON "requestParameters" y "responseElements" a "target.resource.attribute.labels".
- Se corrigió el error ortográfico de "req.userIdentity.userName" de "req.userIdentity.username".
2023-10-13
- Para los registros que tienen "eventName" como "UpdateDetector":
- Se asignaron "requestParameters.features.name" y "requestParameters.features.status" a "target.resource.attribute.labels".
- Para los registros que tienen "eventName" como "SendCommand":
- Se asignó "requestParameters.documentName" a "target.resource.product_object_id".
- Se asignó "responseElements.command.commandId" a "target.process.product_specific_object.id".
- Se asignó "metadata.event_type" a "PROCESS_LAUNCH".
- Se asignó "requestParameters.documentName" a "target.resource.name".
- Se asignaron todos los parámetros de "requestParameters" y "responseElements" a "target.resource.attribute.labels".
- Para los registros que tienen "eventName" como "createAccountResult", asigna "event_type" como "USER_RESOURCE_ACCESS".
- Para los registros que tienen "eventName" como "createAccount", asigna "event_type" como "RESOURCE_CREATION".
2023-09-30
- Agrega asignaciones nuevas para los siguientes campos:
- Se asignó "req.requestParameters.durationSeconds" a "target.resource.attribute.labels".
- Se asignó "req.requestParameters.policyArns" a "target.resource.attribute.labels".
- Para los registros que tienen "eventName" como "GetParameter", "GetParameters", "GetParameterHistory", "GetParametersByPath", "DescribeParameters":
- Se asignó "metadata.event_type" a "RESOURCE_READ".
- Se asignó "req.requestParameters.withDecryption" a "security_result.detection_fields".
- Para los registros que tienen "eventName" como "DeleteParameters" o "DeleteParameter", establece "metadata.event_type" en "RESOURCE_DELETION".
- Para los registros que tienen "eventName" como "PutParameter", establece "metadata.event_type" en "RESOURCE_PERMISSIONS_CHANGE".
- Para los registros que tienen "eventName" como "EnableRegion" o "DisableRegion", establece "target.resource.name" desde "req.requestParameters.map.RegionName".
- Para los registros que tienen "eventName" como "GetFederationToken":
- Se asignó "metadata.event_type" a "RESOURCE_READ".
- Se asignó "req.responseElements.federatedUser.arn" a "target.resource.name".
- Se asignó "req.responseElements.federatedUser.federatedUserId" a "target.user.userid".
- Se asignó "req.responseElements.packedPolicySize" a "security_result.detection_fields".
- Se asignó "req.responseElements.credentials.sessionToken" a "security_result.detection_fields".
2023-09-15
- Agrega asignaciones nuevas para los siguientes campos:
- Se asignó "requestParameters.userName" a "target.user.user_display_name".
- Se asignó "additionalEventData.SamlProviderArn" a "additional.fields".
- Se asignó "eventSource" a "metadata.ingestion_labels".
- Cuando el valor de "requestParameters.tagSpecificationSet.items.tags.key" es "Name", se asigna "requestParameters.tagSpecificationSet.items.tags.value" a "target.resource.name".
2023-08-24
- Para los registros que tienen "eventName" como "CreateFirewall" y "DeleteFirewall" :
- Se asignó "responseElements.firewallARN" a "target.resource.name".
- Se asignó "responseElements.firewallId" a "target.resource.product_object_id".
- Se asignó "responseElements.firewallName" a "target.resource.attribute.labels".
- Se asignó "target.resource_subtype" como "Firewall".
- Se asignó "target.resource.resource_type" como "FIREWALL_RULE".
2023-08-24
- Para los registros que tienen "eventName" como "CreateSubnet", establece "metadata.event_type" en "RESOURCE_CREATION".
- Se asignó "req.responseElements.subnet.subnetId" a "target.resource.attribute.labels".
- Se asignó "req.requestParameters.cidrBlock" a "target.resource.attribute.labels".
- Para los registros que tienen "eventName" como "DeleteSubnet", establece "metadata.event_type" en "RESOURCE_DELETION".
- Se asignó "req.requestParameters.subnetId" a "target.resource.attribute.labels".
2023-08-16
- Para los registros que tienen "eventName" como "DeleteSecret", se asignó "responseElements.arn" a "target.resource.name".
2023-08-02
- Para los registros que tienen "eventName" como "CreateTags", se asignó "metadata.event_type" a "RESOURCE_WRITTEN".
- Se asignaron "responseElements.description","requestParameters.name","requestParameters.tagSet.items" y "requestParameters.attributeType" a "target.resource.attribute.labels".
- Establece "metadata.event_type" en "RESOURCE_CREATION" para los registros que tengan el siguiente "eventName":
- "CreateNetworkAcl","CreateVolume","CreatePublishingDestination","CreateIPSet","CreateThreatIntelSet",
- "CreateAddon","CreateRepository","CreateStack","CreateDomain","CreateCollection","CreateTable",
- "CreateDBInstance","CreateDBCluster","CreateDBSnapshot","CreateDBClusterSnapshot","PutConfigRule",
- "PutDeliveryChannel","CreateListener","CreateLoadBalancer","PutLoggingConfiguration","CreateTargetGroup",
- "CreateWebACL","RequestCertificate","CreateCluster"
- Establece "metadata.event_type" en "RESOURCE_WRITTEN" para los registros que tengan el siguiente "eventName":
- "MoveAccount","PutEventSelectors","PutInsightSelectors","UpdateIPSet","UpdateThreatIntelSet","CreateTags",
- "UpdateTable","ModifyDBInstance","StopDBInstance","StartDBInstance","RebootDBInstance",
- "StartDBCluster","StopDBCluster","ModifyDBSnapshotAttribute","ModifyDBClusterSnapshotAttribute",
- "AddListenerCertificates","ModifyLoadBalancerAttributes","SetSubnets","SetSecurityGroups",
- "ModifyListener","UpdateWebACL","ResendValidationEmail","ModifyInstanceAttribute",
- "StopInstances","StartInstances","RebootInstances"
- Establece "metadata.event_type" en "RESOURCE_WRITTEN" para los registros que tengan el siguiente "eventName".
- "DeletePublishingDestination","DeleteIPSet","DeleteThreatIntelSet","DeleteRepository",
- "DeleteStack","DeleteCollection","DeleteDomain","DeleteTable","DeleteDBInstance","DeleteDBCluster",
- "DeleteDBSnapshot","DeleteDBClusterSnapshot","DeleteConfigRule","DeleteEvaluationResults",
- "DeleteTargetGroup","DeleteLoadBalancer","DeleteListener","DeleteLoggingConfiguration",
- "DeleteWebACL","DeleteCertificate","DeleteCluster"
- Establece "metadata.event_type" en "RESOURCE_PERMISSIONS_CHANGE" para los registros que tengan el siguiente "eventName":
- "AssociateWebACL","DisassociateWebACL","AttachGroupPolicy","PutBucketAcl"
- Establece "metadata.event_type" en "RESOURCE_READ" para los registros que tengan el siguiente "eventName":
- "GetPasswordData","GetSessionToken"
- Se asignó "target.resource.resource_type" y otros campos no asignados para los nombres de eventos mencionados anteriormente.
2023-07-18
- Para los registros con el siguiente "eventName", se asignó "metadata.event_type" a "RESOURCE_CREATION".
- "EnableMacie","ConnectDirectory","RunInstances","CreateImage","CreateOrganization", "CreateNetworkInterface",
- "StartSSO","CreateEmailIdentity","VerifyDomainIdentity","VerifyDomainDkim","VerifyEmailIdentity",
- "CreateConfigurationSet","CreateSecret","ImportKeyPair","CreateAlias","CreateKey","CreateOrganizationalUnit",
- "CreateNetworkAcl","CreateVolume","CreatePublishingDestination","CreateIPSet","CreateThreatIntelSet"
- Para los registros con el siguiente "eventName", se asignó "metadata.event_type" a "RESOURCE_WRITTEN".
- "UpdateMacieSession","PutAccountSendingAttributes","PutConfigurationSetSendingOptions","UpdateAccountSendingEnabled",
- "UpdateConfigurationSetSendingEnabled","UpdateSecret","DisableKey","EnableKey","CancelKeyDeletion",
- "MoveAccount","PutEventSelectors","PutInsightSelectors","UpdateIPSet","UpdateThreatIntelSet"
- Para los registros con el siguiente "eventName", se asignó "metadata.event_type" a "RESOURCE_DELETION".
- "DeleteSnapshot","DeleteDetector","DeleteFlowLogs","DeregisterImage","TerminateInstances", "RESOURCE_DELETION",
- "DeleteNetworkInterface","DeleteSSO","DeleteBucketPublicAccessBlock","DeleteAccountPublicAccessBlock",
- "RemoveAccountFromOrganization","DeleteEmailIdentity","LeaveOrganization","DeleteConfigurationSet",
- "DeleteSecret","DeleteKeyPair","DeleteAlias","ScheduleKeyDeletion","DeleteNetworkAcl",
- "DeletePublishingDestination","DeleteIPSet","DeleteThreatIntelSet"
- Para los registros con el siguiente "eventName", se asignó "metadata.event_type" a "RESOURCE_PERMISSIONS_CHANGE".
- "DetachRolePolicy","PutRolePolicy","PutResourcePolicy","PutCredentials","DeleteDirectory",
- "AuthorizeSecurityGroupEgress","AuthorizeSecurityGroupIngress","RevokeSecurityGroupEgress","RevokeSecurityGroupIngress",
- "ModifySnapshotAttribute","ModifyImageAttribute","CreateNetworkAclEntry","ReplaceNetworkAclAssociation","DeleteNetworkAclEntry"
- Se asignó "target.resource.resource_type" y otros campos no asignados para los nombres de eventos mencionados anteriormente.
- Se agregó una verificación de nulo antes de asignar el campo "userIdentity.invokedBy".
2023-07-06
- Se agregó una verificación de nulo antes de asignar el campo "userIdentity.invokedBy".
- Se asignaron "requestParameters.instanceType","requestParameters.instancesSet.items.0.minCount" y "requestParameters.instancesSet.items.0.maxCount" a "target.resource.attribute.labels".
2023-06-23
- Se asignaron registros a "metadata.event_type" más específicos según el campo "eventname".
- Se asignó "target.resource.resource_type" como "VIRTUAL_MACHINE".
- Se asignaron "requestParameters.status" y "responseElements.certificate.status" a "target.resource.attribute.labels".
- Se asignó "requestParameters.instanceId" a "target.resource_ancestors.product_object_id".
- Se asignó "requestParameters.userName" a "target.user.userid".
- Se asignaron "target.resource.name" y "target.resource.product_object_id" según las claves presentes en cada "eventName".
- Se asignó "userIdentity.arn" a "principal.resource.name".
- Se asignó "userIdentity.accountId" a "principal.resource.product_object_id".
- Para los registros que tienen "eventName" como el siguiente, se asignó "metadata.event_type" a "RESOURCE_CREATION".
- "CreateTrail","AllocateAddress","CreateVolume","CreateVirtualMFADevice","UploadSigningCertificate",
- "CreateAccessKey","UploadSSHPublicKey","CreateServiceSpecificCredential","UploadCloudFrontPublicKey",
- "CreateAnalyzer","CreateSAMLProvider","PutConfigurationRecorder","CreateRole","CreateInstanceProfile",
- "CreateExportTask","CreateLogGroup","EnableSecurityHub","CreateEnvironment","CreateSession","CreateServiceLinkedRole",
- "CreateSnapshot","CreateKeyPair","CreateSecurityGroup","CreateDetector","CreateFlowLogs",
- "EnableMacie","ConnectDirectory","RunInstances","CreateImage","CreateOrganization"
- En el caso de los registros que tienen "eventName" como el siguiente, se asignó "metadata.event_type" a "RESOURCE_WRITTEN".
- "StartLogging","StopLogging","AssociateAddress","DisassociateAddress","DetachVolume",
- "AttachVolume","ModifyVolume","EnableMFADevice","ResyncMFADevice","UpdateSigningCertificate",
- "UpdateAccessKey","UpdateSSHPublicKey","ResetServiceSpecificCredential","UpdateServiceSpecificCredential",
- "UpdateCloudFrontPublicKey","DisableRegion","EnableRegion","UpdateSAMLProvider","StartConfigurationRecorder",
- "StopConfigurationRecorder","PutRetentionPolicy","PutDataProtectionPolicy","UpdateDetector","UpdateMacieSession"
- Para los registros que tienen "eventName" como el siguiente, se asignó "metadata.event_type" a "RESOURCE_DELETION".
- "DeleteTrail","ReleaseAddress","DeleteVolume","DeactivateMFADevice","DeleteVirtualMFADevice",
- "DeleteSigningCertificate","DeleteAccessKey","DeleteSSHPublicKey","DeleteServiceSpecificCredential",
- "DeleteCloudFrontPublicKey","DeleteAnalyzer","DeleteSAMLProvider","DeleteConfigurationRecorder",
- "DeletePolicy","DeleteRole","DeleteInstanceProfile","DeleteLogGroup","DisableSecurityHub","DisableMacie",
- "DeleteSnapshot","DeleteDetector","DeleteFlowLogs","DeregisterImage","TerminateInstances"
- En el caso de los registros que tienen "eventName" como el siguiente, se asignó "metadata.event_type" a "RESOURCE_PERMISSIONS_CHANGE".
- "AttachUserPolicy","DetachUserPolicy","PutUserPolicy","DeleteUserPolicy",
- "PutUserPermissionsBoundary","DeleteUserPermissionsBoundary","AttachRolePolicy",
- "DetachRolePolicy","PutRolePolicy","PutResourcePolicy","PutCredentials","DeleteDirectory"
2023-06-09
- Se modificó la regex para identificar los registros del array JSON.
2023-06-07
- Se asignaron todos los campos "principal.user" a "target.user" para "eventName" como "ConsoleLogin".
2023-05-26
- Registros analizados de diferentes patrones de JSON.
- Se asignó "cipherSuite" a "network.tls.cipher".
- Se asignó "requestID" a "target.resource.attribute.labels".
- Se asignó "assumedRoleId" a "security_result.about.resource.name".
- Se asignó "roleSessionName" a "target.resource.name".
- Se asignó "roleArn" a "target.resource.product_object_id".
- Se asignó "userAgent" a "network.http.user_agent".
- Se asignó "sourceIPAddress" a "principal.ip".
- Se asignó "sessionIssuer.userName" a "target.user.user_display_name".
- Se asignó "sessionIssuer.principalId" a "target.user.userid".
- Se asignó "userIdentity.accessKeyId" a "target.resource.product_object_id".
- Se asignó "userIdentity.arn" a "security_result.about.resource.id".
- Se asignó "req.detail.Longitude" a "_principal.location.region_longitude".
- Se asignó "req.detail.Latitude" a "_principal.location.region_latitude".
- Se asignó "detail.resourceType" a "target.resource.resource_subtype".
- Establece "security_result.alert_state" en "ALERTING".
- Se asignó "req.detail.recommendRemediation" a "security_result.action_details".
- Se asignó "eventLog.detail.eventName" a "metadata.product_event_type".
2023-02-23
- Se asignó "requestParameters.principalArn" a "principal.resource.name".
- Se asignó "resources.ARN" a "about.resource.name".
2022-11-24
- Solución:
- Se analizaron los registros de formato nuevo que tienen configurationItem asignando los siguientes campos.
- Se asignó "configurationItem.awsAccountId" a "principal.user.userid".
- Se asignó "configurationItem.resourceId" a "target.resource.id".
- Se asignó "configurationItem.resourceType" a "target.resource.resource_subtype".
- Se asignó "configurationItem.awsRegion" a "target.location.country_or_region".
- Se asignó "configurationItem.configurationItemCaptureTime" a "target.asset.attribute.creation_time".
- Se asignó "configurationItem.configurationItemStatus" a "target.asset.attribute.labels".
- Se asignó "configurationItems.ARN" a "target.resource.attribute.labels".
- Se asignó "configurationItems.availabilityZone" a "target.resource.attribute.cloud.availability_zone".
- Se asignó "configurationItems.awsRegion" a "target.location.country_or_region".
- Se asignó "configurationItems.awsAccountId" a "principal.user.userid".
- Se asignó "configurationItems.configuration.activityStreamStatus" a "target.resource.attribute.labels".
- Se asignó "configurationItems.configuration.allocatedStorage" a "target.resource.attribute.labels".
- Se asignó "configurationItems.configuration.autoMinorVersionUpgrade" a "target.resource.attribute.labels".
- Se asignó "configurationItems.configuration.backupRetentionPeriod" a "target.resource.attribute.labels".
- Se asignó "configurationItems.configuration.copyTagsToSnapshot" a "target.resource.attribute.labels".
- Se asignó "configurationItems.configuration.dbClusterResourceId" a "target.resource.product_object_id".
- Se asignó "configurationItems.configuration.masterUsername" a "principal.user.user_display_name".
- Se asignó "configurationItems.resourceName" a "target.resource.name".
2022-10-13
- Para "eventName": "CreateAccessKey" asignó el campo "responseElements.accessKey.accessKeyId" a "target.resource.product_object_id".
- Para "eventName": "UpdateAccessKey" asignó el campo "requestParameters.accessKeyId" a "target.resource.product_object_id".
- Para "eventName": "DeleteAccessKey" asignó el campo "requestParameters.accessKeyId" a "target.resource.product_object_id".
- Para "eventName": "CreateUser" asignó el campo "responseElements.user.userId" a "target.user.product_object_id".
- Se asignó el campo "eventTime" a "metadata.collected_timestamp".
2022-07-27
- Se agregó el eventType "QueryDatabase" y se asignaron sus campos.
- Se modificaron las condiciones de principal.ip o principal.host para controlar registros nuevos.
- Se cambió la asignación de "requestParameters.roleArn", "requestParameters.registryId" y "resources.accountId" de "target.resource.id" a "target.resource.product_object_id".
- Se modificó la condición de análisis de "req_params" para extraer los valores.
2022-07-08
- Se modificó la asignación de "req.requestParameters.roleName" de "target.user.role_name" a "target.user.attribute.roles".
2022-07-06
- Se cambió la asignación de "req.awsRegion" de "_principal.location.country_or_region" a "_principal.location.name".
- Se modificó event_type de "GENERIC_EVENT" a "USER_LOGIN" para eventName "AssumeRole".
- Se modificó event_type de "GENERIC_EVENT" a "USER_RESOURCE_ACCESS" para eventNAme "PutImage", "GetDownloadUrlForLayer" o "BatchGetImage".
- Se modificó event_type de "GENERIC_EVENT" a "USER_RESOURCE_DELETION" para el nombre del evento "DeleteNetworkInterface".
2022-06-06
- Para el evento eventName "CreateUser/DeleteUser", la condición modificada para controlar la asignación de src como la existente falló en los registros nuevos.
- Se modificó el campo puserId para controlar el nuevo registro sin analizar.
2022-05-27
- Se realizaron mejoras para asignar los siguientes elementos de registros sin procesar a elementos de la UDM:
- "awsAccountId" se asignó a "target.user.group_identifiers".
- "digestS3Bucket" se asignó a "target.resource.name".
- "digestS3Object" se asignó a "target.file.full_path".
- "previousDigestHashValue" se asignó a "target.file.sha256".
- "digestSignatureAlgorithm" se asignó a "event.idm.read_only_udm.additional.fields".
- "digestPublicKeyFingerprint" se asignó a "event.idm.read_only_udm.additional.fields".
- "logFiles.s3Bucket" se asignó a "about_resource.resource.name".
- "logFiles.s3Object" se asignó a "about_resource.file.full_path".
- "logFiles.hashValue" se asignó a "about_resource.file.sha256".
2022-05-27
- Mejora: Se modificó el valor almacenado en metadata.product_name a "AWS CloudTrail".
13-4-2022
- Se realizaron mejoras para asignar los siguientes elementos de registros sin procesar a elementos de la AUA:
- Se asignaron los campos "requestParameters.PublicAccessBlockConfiguration.IgnorePublicAcls", "requestParameters.CreateAccessPointRequest.PublicAccessBlockConfiguration.RestrictPublicBuckets", "requestParameters.CreateAccessPointRequest.PublicAccessBlockConfiguration.BlockPublicPolicy", "requestParameters.CreateAccessPointRequest.PublicAccessBlockConfiguration.BlockPublicAcls", "requestParameters.CreateAccessPointRequest.PublicAccessBlockConfiguration.IgnorePublicAcls", "additionalEventData.configRuleInputParameters.RestrictPublicBuckets", "additionalEventData.configRuleInputParameters.BlockPublicPolicy", "additionalEventData.configRuleInputParameters.BlockPublicAcls", "additionalEventData.configRuleInputParameters.IgnorePublicAcls" a "target.resource.attribute.labels".