Integra AWS CloudWatch con las SecOps de Google

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

Versión de integración: 6.0

Casos de uso

Acciones activas: Buscar en los registros, crear grupos o transmisiones de registros, borrar grupos o transmisiones de registros, actualizar 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> Tipo> Default Value> Is Mandatory> Description>
ID de clave de acceso de AWS String N/A ID de la clave de acceso de AWS que se usará en la integración.
Clave secreta de AWS Contraseña N/A Clave secreta de AWS que se usará en la integración.
Región predeterminada de AWS String N/A Región predeterminada de AWS para usar en la integración, por ejemplo, us-west-2.

Si quieres obtener instrucciones para configurar una integración en Google SecOps, consulta Configura integraciones.

Si es necesario, puedes hacer 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 Compatibilidad con varias instancias.

Acciones

Para obtener más información sobre las acciones, consulta Cómo responder a las acciones pendientes desde Tu escritorio y Cómo realizar una acción manual.

Ping

Prueba la conectividad con AWS CloudWatch.

Ejecutar en

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> Opciones de valor>
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de un playbook:
Si se ejecuta correctamente: "Se conectó correctamente al servidor de AWS CloudWatch con los parámetros de conexión proporcionados".

La acción debe fallar y detener la ejecución de una guía:
Si no se realiza correctamente: "No se pudo conectar al servidor de AWS CloudWatch. Error is {0}".format(exception.stacktrace)

General

Enumera los grupos de registros

Enumera los grupos de registros disponibles en AWS CloudWatch.

Parámetros

Nombre visible del parámetro> Tipo> Default Value> Is Mandatory> Description>
Cantidad máxima de grupos que se pueden devolver Número entero 50 No Especifica la cantidad de grupos que se devolverán. El valor predeterminado es 50.

Ejecutar en

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> Opciones de valor>
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 o 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): "Se devolvieron correctamente los grupos de registros disponibles en AWS CloudWatch".

Si no hay datos disponibles (is_success = true): "No se encontraron grupos de registros en AWS CloudWatch".

La acción debe fallar y detener la ejecución de un playbook:
si hay un error fatal, como credenciales incorrectas, falta de conexión con el servidor, etc.: "Error al ejecutar la acción "List Log Groups". Reason: {0}''.format(error.Stacktrace)

General
Tabla del muro de casos

Nombre: "Log Groups"

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> Tipo> Default Value> Is Mandatory> Description>
Grupos de registros CSV N/A Especifica una lista separada por comas de los nombres de los grupos para los que deseas recuperar transmisiones de registros.
Order By DDL

Nombre del flujo de registro

Valores posibles:

Nombre de la transmisión de registro

Hora del último evento

No Especifica cómo se deben ordenar los flujos 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.

Ejecutar en

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> Opciones de valor>
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 o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de un playbook:
Si hay datos disponibles para al menos un grupo de registros (is_success = true): "Se devolvieron correctamente los flujos de registros disponibles para los siguientes grupos de registros en AWS CloudWatch: {nombres de grupos}".

Si los datos no están disponibles para al menos un grupo de registros (is_success = true): "La acción no pudo devolver los flujos de registros disponibles para los siguientes grupos de registros en AWS CloudWatch: {nombres de grupos}".

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

La acción debe fallar y detener la ejecución de un playbook:
si se produce un error irrecuperable, como credenciales incorrectas, falta de conexión con el servidor, etc.: "Error al ejecutar la acción "List Log Streams". Reason: {0}''.format(error.Stacktrace)

General
Tabla del muro de casos

Nombre: "{Nombre del grupo}: Registros de transmisión"

Columna:

Nombre

Bytes almacenados

Fecha/hora de creación

Marca de tiempo del último evento

General

Evento de registro de búsqueda

Busca eventos de registro en AWS CloudWatch.

Parámetros

Nombre visible del parámetro> Tipo> Default Value> Is Mandatory> Description>
Grupo de registros String N/A Especifica el nombre del grupo de registros en el que deseas buscar eventos.
Registra transmisiones 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 la cantidad de eventos que se devolverán. El valor predeterminado es 50.

Ejecutar en

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> Opciones de valor>
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 o 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 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 debe fallar y detener la ejecución de un playbook:
Si se produce un error fatal, como credenciales incorrectas, falta de conexión con el servidor o algún otro problema: "Error al ejecutar la acción "Search Log Events". Reason: {0}''.format(error.Stacktrace)

General
Tabla del muro de casos

Nombre: "Resultados de la búsqueda"

Columna: Todas las claves disponibles.

General

Establece la 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> Tipo> Default Value> Is Mandatory> Description>
Grupo de registros String N/A 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

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

Ejecutar en

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> Opciones de valor>
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de un playbook:
if data success: (is_success = true): "Se estableció correctamente la política de retención para el grupo de registros {group} en AWS CloudWatch".

La acción debe fallar y detener la ejecución de una guía:
si se produce un error irrecuperable, 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

Quitar 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> Tipo> Default Value> Is Mandatory> Description>
Grupo de registros String N/A Especifica el nombre del grupo de registros del que deseas quitar la política de retención.

Ejecutar en

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> Opciones de valor>
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de un playbook:
if data success: (is_success = true): "Se quitó correctamente la política de retención del grupo de registros {group} en AWS CloudWatch".

La acción debe fallar y detener la ejecución de la guía:
Si se produce un error fatal, como credenciales incorrectas, falta de conexión con el servidor, etc.: "Error al ejecutar la acción "Remove Retention Policy". 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> Tipo> Default Value> Is Mandatory> Description>
Nombre del grupo de registros String N/A Especifica el nombre del nuevo grupo de registros.

Ejecutar en

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> Opciones de valor>
is_success is_success=False
is_success is_success=True
Resultado de JSON
{
"group_name": "GROUP_NAME"
}
Muro de casos
Tipo de resultado Valor o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de un playbook:
if data success: (is_success = true): "Se creó correctamente un nuevo grupo de registros {group} en AWS CloudWatch".

La acción debe fallar y detener la ejecución de una guía:
si hay un error fatal, como credenciales incorrectas, falta de conexión con el servidor, etc.: "Error al ejecutar la acción "Crear grupo de registros". Reason: {0}''.format(error.Stacktrace)

General

Crea un flujo de registros

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

Parámetros

Nombre visible del parámetro> Tipo> Default Value> Is Mandatory> Description>
Grupo de registros String N/A Especifica el nombre del grupo de registros en el que deseas crear un flujo de registros.
Nombre de la transmisión de registro String N/A Especifica el nombre del nuevo flujo de registros.

Ejecutar en

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> Opciones de valor>
is_success is_success=False
is_success is_success=True
Resultado de JSON
{
"log_stream": "STREAM_NAME"
}
Muro de casos
Tipo de resultado Valor o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de un playbook:
if data success: (is_success = true): "Se creó correctamente un nuevo flujo de registros en el grupo de registros {group} en AWS CloudWatch".

La acción debe fallar y detener la ejecución de un playbook:
si se produce un error irrecuperable, como credenciales incorrectas, falta de conexión con el servidor o algún otro problema: "Error al ejecutar la acción "Crear flujo de registro". Reason: {0}''.format(error.Stacktrace)

General

Borrar grupo de registros

Borra un grupo de registros en AWS CloudWatch.

Parámetros

Nombre visible del parámetro> Tipo> Default Value> Is Mandatory> Description>
Nombre del grupo de registros String N/A Especifica el nombre del grupo de registros que se debe borrar.

Ejecutar en

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> Opciones de valor>
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de un playbook:
if data success: (is_success = true): "Se borró correctamente el grupo de registros {group} en AWS CloudWatch".

Si el grupo no existe (is_success=false): "No se pudo borrar el grupo de registros {group} en AWS CloudWatch. Motivo: No se encontró el grupo de registros {group} en AWS CloudWatch".

La acción debe fallar y detener la ejecución de un playbook:
si se produce un error fatal, como credenciales incorrectas, falta de conexión con el servidor, etc.: "Error al ejecutar la acción "Borrar grupo de registros". Reason: {0}''.format(error.Stacktrace)

General

Borrar registro de transmisión

Borra un flujo de registros en un grupo de registros en AWS CloudWatch.

Parámetros

Nombre visible del parámetro> Tipo> Default Value> Is Mandatory> Description>
Nombre del grupo de registros String N/A Especifica el nombre del grupo de registros que contiene el flujo de registros.
Nombre de la transmisión de registro String N/A Especifica el nombre del flujo de registros que se debe borrar.

Ejecutar en

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> Opciones de valor>
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de un playbook:
if data success: (is_success = true): "Se borró correctamente el flujo de registros {stream} del grupo de registros {group} en AWS CloudWatch".

Si no existe el flujo (is_success=false): "No se pudo borrar el flujo de registros {stream} del grupo de registros {group} en 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): "La acción no pudo borrar el flujo de registros {stream} del grupo de registros {group} en AWS CloudWatch. Motivo: No se encontró el grupo de registros {group} en AWS CloudWatch".

La acción debe fallar y detener la ejecución de un playbook:
si hay un error irrecuperable, como credenciales incorrectas, falta de conexión con el servidor o algún otro problema: "Error al ejecutar la acción "Borrar flujo de registro". Reason: {0}''.format(error.Stacktrace)

General

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