Integra Logging con Google SecOps

En este documento, se explica cómo integrar Cloud Logging con Google Security Operations.

Casos de uso

La integración de Logging usa las capacidades de Google SecOps para admitir los siguientes casos de uso:

  • Recuperación de registros forenses: Ejecuta consultas avanzadas para encontrar eventos de seguridad específicos en tu Google Cloud entorno durante una investigación.

  • Búsqueda de amenazas automatizada: Usa libros de jugadas para consultar periódicamente los registros en busca de indicadores de compromiso (IoC) conocidos o patrones sospechosos.

Antes de comenzar

Antes de configurar la integración de Logging en Google SecOps, completa los siguientes pasos de requisitos previos:

  1. Crea una cuenta de servicio y otórgale los roles necesarios.

  2. Elige y configura uno de los siguientes métodos de autenticación:

    • Opción 1: Workload Identity (recomendado): Este método usa tokens de acceso temporales y de corta duración a través de la suplantación de cuentas de servicio, por lo que no necesitas almacenar secretos.

    • Opción 2: Clave JSON de la cuenta de servicio: Este método se basa en un archivo de claves secretas estático y de larga duración. Usa este método solo si la autenticación de Workload Identity no está disponible en tu entorno.

Crea una cuenta de servicio

Para crear una cuenta de servicio para la integración, completa los siguientes pasos:

  1. En la Google Cloud consola de, ve a IAM y administración > Cuentas de servicio.

    Ir a Cuentas de servicio

  2. Haz clic en addCrear cuenta de servicio.

  3. Proporciona un nombre (por ejemplo, "Integración de Logging de SecOps") y una descripción, y haz clic en Crear y continuar.

  4. En el paso Otorga acceso al proyecto a esta cuenta de servicio, agrega el rol de Visualizador de registros (roles/logging.viewer).

  5. Haz clic en Listo. La dirección de correo electrónico de esta cuenta de servicio se usa durante la configuración.

Configura las credenciales de Workload Identity

Elige este método o el método de clave JSON para autenticar la integración. El uso de Workload Identity es el enfoque recomendado porque usa

tokens de acceso temporales y de corta duración mediante la identidad temporal como cuenta de servicio.

Identifica la identidad de instancia única

Otorgar permiso a tu instancia de Google SecOps para suplantar tu cuenta de servicio es el paso final para proteger el acceso.

  1. En Google SecOps, ve a Content Hub > Integraciones de respuesta.

  2. Busca y selecciona la integración de Cloud Logging y, luego, ingresa el correo electrónico de tu cuenta de servicio en Correo electrónico de Workload Identity.

  3. Ingresa un ID del proyecto válido en ID de proyecto de cuota.

  4. Haz clic en Guardar > Probar. Se espera que la prueba falle.

  5. Haz clic en el botón close_small junto a Probar y busca el correo electrónico de identidad que comience con gke-init-python@... o soar-python@....

    Copia esta dirección de correo electrónico única y pégala en Workload Identity Email durante la configuración de la integración.

Autoriza la identidad de instancia en Google Cloud

La autorización de la identidad única recuperada permite la identidad temporal como cuenta de servicio, lo que permite que la plataforma actúe en tu nombre sin claves estáticas.

  1. En la Google Cloud consola de, ve a IAM y administración > Cuentas de servicio.

    Ir a Cuentas de servicio

  2. Selecciona la cuenta de servicio de destino y navega a Permisos > Otorgar acceso.

  3. Pega la dirección de correo electrónico única en el campo Entidades nuevas.

  4. Asigna el rol de Creador de tokens de cuenta de servicio (roles/iam.serviceAccountTokenCreator).

Otorga acceso al proyecto de cuota

La autenticación con Workload Identity requiere un Quota Project ID para hacer un seguimiento del uso y la facturación de la API.

  1. En la Google Cloud consola de, ve a IAM y administración > IAM y selecciona el proyecto que se usa para el ID de proyecto de cuota.

    Ir a IAM

  2. Busca tu cuenta de servicio y haz clic en Editar principal.

  3. Haz clic en Agregar otro rol y selecciona Consumidor de Service Usage (roles/serviceusage.serviceUsageConsumer).

  4. Haz clic en Guardar.

Configura una clave JSON

Los archivos de claves secretas estáticos y de larga duración requieren administración manual. Este método solo se debe usar si las credenciales de Workload Identity no están disponibles.

  1. En la Google Cloud consola de, ve a IAM y administración > Cuentas de servicio y selecciona tu cuenta de servicio.

    Ir a Cuentas de servicio

  2. Ve a la pestaña Claves y haz clic en Agregar clave > Crear clave nueva.

  3. Selecciona JSON como el tipo de clave y haz clic en Crear.

  4. Copia todo el contenido del archivo descargado y pégalo en User's Service Account durante la configuración.

Parámetros de integración

La integración de Logging requiere los siguientes parámetros:

Parámetro Descripción
API Root

Opcional.

Es la URL base de la API de Cloud Logging (por ejemplo, https://logging.googleapis.com).

User's Service Account

Opcional.

Es el contenido completo del archivo JSON de claves de la cuenta de servicio.

Usa este parámetro solo si te autenticas con una clave JSON.

Workload Identity Email

Opcional.

Es la dirección de correo electrónico del cliente de tu cuenta de servicio.

Usa este parámetro solo si te autenticas con credenciales de Workload Identity credentials.

Project ID

Opcional.

Es el ID del proyecto que se usará en la integración.

Si no se proporciona ningún valor, la integración recupera el ID de las credenciales de la cuenta de servicio.

Quota Project ID

Opcional.

Es el ID del proyecto que se usa para el uso y la facturación de la API.

Este parámetro es obligatorio cuando se realiza la autenticación con credenciales de Workload Identity credentials.

Organization ID

Opcional.

Es el ID de la organización que se usa para el alcance de las consultas.

Verify SSL

Opcional.

Si se selecciona, la integración valida el certificado SSL cuando se conecta al servidor de Logging.

Habilitados de forma predeterminada.

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

Puedes realizar cambios más adelante, si es necesario. Después de configurar una instancia de integración, puedes usarla en libros de jugadas. 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 de Tu escritorio y Realiza una acción manual.

Ejecutar consulta

Usa la acción Ejecutar consulta para ejecutar consultas personalizadas en Logging.

Esta acción no se ejecuta en entidades de Google SecOps.

Entradas de acción

La acción Ejecutar consulta requiere los siguientes parámetros:

Parámetro Descripción
Project ID Opcional

Es el ID del proyecto que se usará en la integración.

Si no estableces un valor para este parámetro, la integración recupera el ID del proyecto de tu Google Cloud cuenta de servicio.

Organization ID Opcional

Es el ID de organización que se usará en la integración.

Si no estableces un valor para este parámetro, la integración recupera el ID del proyecto de tu Google Cloud cuenta de servicio.

Query Obligatorio

Es una consulta para encontrar los registros.

Time Frame Opcional

Es un período para recuperar los resultados.

Si seleccionas Custom, también configura el Start Time parámetro.

Los valores posibles son los siguientes:

  • Last Hour
  • Last 6 Hours
  • Last 24 Hours
  • Last Week
  • Last Month
  • Custom
El valor predeterminado es Last Hour.
Start Time Opcional

Es la hora de inicio para recuperar los resultados.

Este parámetro es obligatorio si seleccionaste la Custom opción para el Time Frame parámetro.

Para configurar este parámetro, usa el formato ISO 8601.

End Time Opcional

Es la hora de finalización para recuperar los resultados.

Si no estableces un valor para este parámetro y seleccionas la Custom opción para el Time Frame parámetro, la acción usa la hora actual como hora de finalización.

Para configurar este parámetro, usa el formato ISO 8601.

Max Results To Return Opcional

Es la cantidad máxima de resultados que se mostrarán.

El valor predeterminado es 50.

Resultados de la acción

La acción Ejecutar consulta proporciona los siguientes resultados:

Tipo de resultado de la acción Disponibilidad
Adjunto del muro de casos No disponible
Vínculo del muro de casos No disponible
Tabla del muro de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de secuencia de comandos Disponible
Resultado de JSON

En el siguiente ejemplo, se describe el resultado de JSON que se recibe cuando se usa la acción Ejecutar consulta:

[{
    "protoPayload": {
        "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
        "authenticationInfo": {
            "principalEmail": "system:clouddns"
        },
        "authorizationInfo": [
            {
                "granted": true,
                "permission": "io.k8s.coordination.v1.leases.update",
                "resource": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock"
            }
        ],
        "methodName": "io.k8s.coordination.v1.leases.update",
        "requestMetadata": {
            "callerIp": "192.0.2.6",
            "callerSuppliedUserAgent": "clouddns-leader-election"
        },
        "resourceName": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock",
        "serviceName": "k8s.io",
        "status": {
            "code": 0
        }
    },
    "insertId": "ID",
    "resource": {
        "type": "k8s_cluster",
        "labels": {
            "cluster_name": "CLUSTER_NAME",
            "project_id": "PROJECT_ID",
            "location": "us-central1"
        }
    },
    "timestamp": "2024-09-18T09:46:38.647428Z",
    "labels": {
        "authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"system:clouddns\" of ClusterRole \"system:clouddns-role\" to User \"system:clouddns\"",
        "authorization.k8s.io/decision": "allow"
    },
    "logName": "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity",
    "operation": {
        "id": "ID",
        "producer": "k8s.io",
        "first": true,
        "last": true
    },
    "receiveTimestamp": "2024-09-18T09:46:39.063264993Z"
}]
Mensajes de salida

La acción Ejecutar consulta proporciona los siguientes mensajes de salida:

Mensaje de salida Descripción del mensaje

Successfully executed query "QUERY" in Cloud Logging.

No results were found for the provided query.

La acción se realizó correctamente.
Error executing action "Execute Query". Reason: ERROR_REASON

La acción falló.

Verifica la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de secuencia de comandos

En la siguiente tabla, se describen los valores del resultado de la secuencia de comandos cuando se usa la acción Ejecutar consulta:

Nombre del resultado de la secuencia de comandos Valor
is_success True o False

Ping

Usa la acción Ping para probar la conectividad a Logging.

Esta acción no se ejecuta en entidades de Google SecOps.

Entradas de acción

Ninguno

Resultados de la acción

La acción Ping proporciona los siguientes resultados:

Tipo de resultado de la acción Disponibilidad
Adjunto del muro de casos No disponible
Vínculo del muro de casos No disponible
Tabla del muro de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON No disponible
Mensajes de salida Disponible
Resultado de secuencia de comandos Disponible
Mensajes de salida

La acción Ping proporciona los siguientes mensajes de salida:

Mensaje de salida Descripción del mensaje
Successfully connected to the Cloud Logging server with the provided connection parameters! La acción se realizó correctamente.
Failed to connect to the Cloud Logging server! Error is ERROR_REASON

La acción falló.

Verifica la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de secuencia de comandos

En la siguiente tabla, se describen los valores del resultado de la secuencia de comandos cuando se usa la acción Ping:

Nombre del resultado de la secuencia de comandos Valor
is_success True o False

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