Integra Security Command Center en Google SecOps
Versión de integración: 14.0
En este documento, se explica cómo integrar Security Command Center con Google Security Operations.
Antes de comenzar
Para integrar Security Command Center, debes completar los siguientes pasos:
Crea un rol personalizado de Identity and Access Management (IAM) con los permisos necesarios.
Configura la autenticación con una de las siguientes opciones:
Workload Identity (recomendado)
Crea y configura un rol de IAM
Para crear y configurar un rol de IAM personalizado para la integración, completa los siguientes pasos:
En la consola de Google Cloud , ve a la página Roles de IAM.
Haz clic en Crear rol para crear un rol personalizado con los permisos necesarios para la integración.
Ingresa un Título, una Descripción y un ID único.
Establece la etapa de lanzamiento del rol en
General Availability.Agrega los siguientes permisos al rol creado:
securitycenter.assets.listsecuritycenter.findings.listsecuritycenter.findings.setMutesecuritycenter.findings.setState
Haz clic en Crear.
Configura la autenticación
Para autenticar la integración, usa una cuenta de servicio con una clave JSON o con Workload Identity.
Autenticación con una clave JSON
Este método usa un archivo de claves JSON estático para autenticar la cuenta de servicio.
Crea una cuenta de servicio
Para autenticarte con una clave JSON, primero debes crear una cuenta de servicio:
En la consola de Google Cloud , navega a IAM y administración > Cuentas de servicio.
Selecciona el proyecto en el que deseas crear la cuenta de servicio.
Haz clic en Crear cuenta de servicio.
Si prefieres usar una cuenta de servicio existente, selecciona la cuenta de servicio que deseas usar y genera una clave JSON.
Proporciona un nombre y una descripción, y haz clic en Crear y continuar.
En el paso Otorga a esta cuenta de servicio acceso al proyecto, agrega el rol personalizado que creaste.
Haz clic en Listo para terminar de crear la cuenta.
Genera una clave JSON
Completa los siguientes pasos para generar el archivo de claves JSON requerido:
En la lista de cuentas de servicio, selecciona la dirección de correo electrónico de la cuenta de servicio que creaste (o seleccionaste) para abrir sus detalles.
Haz clic en la pestaña Claves.
Haz clic en Agregar clave > Crear clave nueva.
Selecciona JSON como el tipo de clave y haz clic en Crear.
El archivo de claves JSON se descargará en tu computadora. Almacena este archivo de forma segura y pega todo su contenido en
User's Service Accountcuando configures los parámetros de integración.
Autenticación con Workload Identity (recomendado)
Este método permite que la integración suplante la identidad de una cuenta de servicio sin necesidad de controlar secretos de larga duración.
Para configurar Workload Identity, completa los siguientes pasos:
En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio.
Selecciona una cuenta de servicio existente o crea una nueva.
Otorga el rol personalizado que creaste a la cuenta de servicio.
Otorga el rol de Consumidor de Service Usage a la cuenta de servicio. Este permiso es obligatorio para asociar el uso de la API con el proyecto definido en
Quota Project ID.Otorga el rol Creador de tokens de cuenta de servicio a la cuenta de servicio.
Este permiso permite que la integración genere las credenciales de corta duración necesarias para la autenticación.
Toma nota del correo electrónico del cliente de la cuenta de servicio y usa este valor en Correo electrónico de la identidad para cargas de trabajo cuando configures los parámetros de integración.
Parámetros de integración
La integración de Security Command Center requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
API Root |
Obligatorio. Es la raíz de la API de la instancia de Security Command Center. |
Organization ID |
Es opcional. Es el ID de la organización Google Cloud que se usará para definir el alcance de las consultas de integración de Security Command Center. |
Project ID |
Es opcional. ID del proyecto Google Cloud que se usa para definir el alcance de las consultas de la instancia de Security Command Center. |
Quota Project ID |
Es opcional. Es el ID del proyecto Google Cloud que se usa para la facturación y el uso de la API. |
User's Service Account |
Es opcional. Es el contenido completo del archivo JSON de la clave de la cuenta de servicio. Solo usa este parámetro si te autenticas con una clave JSON. |
Workload Identity Email |
Es opcional. Es la dirección de correo electrónico del cliente de tu cuenta de servicio. Solo usa este parámetro si te autenticas con una identidad para cargas de trabajo. Si configuras este parámetro, también debes configurar |
Verify SSL |
Obligatorio. Si se selecciona esta opción, la integración valida el certificado SSL cuando se conecta al servidor de Security Command Center. Habilitada de forma predeterminada. |
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 de Tu escritorio y Cómo realizar una acción manual.
Obtén detalles del hallazgo
Usa la acción Get Finding Details para recuperar detalles sobre un hallazgo en Security Command Center.
Esta acción no se ejecuta en las entidades de Google SecOps.
Entradas de acción
La acción Get Finding Details requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
Finding Name |
Obligatorio. Nombres completos de los recursos de los hallazgos para devolver detalles, en el formato Este parámetro acepta varios valores como una lista separada por comas. |
Resultados de la acción
La acción Get Finding Details proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | Disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | Disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Tabla del muro 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 formato JSON que se recibe cuando se usa la acción Get Finding Details:
{
{
"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 de salida | Descripción del mensaje |
|---|---|
|
La acción se completó correctamente. |
Error executing action "Get Finding Details". Reason: ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se indica el valor del resultado del script cuando se usa la acción Get Finding Details:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
true o false |
Enumera las vulnerabilidades de los activos
Usa la acción List Asset Vulnerabilities para enumerar las vulnerabilidades relacionadas con las entidades en Security Command Center.
Esta acción no se ejecuta en las entidades de Google SecOps.
Entradas de acción
La acción List Asset Vulnerabilities requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
Asset Resource Names |
Obligatorio. Es una lista separada por comas de los identificadores únicos (nombres de recursos completos) de los recursos sobre los que se recuperarán los datos. |
Timeframe |
Es opcional. Es el período durante el que se buscarán las vulnerabilidades o los errores de configuración. Los valores posibles son los siguientes:
El valor predeterminado es |
Record Types |
Es opcional. Es el tipo de registro que se devolverá. Los valores posibles son los siguientes:
El valor predeterminado es |
Output Type |
Es opcional. Es el tipo de resultado que se devolverá en el resultado JSON para cada recurso. Los valores posibles son los siguientes:
El valor predeterminado es |
Max Records To Return |
Es opcional. Es la cantidad máxima de registros que se devolverán para cada tipo de registro. El valor predeterminado es |
Resultados de la acción
La acción List Asset Vulnerabilities proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | Disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | Disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Tabla del muro de casos
La acción List Asset Vulnerabilities puede devolver las siguientes tablas:
Título de la tabla: Vulnerabilidades de ASSET_ID
Columnas de la tabla:
- Categoría
- Descripción
- Gravedad
- Hora del evento
- CVE
Título de la tabla: ASSET_ID 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 el resultado JSON que se recibe cuando se usa la acción List Asset Vulnerabilities:
{
."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 de salida | Descripción del mensaje |
|---|---|
|
La acción se completó correctamente. |
Error executing action "List Asset Vulnerabilities". Reason:
ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se indica el valor del resultado del script cuando se usa la acción List Asset Vulnerabilities:
| 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 Security Command Center.
Esta acción no se ejecuta en las entidades de Google SecOps.
Entradas de acción
Ninguno
Resultados de la acción
La acción Ping proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al 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 puede mostrar los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
Successfully connected to the Security Command Center server
with the provided connection parameters! |
La acción se completó correctamente. |
Failed to connect to the Security Command Center server! Error
is ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se indica el valor 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 |
Actualizar resultado
Usa la acción Update Finding para actualizar un hallazgo existente en Security Command Center.
Esta acción no se ejecuta en las entidades de Google SecOps.
Entradas de acción
La acción Update Finding requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
Finding Name |
Obligatorio. Nombres completos de los recursos de los hallazgos para devolver detalles, en el formato Este parámetro acepta varios valores como una lista separada por comas. |
Mute Status |
Es opcional. Es el estado de silencio del hallazgo. Los valores posibles son los siguientes:
|
State Status |
Es opcional. Es el estado del hallazgo. Los valores posibles son los siguientes:
|
Resultados de la acción
La acción Update Finding proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al 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 Update Finding puede devolver los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
|
La acción se completó correctamente. |
Error executing action "Update Finding". Reason: ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se indica el valor del resultado de la secuencia de comandos cuando se usa la acción Update Finding:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
true o false |
Conectores
Para obtener más información sobre cómo configurar conectores en Google SecOps, consulta Ingiere tus datos (conectores).
Security Command Center: Findings Connector
Usa el conector de resultados de Security Command Center para recuperar información sobre los resultados de Security Command Center.
Este conector admite el filtrado de hallazgos por categoría con la lista dinámica.
Entradas del conector
El conector de Security Command Center - Findings requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
Product Field Name |
Obligatorio. Es el nombre del campo en el que se almacena el nombre del producto. El nombre del producto afecta principalmente la asignación. Para optimizar y mejorar el proceso de asignación del conector, el valor predeterminado se resuelve en un valor de resguardo al que se hace referencia desde el código. De forma predeterminada, cualquier entrada no válida para este parámetro se resuelve en un valor de resguardo. El valor predeterminado es |
Event Field Name |
Obligatorio. Es el nombre del campo que determina el nombre del evento (subtipo). |
Environment Field Name |
Es opcional. Nombre del campo en el que se almacena el nombre del entorno. Si falta el campo environment, el conector usa el valor predeterminado. El valor predeterminado es |
Environment Regex Pattern |
Es opcional. Es un patrón de expresión regular que se ejecutará en el valor que se encuentra 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. |
PythonProcessTime |
Obligatorio. Es el límite de tiempo de espera, en segundos, para el proceso de Python que ejecuta la secuencia de comandos actual. El valor predeterminado es |
API Root |
Obligatorio. Es la raíz de la API de la instancia de Security Command Center. |
Organization ID |
Es opcional. ID de la organización Google Cloud que se usará |
Project ID |
Es opcional. ID del proyecto Google Cloud que se usará. |
Quota Project ID |
Es opcional. ID del proyecto Google Cloud que se usará. |
User's Service Account |
Obligatorio. Es el contenido completo del archivo JSON de la clave de la cuenta de servicio. Solo usa este parámetro si te autenticas con una clave JSON. |
Workload Identity Email |
Es opcional. Es la dirección de correo electrónico del cliente de tu cuenta de servicio. Solo usa este parámetro si te autenticas con una identidad para cargas de trabajo. Si configuras este parámetro, también debes configurar |
Finding Class Filter |
Es opcional. Es una lista separada por comas de los tipos de hallazgos de seguridad que se incluirán cuando se transfieran datos desde la fuente. Los valores posibles son los siguientes:
Si no se proporciona ningún valor, se incorporan los hallazgos de todas las clases. |
Lowest Severity To Fetch |
Es opcional. Es la gravedad más baja de las alertas que se recuperarán. Si no configuras este parámetro, el conector ingerirá alertas con todos los niveles de gravedad. Los valores posibles son los siguientes:
Si a un hallazgo con gravedad indefinida se le asigna el nivel Si no se proporciona ningún valor, se incorporan todos los tipos de gravedad. |
Fallback Severity |
Es opcional. Es el nivel de gravedad que se asignará a cualquier hallazgo de seguridad que se ingiera y que no tenga una calificación de gravedad definida o reconocible de la fuente. Los valores posibles son los siguientes:
El valor predeterminado es |
Max Hours Backwards |
Es opcional. Cantidad de horas previas al momento actual para recuperar los hallazgos. Este parámetro se puede aplicar a la iteración inicial del conector después de que lo habilites por primera vez o al valor de resguardo para la marca de tiempo de un conector vencido. El valor máximo es El valor predeterminado es |
Max Findings To Fetch |
Es opcional. Es la cantidad de hallazgos que se procesarán 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 usa la lista dinámica como una lista de bloqueo. Está inhabilitado de forma predeterminada. |
Verify SSL |
Obligatorio. Si se selecciona esta opción, la integración valida el certificado SSL cuando se conecta al servidor de Security Command Center. Está inhabilitado de forma predeterminada. |
Proxy Server Address |
Es opcional. Es la dirección del servidor proxy que se usará. |
Proxy Username |
Es opcional. Nombre de usuario del proxy con el que se realizará la autenticación. |
Proxy Password |
Es opcional. Es la contraseña del proxy con la que se realizará la autenticación. |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.