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:
En la Google Cloud consola, ve a la página Roles de gestión de identidades y accesos.
Haz clic en Crear rol para crear un rol personalizado con los permisos necesarios para la integración.
Para crear un rol personalizado, introduce un título, una descripción y un ID único.
En Fase de lanzamiento del rol, selecciona Disponibilidad general.
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:
En la Google Cloud consola, ve a APIs & Services > Credentials > Create Credentials (APIs y servicios > Credenciales > Crear credenciales).
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:
Haz clic en Restringir clave > Restricciones de API > Restringir clave.
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:
En la Google Cloud consola, ve a IAM y administración > Cuentas de servicio.
Selecciona la cuenta de servicio que usas en la integración de Security Command Center.
Haz clic en la dirección de correo de la cuenta de servicio.
Selecciona Conceder acceso.
En el campo Miembros nuevos, introduce la dirección de correo de la cuenta de servicio.
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
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 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 Si defines este parámetro, configura el parámetro Para suplantar cuentas de servicio con la federación de identidades de cargas de trabajo,
asigna el rol |
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 |
---|---|
|
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:
El valor predeterminado es |
Record Types |
Opcional. El tipo de registro que se va a devolver. Estos son los valores posibles:
El valor predeterminado es |
Output Type |
Opcional. El tipo de salida que se devolverá en el resultado JSON de cada recurso. Estos son los valores posibles:
El valor predeterminado es |
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 |
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 |
---|---|
|
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: |
Mute Status |
Opcional. El estado de silencio del resultado. Los valores posibles son los siguientes:
|
State Status |
Opcional. El estado del resultado. Los valores posibles son los siguientes:
|
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 |
---|---|
|
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 |
Event Field Name |
Obligatorio. Nombre del campo que determina el nombre del evento (subtipo). El valor predeterminado es |
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 Usa el valor predeterminado 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 |
API Root |
Obligatorio. La raíz de la API de la instancia de Security Command Center. El valor predeterminado es |
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
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 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 Si defines este parámetro, configura el parámetro Para suplantar cuentas de servicio con la federación de identidades de cargas de trabajo,
asigna el rol |
Finding Class Filter
|
Opcional. Las clases de hallazgos que debe ingerir el conector. Estos son los valores posibles:
Si no defines ningún valor, el conector ingiere las detecciones de todas las clases. El valor predeterminado es |
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 Estos son los valores posibles:
El valor predeterminado es |
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 El valor predeterminado es |
Max Findings To Fetch
|
Opcional. Número de resultados que se deben procesar en cada iteración del conector. El valor máximo es El valor predeterminado es |
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.