Integra AWS CloudWatch con Google SecOps

En este documento, se describe cómo integrar AWS CloudWatch en Google Security Operations (Google SecOps).

Casos de uso

Acciones activas: buscar en los registros, crear grupos o transmisiones de registros, borrar grupos o transmisiones de registros, actualizar las políticas de retención.

Parámetros de integración

Usa los siguientes parámetros para configurar la integración:

Nombre visible del parámetro> Type> Valor predeterminado> Es obligatorio> Description>
ID de clave de acceso de AWS String N/A Sí Es el ID de la clave de acceso de AWS que se usará en la integración.
Clave secreta de AWS Contraseña N/A Sí La clave secreta de AWS que se usará en la integración.
Región predeterminada de AWS String N/A Sí Es la región predeterminada de AWS que se usará en la integración, por ejemplo, us-west-2.

Para obtener instrucciones sobre cómo configurar una integración en Google SecOps, consulta Configura integraciones.

Si es necesario, puedes realizar cambios más adelante. Después de configurar una instancia de integración, puedes usarla en las guías. Para obtener más información sobre cómo configurar y admitir varias instancias, consulta Cómo admitir varias instancias.

Acciones

Para obtener más información sobre las acciones, consulta Responde a las acciones pendientes desde tu escritorio y Ejecuta una acción manual en tu caso.

Ping

Prueba la conectividad a AWS CloudWatch.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos> Value Options>
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de un playbook:
Si se realiza correctamente: "Successfully connected to the AWS CloudWatch server with the provided connection parameters!"

La acción debería fallar y detener la ejecución de una guía:
if not successful: "Failed to connect to the AWS CloudWatch server! Error is {0}".format(exception.stacktrace)

General

Enumera grupos de registros

Enumera los grupos de registros disponibles en AWS CloudWatch.

Parámetros

Nombre visible del parámetro> Type> Valor predeterminado> Es obligatorio> Description>
Cantidad máxima de grupos que se devolverán Número entero 50 No Especifica cuántos grupos se deben mostrar. Valor predeterminado: 50.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos> Value Options>
is_success is_success=False
is_success is_success=True
Resultado de JSON
[
    {
        "arn": "arn:aws:logs:us-east-1:",
        "creationTime": 1611581795766,
        "logGroupName": "CloudTrail/DefaultLogGroup",
        "metricFilterCount": 0,
        "storedBytes": 24529015
    },
    {
        "arn": "arn:aws:logs:us-east-1:",
        "creationTime": 1606993203235,
        "logGroupName": "Example",
        "metricFilterCount": 1,
        "storedBytes": 730
    },
    {
        "arn": "arn:aws:logs:us-east-1:",
        "creationTime": 1611652265055,
        "logGroupName": "aws-cloudtrail-logs",
        "metricFilterCount": 0,
        "storedBytes": 51354815
    }
]
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de un playbook:
Si hay datos disponibles (is_success = true): "Successfully returned available log groups in AWS CloudWatch".

Si no hay datos disponibles (is_success = true): "No log groups were found in AWS CloudWatch".

La acción debería fallar y detener la ejecución de una guía:
Si se produce un error grave, como credenciales incorrectas, falta de conexión con el servidor, entre otros: "Error executing action "List Log Groups". Reason: {0}''.format(error.Stacktrace)

General
Tabla del muro de casos

Nombre: "Grupos de registros"

Columna:

Nombre

Recuento de filtros de métricas

Bytes almacenados

Fecha/hora de creación

General

Enumera transmisiones de registros

Enumera los flujos de registros disponibles en AWS CloudWatch.

Parámetros

Nombre visible del parámetro> Type> Valor predeterminado> Es obligatorio> Description>
Grupos de registros CSV N/A Sí Especifica una lista separada por comas de los nombres de los grupos para los que deseas recuperar los flujos de registros.
Order By DDL

Nombre del flujo de registros

Valores posibles:

Nombre de la transmisión de registros

Hora del último evento

No Especifica cómo se deben ordenar las transmisiones de registros.
Orden de clasificación DDL

Ascendente

Valores posibles:

Ascendente

Descendente

No Especifica qué orden de clasificación se debe usar.
Cantidad máxima de transmisiones que se devolverán Número entero 50 No Especifica cuántos flujos se deben devolver por grupo de registros.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos> Value Options>
is_success is_success=False
is_success is_success=True
Resultado de JSON
[{
    "group":"{group name}"
"logStreams": [
        {
            "arn": "arn:aws:logs:us-east-1:log-group:aws-cloudtrail-logs:log-stream:CloudTrail_us-east-1",
            "creationTime": 1611652272827,
            "firstEventTimestamp": 1611652287716,
            "lastEventTimestamp": 1612271538268,
            "lastIngestionTime": 1612271538289,
            "logStreamName": "CloudTrail_us-east-1",
            "storedBytes": 0,
            "uploadSequenceToken": "49039859450784908968417870788122674924958823185025535393"
        }
    ]
}
]
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:
Si hay datos disponibles para al menos un grupo de registros (is_success = true): "Successfully returned available log streams for the following log groups in AWS CloudWatch: {group names}".

Si los datos no están disponibles para al menos un grupo de registros (is_success = true): "Action wasn't able to return available log streams for the following log groups in AWS CloudWatch: {group names}".

Si los datos no están disponibles para al menos un grupo de registros (is_success = false): "No se encontraron flujos de registros para los grupos de registros proporcionados en AWS CloudWatch".

La acción debería fallar y detener la ejecución de una guía:
Si se produce un error grave, como credenciales incorrectas, falta de conexión al servidor, etc.: "Error al ejecutar la acción "List Log Streams". Reason: {0}''.format(error.Stacktrace)

General
Tabla del muro de casos

Nombre: "{Group Name}: Log Streams"

Columna:

Nombre

Bytes almacenados

Fecha/hora de creación

Marca de tiempo del último evento

General

Evento de registro de búsqueda

Buscar eventos de registro en AWS CloudWatch

Parámetros

Nombre visible del parámetro> Type> Valor predeterminado> Es obligatorio> Description>
Grupo de registros String N/A Sí Especifica el nombre del grupo de registros en el que quieres buscar eventos.
Transmisiones de registros CSV N/A No Especifica una lista separada por comas de los flujos de registros en los que deseas buscar eventos.
Período DDL

Última hora

Valores posibles:

Última hora

Últimas 6 horas

Últimas 24 horas

Última semana

Último mes

Personalizado

No Especifica un período para la búsqueda. Si se selecciona "Personalizado", también debes establecer una "Hora de inicio".
Hora de inicio String N/A No Especifica la hora de inicio de la búsqueda. Este parámetro es obligatorio si se selecciona "Personalizado" para el parámetro "Período". Formato: ISO 8601
Hora de finalización String N/A No Especifica la hora de finalización de la búsqueda. Formato: ISO 8601. Si no se proporciona nada y se selecciona "Personalizado" para el parámetro "Período", este parámetro usará la hora actual.
Filtro personalizado String N/A No Especifica el filtro personalizado para la búsqueda. Para obtener más información, consulta el portal de documentación.
Cantidad máxima de eventos para devolver Número entero 50 No Especifica cuántos eventos se deben devolver. Valor predeterminado: 50.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos> Value Options>
is_success is_success=False
is_success is_success=True
Resultado de JSON
[
        {
            "eventId": "ID",
            "ingestionTime": 1611652287896,
            "logStreamName": "CloudTrail_us-east-1",
            "message": {
                "eventVersion": "1.08",
                "userIdentity": {
                    "type": "AssumedRole",
                    "principalId": "ID",
                    "arn":"arn:aw
s:sts: : ACCOUNT_ID:assumed-role/AWSServiceRoleForAmazonMacie/AmazonMacieSession","accountId":"ACCOUNT_ID","accessKeyId":"KEY_ID","sessionC
ontext":{"sessionIssuer":{"type":"Role","principalId":"ID","arn":"arn:aws:iam: : ACCOUNT_ID:role/aws-service-role/macie.amazonaws.com/AW
SServiceRoleForAmazonMacie","accountId":"ACCOUNT_ID","userName":"AWSServiceRoleForAmazonMacie"},"webIdFederationData":{},"attributes":{"mfaAuthenticated": "false",
                    "creationDate": "2021-01-26T08:53:52Z"
                }
            },
            "invokedBy": "AWS Internal",
            "eventTime": "2021-01-26T08:53:52Z",
            "eventSource": "s3.amazonaws.com",
            "eventName": "GetBucketLogging",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "AWSInternal",
            "userAgent": "AWS Internal",
            "requestParameters": {
                "logging": "",
                "bucketName": "example",
                "Host": "example.s3.amazonaws.com"
            },
            "responseElements": null,
            "additionalEventData": {
                "SignatureVersion": "SigV4",
                "CipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
                "bytesTransferredIn": 0,
                "AuthenticationMethod": "AuthHeader",
                "x-amz-id-2": "PFM+6pyK/gCPy95gh8dtstgtXftrpHkL8s=",
                "bytesTransferredOut": 289
            },
            "requestID": "8FA919A428BC82D7",
            "eventID": "7eb5dd44-7021-4945-b9be-27f5b1e0d8d0",
            "readOnly": true,
            "resources": [
                {
                    "accountId": "ACCOUNT_ID",
                    "type": "AWS::S3::Bucket",
                    "ARN": "arn:aws:s3:::example"
                }
            ],
            "eventType": "AwsApiCall",
            "managementEvent": true,
            "eventCategory": "Management",
            "recipientAccountId": "ACCOUNT_ID"
        },
        "timestamp": 1611652287716
    }
]
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:
Si hay datos disponibles para (is_success = true): "Successfully executed search in AWS CloudWatch".

Si los datos no están disponibles (is_success = false): "No se encontraron datos para la búsqueda proporcionada".

La acción debería fallar y detener la ejecución de una guía:
Si se produce un error grave, como credenciales incorrectas, falta de conexión al servidor, etc.: "Error al ejecutar la acción "Buscar eventos de registro". Reason: {0}''.format(error.Stacktrace)

General
Tabla del muro de casos

Nombre: "Resultados de la búsqueda"

Columna: Todas las claves disponibles.

General

Establece una política de retención

Establece la política de retención para los grupos de registros en AWS CloudWatch.

Parámetros

Nombre visible del parámetro> Type> Valor predeterminado> Es obligatorio> Description>
Grupo de registros String N/A Sí Especifica el nombre del grupo de registros para el que deseas establecer la política de retención.
Días de retención DDL

1

Valores posibles

1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827 y 3653

Sí Especifica durante cuántos días se deben conservar los datos en el grupo de registros.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos> Value Options>
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:
Si los datos se procesan correctamente (is_success = true): "Successfully set the retention policy for log group {group} in AWS CloudWatch".

La acción debería fallar y detener la ejecución de una guía:
Si se produce un error grave, como credenciales incorrectas, falta de conexión con el servidor, etc.: "Error al ejecutar la acción "Establecer política de retención". Reason: {0}''.format(error.Stacktrace)

General

Quita la política de retención

Quita la política de retención del grupo de registros en AWS CloudWatch.

Parámetros

Nombre visible del parámetro> Type> Valor predeterminado> Es obligatorio> Description>
Grupo de registros String N/A Sí Especifica el nombre del grupo de registros del que deseas quitar la política de retención.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos> Value Options>
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de un playbook:
Si los datos se procesan correctamente (is_success = true): "Successfully removed the retention policy from log group {group} in AWS CloudWatch".

La acción debería fallar y detener la ejecución de una guía:
Si se produce un error grave, como credenciales incorrectas, falta de conexión con el servidor, etc.: "Error al ejecutar la acción "Quitar política de retención". Reason: {0}''.format(error.Stacktrace)

General

Crea un grupo de registros

Crea un grupo de registros en AWS CloudWatch.

Parámetros

Nombre visible del parámetro> Type> Valor predeterminado> Es obligatorio> Description>
Nombre del grupo de registros String N/A Sí Especifica el nombre del grupo de registros nuevo.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos> Value Options>
is_success is_success=False
is_success is_success=True
Resultado de JSON
{
"group_name": "GROUP_NAME"
}
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:
if data success: (is_success = true): "Successfully created a new log group {group} in AWS CloudWatch".

La acción debería fallar y detener la ejecución de una guía:
Si se produce un error grave, como credenciales incorrectas, falta de conexión al servidor, entre otros: "Error executing action "Сreate Log Group". Reason: {0}''.format(error.Stacktrace)

General

Crea una transmisión de registro

Crea un flujo de registros para el grupo de registros en AWS CloudWatch.

Parámetros

Nombre visible del parámetro> Type> Valor predeterminado> Es obligatorio> Description>
Grupo de registros String N/A Sí Especifica el nombre del grupo de registros en el que deseas crear un flujo de registros.
Nombre de la transmisión de registros String N/A Sí Especifica el nombre del nuevo flujo de registros.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos> Value Options>
is_success is_success=False
is_success is_success=True
Resultado de JSON
{
"log_stream": "STREAM_NAME"
}
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:
if data success: (is_success = true): "Successfully created a new log stream in log group {group} in AWS CloudWatch".

La acción debería fallar y detener la ejecución de una guía:
Si se produce un error grave, como credenciales incorrectas, falta de conexión con el servidor, entre otros: "Error executing action "Сreate Log Stream". Reason: {0}''.format(error.Stacktrace)

General

Borra el grupo de registros

Borra un grupo de registros en AWS CloudWatch.

Parámetros

Nombre visible del parámetro> Type> Valor predeterminado> Es obligatorio> Description>
Nombre del grupo de registros String N/A Sí Especifica el nombre del grupo de registros que se debe borrar.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos> Value Options>
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debería fallar ni detener la ejecución de una guía:
Si los datos se borran correctamente (is_success = true): "Successfully deleted log group {group} in AWS CloudWatch".

Si el grupo no existe (is_success=false): "Action wasn't able to delete log group {group} in AWS CloudWatch. Motivo: No se encontró el grupo de registros {group} en AWS CloudWatch".

La acción debería fallar y detener la ejecución de una guía:
Si se produce un error grave, como credenciales incorrectas, falta de conexión con el servidor, etc.: "Error executing action "Delete Log Group". Reason: {0}''.format(error.Stacktrace)

General

Borrar flujo de registros

Borrar un flujo de registros en un grupo de registros en AWS CloudWatch

Parámetros

Nombre visible del parámetro> Type> Valor predeterminado> Es obligatorio> Description>
Nombre del grupo de registros String N/A Sí Especifica el nombre del grupo de registros que contiene el flujo de registros.
Nombre de la transmisión de registros String N/A Sí Especifica el nombre del flujo de registros que se debe borrar.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos> Value Options>
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debería fallar ni detener la ejecución de una guía:
Si los datos se borran correctamente (is_success = true): "Successfully deleted log stream {stream} from log group {group} in AWS CloudWatch".

Si el flujo no existe (is_success=false): "Action wasn't able to delete log stream {stream} from log group {group} in AWS CloudWatch. Motivo: No se encontró el flujo de registros {stream} en el grupo de registros {group} en AWS CloudWatch".

Si el grupo no existe (is_success=false): "Action wasn't able to delete log stream {stream} from log group {group} in AWS CloudWatch. Motivo: No se encontró el grupo de registros {group} en AWS CloudWatch".

La acción debería fallar y detener la ejecución de una guía:
Si se produce un error grave, como credenciales incorrectas, falta de conexión con el servidor, entre otros: "Error al ejecutar la acción "Borrar flujo de registros". Reason: {0}''.format(error.Stacktrace)

General

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.