Integrar Security Command Center con Google SecOps

En este documento se explica cómo integrar Security Command Center con Google Security Operations (Google SecOps).

Versión de integración: 13.0

Antes de empezar

Para usar la integración, necesitas un rol de Gestión de Identidades y Accesos (IAM) personalizado y una Google Cloud cuenta de servicio. Puedes usar una cuenta de servicio que ya tengas o crear otra.

Crear y configurar un rol de gestión de identidades y accesos

Para crear y configurar un rol de gestión de identidades y accesos personalizado para la integración, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Roles de gestión de identidades y accesos.

    Ir a Roles

  2. Haz clic en Crear rol para crear un rol personalizado con los permisos necesarios para la integración.

  3. Para crear un rol personalizado, introduce un título, una descripción y un ID único.

  4. En Fase de lanzamiento del rol, selecciona Disponibilidad general.

  5. Añade los siguientes permisos al rol creado:

    • securitycenter.assets.list
    • securitycenter.findings.list
    • securitycenter.findings.setMute
    • securitycenter.findings.setState

Crear y configurar una clave de API

Para crear la clave de API, sigue estos pasos:

  1. En la Google Cloud consola, ve a APIs & Services > Credentials > Create Credentials (APIs y servicios > Credenciales > Crear credenciales).

  2. Selecciona Clave de API. Aparecerá un cuadro de diálogo con una clave de API generada. Copia la clave de API y guárdala de forma segura.

Para configurar la restricción de la API en la clave de API, sigue estos pasos:

  1. Haz clic en Restringir clave > Restricciones de API > Restringir clave.

  2. Selecciona API de Security Command Center en la lista de APIs, configura las restricciones aplicables y haz clic en Guardar.

Conceder acceso a la clave de API

Para conceder acceso a Security Command Center a tu clave de API, sigue estos pasos:

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

  2. Selecciona la cuenta de servicio que usas en la integración de Security Command Center.

  3. Haz clic en la dirección de correo de la cuenta de servicio.

  4. Selecciona Conceder acceso.

  5. En el campo Miembros nuevos, introduce la dirección de correo de la cuenta de servicio.

  6. En Centro de Seguridad, selecciona el rol Security Center Findings Editor y haz clic en Guardar.

Parámetros de integración

La integración con Security Command Center requiere los siguientes parámetros:

Parámetro Descripción
API Root

Obligatorio.

La raíz de la API de la instancia de Security Command Center.

Organization ID

Opcional.

El ID de la organización que se usará en la integración de Security Command Center.

Project ID

Opcional.

El ID del proyecto de la instancia de Security Command Center.

Quota Project ID

Opcional.

El Google Cloud ID de proyecto que usas para las APIs Google Cloud y la facturación. Para usar este parámetro, debe conceder el rol Service Usage Consumer a su cuenta de servicio.

Si no asignas ningún valor a este parámetro, la integración recuperará el ID del proyecto de tu Google Cloud cuenta de servicio.

User's Service Account

Obligatorio.

El contenido del archivo JSON de la clave de la cuenta de servicio.

Puede configurar este parámetro o el parámetro Workload Identity Email.

Para configurar este parámetro, proporcione el contenido completo del archivo JSON de la clave de la cuenta de servicio que descargó al crear una cuenta de servicio.

Workload Identity Email

Opcional.

La dirección de correo del cliente de tu cuenta de servicio.

Puede configurar este parámetro o el parámetro User's Service Account.

Si defines este parámetro, configura el parámetro Quota Project ID.

Para suplantar cuentas de servicio con la federación de identidades de cargas de trabajo, asigna el rol Service Account Token Creator a tu cuenta de servicio. Para obtener más información sobre las identidades de carga de trabajo y cómo trabajar con ellas, consulta Identidades de cargas de trabajo.

Verify SSL

Obligatorio.

Si se selecciona esta opción, la integración valida el certificado SSL al conectarse al servidor de Security Command Center.

Esta opción está seleccionada de forma predeterminada.

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

Si es necesario, puedes hacer cambios más adelante. Después de configurar una instancia de integración, puedes usarla en los cuadernos de estrategias. Para obtener más información sobre cómo configurar y admitir varias instancias, consulta Admitir varias instancias.

Acciones

Para obtener más información sobre las acciones, consulta Responder a acciones pendientes desde Tu espacio de trabajo y Realizar una acción manual.

Get Finding Details

Usa la acción Get Finding Details (Obtener detalles de la detección) para consultar los detalles de una detección en Security Command Center.

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

Entradas de acciones

La acción Get Finding Details requiere los siguientes parámetros:

Parámetro Descripción
Finding Name

Obligatorio.

Buscando nombres para devolver detalles. Este parámetro acepta varios valores en una lista separada por comas.

El ejemplo para buscar nombres es el siguiente:

organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID

Resultados de la acción

La acción Get Finding Details (Obtener detalles de la detección) proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos Disponible
Tabla de enriquecimiento No disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Tabla del panel de casos

La acción Get Finding Details puede devolver la siguiente tabla:

Título de la tabla: Detalles del hallazgo

Columnas de la tabla:

  • Categoría
  • Estado
  • Gravedad
  • Tipo
Resultado de JSON

En el siguiente ejemplo se muestra el resultado en JSON que se obtiene al usar la acción Get Finding Details (Obtener detalles de la detección):

{
   {
      "finding_name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
      "finding": {
        "name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
        "parent": "organizations/ORGANIZATION_ID/sources/2678067631293752869",
        "resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
        "state": "ACTIVE",
        "category": "Discovery: Service Account Self-Investigation",
        "sourceProperties": {
          "sourceId": {
            "projectNumber": "PROJECT_ID",
            "customerOrganizationNumber": "ORGANIZATION_ID"
          },
          "detectionCategory": {
            "technique": "discovery",
            "indicator": "audit_log",
            "ruleName": "iam_anomalous_behavior",
            "subRuleName": "service_account_gets_own_iam_policy"
          },
          "detectionPriority": "LOW",
          "affectedResources": [
            {
              "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID"
            }
          ],
          "evidence": [
            {
              "sourceLogId": {
                "projectId": "PROJECT_ID",
                "resourceContainer": "projects/PROJECT_ID",
                "timestamp": {
                  "seconds": "1622678907",
                  "nanos": 448368000
                },
                "insertId": "ID"
              }
            }
          ],
          "properties": {
            "serviceAccountGetsOwnIamPolicy": {
              "principalEmail": "prisma-cloud-serv@PROJECT_ID.iam.gserviceaccount.com",
              "projectId": "PROJECT_ID",
              "callerIp": "192.0.2.41",
              "callerUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)",
              "rawUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)"
            }
          },
          "contextUris": {
            "mitreUri": {
              "displayName": "Permission Groups Discovery: Cloud Groups",
              "url": "https://attack.mitre.org/techniques/ID/003/"
            },
            "cloudLoggingQueryUri": [
              {
                "displayName": "Cloud Logging Query Link",
                "url": "https://console.cloud.google.com/logs/query;query=timestamp%3D%222021-06-03T00:08:27.448368Z%22%0AinsertId%3D%22ID%22%0Aresource.labels.project_id%3D%22PROJECT_ID%22?project=PROJECT_ID"
              }
            ]
          }
        },
        "securityMarks": {
          "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
        },
        "eventTime": "2021-06-03T00:08:27.448Z",
        "createTime": "2021-06-03T00:08:31.074Z",
        "severity": "LOW",
        "canonicalName": "projects/PROJECT_ID/sources/SOURCE_ID/findings/FINDING_ID",
        "mute": "UNDEFINED",
        "findingClass": "THREAT",
        "mitreAttack": {
          "primaryTactic": "DISCOVERY",
          "primaryTechniques": [
            "PERMISSION_GROUPS_DISCOVERY",
            "CLOUD_GROUPS"
          ]
        }
      },
      "resource": {
        "name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
        "projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
        "projectDisplayName": "PROJECT_ID",
        "parentName": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID",
        "parentDisplayName": "example.net",
        "type": "google.cloud.resourcemanager.Project",
        "displayName": "PROJECT_ID"
      }
    }
}
Mensajes de salida

La acción Get Finding Details puede devolver los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

Successfully returned details about the following findings in Security Command Center: FINDING_NAMES.

Action wasn't able to find the following findings in Security Command Center: FINDING_NAMES.

None of the provided findings were found in Security Command Center.

La acción se ha realizado correctamente.
Error executing action "Get Finding Details". Reason: ERROR_REASON

No se ha podido realizar la acción.

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

Resultado de la secuencia de comandos

En la siguiente tabla se muestra el valor de la salida del resultado de la secuencia de comandos cuando se usa la acción Obtener detalles de la detección:

Nombre del resultado del script Valor
is_success True o False

List Asset Vulnerabilities

Usa la acción List Asset Vulnerabilities para enumerar las vulnerabilidades relacionadas con las entidades de Security Command Center.

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

Entradas de acciones

La acción List Asset Vulnerabilities requiere los siguientes parámetros:

Parámetro Descripción
Asset Resource Names

Obligatorio.

Nombres de recursos de los recursos de los que se van a devolver datos. Este parámetro acepta varios valores en una lista separada por comas.

Timeframe

Opcional.

Periodo durante el que se buscarán las vulnerabilidades o los errores de configuración.

Estos son los valores posibles:

  • Last Week
  • Last Month
  • Last Year
  • All Time

El valor predeterminado es All Time.

Record Types

Opcional.

El tipo de registro que se va a devolver.

Estos son los valores posibles:

  • Vulnerabilities Misconfigurations
  • Vulnerabilities + Misconfigurations

El valor predeterminado es Vulnerabilities + Misconfigurations.

Output Type

Opcional.

El tipo de salida que se devolverá en el resultado JSON de cada recurso.

Estos son los valores posibles:

  • Statistics
  • Data
  • Statistics + Data

El valor predeterminado es Statistics.

Max Records To Return

Opcional.

El número máximo de registros que se deben devolver por cada tipo de registro.

El valor predeterminado es 100.

Resultados de la acción

La acción List Asset Vulnerabilities (Lista de vulnerabilidades de recursos) proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos Disponible
Tabla de enriquecimiento No disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Tabla del panel de casos

La acción List Asset Vulnerabilities puede devolver las siguientes tablas:

Título de la tabla: ASSET_ID Vulnerabilidades

Columnas de la tabla:

  • Categoría
  • Descripción
  • Gravedad
  • Hora del evento
  • CVE

Título de la tabla: ASSET_ID Misconfigurations (Configuraciones incorrectas)

Columnas de la tabla:

  • Categoría
  • Descripción
  • Gravedad
  • Hora del evento
  • Recomendación
Resultado de JSON

En el siguiente ejemplo se muestra la salida de resultados JSON recibida al usar la acción List Asset Vulnerabilities (Listar vulnerabilidades de recursos):

{
   ."siemplify_asset_display_name":[1] [2]  ""
"vulnerabilities": {
        "statistics": {
            "critical": 1,
            "high": 1,
            "medium": 1,
            "low": 1,
            "undefined": 1
        },
        "data": [
            {
                "category": "CATEGORY"
                "description": "DESCRIPTION"
                "cve_id": "CVE_ID"
                "event_time": "EVENT_TIME"
                "related_references": "RELATED_REFERENCES"
                "severity": "SEVERITY"
            }
        ]
    },
    "misconfigurations": {
        "statistics": {
            "critical": 1,
            "high": 1,
            "medium": 1,
            "low": 1,
            "undefined": 1
        },
        "data": [
            {
                "category": "CATEGORY"
                "description": "DESCRIPTION"
                "recommendation": "RECOMMENDATION"
                "event_time": "EVENT_TIME"
                "severity": "SEVERITY"
            }
        ]
    },
}
Mensajes de salida

La acción List Asset Vulnerabilities puede devolver los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

Successfully returned related vulnerabilities and misconfigurations to the following entities in Security Command Center: ASSET_IDS.

No vulnerabilities and misconfigurations were found to the following entities in Security Command Center: ASSET_IDS.

No vulnerabilities and misconfigurations were found for the provided assets in Security Command Center.

La acción se ha realizado correctamente.
Error executing action "List Asset Vulnerabilities". Reason: ERROR_REASON

No se ha podido realizar la acción.

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

Resultado de la secuencia de comandos

En la siguiente tabla se muestra el valor de la salida del resultado de la secuencia de comandos al usar la acción List Asset Vulnerabilities (Listar vulnerabilidades de recursos):

Nombre del resultado del script Valor
is_success True o False

Ping

Usa la acción Ping para probar la conectividad con Security Command Center.

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

Entradas de acciones

Ninguno

Resultados de la acción

La acción Ping proporciona las siguientes salidas:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON No disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Mensajes de salida

La acción Ping puede devolver los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje
Successfully connected to the Security Command Center server with the provided connection parameters! La acción se ha realizado correctamente.
Failed to connect to the Security Command Center server! Error is ERROR_REASON

No se ha podido realizar la acción.

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

Resultado de la secuencia de comandos

En la siguiente tabla se muestra el valor de la salida del resultado de la secuencia de comandos al usar la acción Ping:

Nombre del resultado del script Valor
is_success True o False

Actualizar resultado

Usa la acción Actualizar resultado para actualizar un resultado en Security Command Center.

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

Entradas de acciones

La acción Update finding requiere los siguientes parámetros:

Parámetro Descripción
Finding Name

Obligatorio.

Buscando nombres para actualizar. Este parámetro acepta varios valores en una lista separada por comas.

El ejemplo para buscar nombres es el siguiente: organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID

Mute Status

Opcional.

El estado de silencio del resultado.

Los valores posibles son los siguientes:

  • Select One
  • Mute
  • Unmute
State Status

Opcional.

El estado del resultado.

Los valores posibles son los siguientes:

  • Select One
  • Active
  • Inactive

Resultados de la acción

La acción Actualizar detección proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON No disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Mensajes de salida

La acción Update finding puede devolver los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

Successfully updated the following findings in Security Command Center: FINDING_NAMES

Action wasn't able to find the following findings in Security Command Center: FINDING_NAMES

None of the provided findings were found in Security Command Center.

La acción se ha realizado correctamente.
Error executing action "Update finding". Reason: ERROR_REASON

No se ha podido realizar la acción.

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

Resultado de la secuencia de comandos

En la siguiente tabla se indica el valor de la salida del resultado de la secuencia de comandos cuando se usa la acción Actualizar detección:

Nombre del resultado del script Valor
is_success True o False

Conectores

Para obtener más información sobre cómo configurar conectores en Google SecOps, consulta el artículo Ingerir datos (conectores).

Google Security Command Center - Findings Connector

Usa el conector de resultados de Google Security Command Center para obtener información sobre los resultados de Security Command Center.

El filtro de lista dinámica funciona con categorías.

Entradas de conectores

El conector de resultados de Google Security Command Center requiere los siguientes parámetros:

Parámetro Descripción
Product Field Name

Obligatorio.

Nombre del campo en el que se almacena el nombre del producto.

El nombre del producto influye principalmente en la asignación. Para optimizar y mejorar el proceso de asignación del conector, el valor predeterminado se resuelve en un valor de reserva al que se hace referencia desde el código. Cualquier entrada no válida de este parámetro se resuelve en un valor de reserva de forma predeterminada.

El valor predeterminado es Product Name.

Event Field Name

Obligatorio.

Nombre del campo que determina el nombre del evento (subtipo).

El valor predeterminado es category.

Environment Field Name

Opcional.

Nombre del campo en el que se almacena el nombre del entorno.

Si falta el campo de entorno, el conector usa el valor predeterminado.

Environment Regex Pattern

Opcional.

Patrón de expresión regular que se va a ejecutar en el valor encontrado en el campo Environment Field Name. Este parámetro te permite manipular el campo de entorno mediante la lógica de expresiones regulares.

Usa el valor predeterminado .* para obtener el valor sin formato Environment Field Name necesario.

Si el patrón de expresión regular es nulo o está vacío, o si el valor del entorno es nulo, el resultado final del entorno es el entorno predeterminado.

Script Timeout (Seconds)

Obligatorio.

El límite de tiempo de espera, en segundos, del proceso de Python que ejecuta la secuencia de comandos actual.

El valor predeterminado es 180.

API Root

Obligatorio.

La raíz de la API de la instancia de Security Command Center.

El valor predeterminado es https://securitycenter.googleapis.com.

Organization ID

Opcional.

El ID de una organización que se usará en la integración de Security Command Center.

Project ID

Opcional.

El ID del proyecto de la instancia de Security Command Center.

Quota Project ID

Opcional.

El Google Cloud ID de proyecto que usas para las APIs Google Cloud y la facturación. Para usar este parámetro, debe conceder el rol Service Usage Consumer a su cuenta de servicio.

Si no asignas ningún valor a este parámetro, la integración recuperará el ID del proyecto de tu Google Cloud cuenta de servicio.

User's Service Account

Obligatorio.

El contenido del archivo JSON de la clave de la cuenta de servicio.

Puede configurar este parámetro o el parámetro Workload Identity Email.

Para configurar este parámetro, proporciona el contenido completo del archivo JSON de la clave de la cuenta de servicio que descargaste al crear una cuenta de servicio.

Workload Identity Email

Opcional.

La dirección de correo del cliente de tu cuenta de servicio.

Puede configurar este parámetro o el parámetro User's Service Account.

Si defines este parámetro, configura el parámetro Quota Project ID.

Para suplantar cuentas de servicio con la federación de identidades de cargas de trabajo, asigna el rol Service Account Token Creator a tu cuenta de servicio. Para obtener más información sobre las identidades de carga de trabajo y cómo trabajar con ellas, consulta Identidades de cargas de trabajo.

Finding Class Filter

Opcional.

Las clases de hallazgos que debe ingerir el conector.

Estos son los valores posibles:

  • Threat
  • Vulnerability
  • Misconfiguration
  • SCC_Error
  • Observation

Si no defines ningún valor, el conector ingiere las detecciones de todas las clases.

El valor predeterminado es Threat,Vulnerability,Misconfiguration,SCC_Error,Observation.

Lowest Severity To Fetch

Opcional.

La gravedad más baja de las alertas que se van a obtener.

Si no configura este parámetro, el conector ingiere alertas con todos los niveles de gravedad.

El conector trata las alertas con gravedad indefinida como si tuvieran una gravedad Medium.

Estos son los valores posibles:

  • Low
  • Medium
  • High
  • Critical

El valor predeterminado es High.

Max Hours Backwards

Opcional.

Número de horas anteriores a la hora actual para obtener los resultados.

Este parámetro se puede aplicar a la iteración inicial del conector después de habilitarlo por primera vez o al valor de reserva de una marca de tiempo de conector caducada.

El valor máximo es 24.

El valor predeterminado es 1.

Max Findings To Fetch

Opcional.

Número de resultados que se deben procesar en cada iteración del conector.

El valor máximo es 1000.

El valor predeterminado es 100.

Use dynamic list as a blacklist

Obligatorio.

Si se selecciona esta opción, el conector usará la lista dinámica como lista de bloqueo.

No está seleccionada de forma predeterminada.

Verify SSL

Obligatorio.

Si se selecciona esta opción, la integración valida el certificado SSL al conectarse al servidor de Security Command Center.

No está seleccionada de forma predeterminada.

Proxy Server Address

Opcional.

Dirección del servidor proxy que se va a usar.

Proxy Username

Opcional.

Nombre de usuario del proxy para autenticarse.

Proxy Password

Opcional.

La contraseña del proxy para autenticarte.

Reglas de conectores

El conector de resultados de Google Security Command Center admite proxies.

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.