Usa módulos personalizados con Security Health Analytics

En esta página, se explica cómo crear, ver, actualizar y borrar módulos personalizados para Security Health Analytics con la consola de Google Cloud o Google Cloud CLI.

Para obtener más información introductoria, consulta Descripción general de los módulos personalizados para las estadísticas del estado de la seguridad.

Antes de comenzar

Antes de poder trabajar con módulos personalizados, debes cumplir con los siguientes requisitos previos:

  • Necesitas el nivel Premium de Security Command Center. Más información sobre los niveles de Security Command Center, consulta Descripción general de la activación de Security Command Center.
  • Se debe habilitar Security Health Analytics. Para obtener información sobre cómo habilitar Security Health Analytics, consulta Habilita o inhabilita un servicio integrado.
  • Se debe otorgar a tu cuenta de usuario uno o más roles de Identity and Access Management (IAM) que contengan los permisos necesarios. Para obtener más información, consulta Permisos de IAM obligatorios.
  • Si deseas escribir tus propios módulos personalizados y subirlos a Security Command Center con los comandos gcloud, necesitas Google Cloud CLI. Para obtener información sobre la instalación del gcloud CLI, consulta Instala gcloud CLI.
  • Si la API de Security Command Center aún no está habilitada, debes habilitarla antes de que puedas usar módulos personalizados para Security Health Analytics. Puedes habilita la API de Security Command Center en la Página Biblioteca de APIs en la consola de Google Cloud.
  • Para comprender los límites de uso de Security Health Analytics, consulta Cuotas de módulos personalizados

Permisos de IAM obligatorios

Para trabajar con módulos personalizados, necesitas los siguientes permisos de Identity and Access Management (IAM):

Permiso Función
securitycenter.securityhealthanalyticscustommodules.create
securitycenter.securityhealthanalyticscustommodules.update
securitycenter.securityhealthanalyticscustommodules.delete
roles/securitycenter.settingsEditor
roles/securitycenter.admin
securitycenter.securityhealthanalyticscustommodules.get
securitycenter.securityhealthanalyticscustommodules.list
roles/securitycenter.settingsViewer
roles/securitycenter.adminViewer
roles/securitycenter.admin
securitycenter.securityhealthanalyticscustommodules.test roles/securitycenter.securityHealthAnalyticsCustomModulesTester
roles/securitycenter.adminViewer
roles/securitycenter.adminEditor
roles/securitycenter.admin

Para obtener más información sobre los permisos y roles de IAM y cómo otorgarlos, consulta Otorga un rol de IAM mediante la consola de Google Cloud.

Crea un módulo personalizado

En esta sección, se explica cómo crear módulos personalizados con la console de Google Cloud o la CLI de gcloud.

Para probar tu módulo personalizado como un paso del proceso de creación, debes para preparar las definiciones de recursos de prueba en un archivo YAML. Para obtener instrucciones, consulta Crea recursos de prueba en un archivo YAML.

Para crear un módulo personalizado, selecciona el método que deseas usar. las siguientes pestañas:

Consola de Google Cloud

Para crear un módulo personalizado en la consola de Google Cloud, completa los siguientes pasos:

  1. Ve a la página Configuración de Security Command Center en la consola de Google Cloud.

    Ir a la configuración

  2. Si se te solicita, selecciona la organización, la carpeta o el proyecto en el que debes crear el módulo personalizado.

  3. En la tarjeta Security Health Analytics, haz clic en Administrar configuración.

  4. Haz clic en la pestaña Módulos.

  5. Haz clic en Crear módulo. Se abrirá la página Crear módulo para las estadísticas del estado de la seguridad.

  6. En el panel Configurar módulo, define el nombre visible, los recursos que se analizarán y la lógica de detección:

    1. En el campo Module name, especifica un nombre para el módulo. El nombre debe tener entre 1 y 128 caracteres, comenzar con una letra minúscula y contener solo caracteres alfanuméricos o guiones bajos. Este nombre se convierte en la categoría de hallazgo de los hallazgos que produce este detector. No puedes cambiar el nombre después de crear el módulo.

    2. En Agregar tipo de recurso, especifica de uno a cinco tipos de recursos. para escanear. No puedes especificar un tipo de recurso más de una vez.

      Para obtener una lista de los tipos de recursos admitidos, consulta Tipos de recursos admitidos.

    3. En el editor de expresiones, escribe expresiones en CEL. para ejecutar comprobaciones booleanas en una o más propiedades del recurso que especificaste en el paso anterior. Para activar un hallazgo, la expresión debe resolverse en TRUE. Por ejemplo, la siguiente expresión activa un hallazgo si un recurso CryptoKey tiene definido un período de rotación y este es superior a 2,592,000 segundos (30 días):

      has(resource.rotationPeriod) && (resource.rotationPeriod > duration('2592000s'))
      

      Para obtener más información, consulta lo siguiente:

    4. Haz clic en Siguiente. Se abrirá el panel Definir detalles de hallazgo.

  7. En el panel Define los detalles de los resultados, describe el problema que detecta el módulo personalizado, incluida su gravedad, qué es, cómo solucionarlo y cualquier dato que desees incluir en los resultados como propiedades de origen personalizadas:

    1. En el campo Gravedad, especifica la gravedad del problema. Puedes especificar Low, Medium, High o Critical. Medium es la configuración predeterminada.

      Para obtener información sobre los niveles de gravedad, consulta Clasificaciones de gravedad para los resultados.

    2. En el campo Descripción del hallazgo, explica el problema que que detecta el módulo personalizado. Esta explicación aparece en cada hallazgo para ayudar a los equipos de seguridad a comprender y abordar los el problema detectado.

    3. En el campo Cómo encontrar los próximos pasos, explica los pasos que que el equipo de seguridad puede tomar para solucionar o abordar de algún otro modo el problema detectado.

      Los pasos se muestran con cada instancia de hallazgo. Incluye información específica medidas que el equipo de seguridad puede tomar para abordar el problema, lo más rápido posible.

    4. Opcional: En el campo Propiedades de resultados personalizadas, especifica hasta 10 pares nombre-valor para definir las propiedades fuente personalizadas devolver con cada instancia de un hallazgo. La información se devuelve como propiedades fuente en el hallazgo JSON y se muestra En la pestaña Propiedades fuente de los detalles de los resultados de la Consola de Google Cloud Especifica el texto o los valores de la propiedad como pares clave-valor:

      • En el campo Nombre de la propiedad, especifica un nombre para la propiedad de fuente personalizada. El nombre debe cumplir con las siguientes reglas:
        • El nombre debe comenzar con una letra minúscula.
        • El nombre debe contener solo caracteres alfanuméricos o guiones bajos.
        • El nombre debe tener entre 1 y 128 caracteres de longitud.
        • Cada nombre debe ser único entre las otras propiedades de origen.
      • En el campo Valor de la propiedad, especifica uno de los siguientes valores de 1,024 caracteres o menos:
        • Es una cadena de texto encerrada entre comillas. Las comillas se incluyen en el límite de 1,024 caracteres. Por ejemplo: "This string provides additional useful information."
        • Cualquier propiedad del recurso que se analiza. Por ejemplo, si revisas el recurso CryptoKey, puedes especificar resource.rotationPeriod. Se muestra el valor de la propiedad rotationPeriod.
    5. Haz clic en Siguiente. Se abrirá el panel Habilitar módulo.

  8. Opcional: Usa el menú desplegable del panel Habilitar módulo para Especifica si el módulo personalizado se habilita o inhabilita en el momento de la creación. De forma predeterminada, los módulos personalizados se habilitan cuando se crean. Si especificas Inhabilitar; puedes habilitar el módulo más adelante en la pestaña Módulos en en la página de configuración de Security Health Analytics.

  9. Haz clic en Siguiente. Se abrirá el panel Módulo de prueba.

  10. Opcional: Antes de crear tu módulo personalizado, te recomendamos que lo pruebes.

    Para probar un módulo personalizado, sigue estos pasos:

    1. Crea un archivo YAML que contenga definiciones de recursos de prueba para los recursos que verifica tu módulo personalizado.

      Para obtener información sobre cómo crear un archivo de datos de prueba, consulta Crea recursos de prueba en un archivo YAML.

    2. En Subir el archivo YAML, haz clic en Explorar para subir el archivo YAML que contiene las definiciones de recursos de prueba. La prueba se inicia automáticamente cuando se sube el archivo.

    3. En Vista previa de los resultados de la prueba, verifica los resultados.

      • Si hay errores de sintaxis o de otro tipo en el archivo YAML, se mostrará un mensaje de error flotante cerca de la parte inferior de la página del navegador.
      • Si la prueba se realiza correctamente, muestra la siguiente información:

        • Es el nombre visible del módulo personalizado.
        • Es el nombre arbitrario que especificaste en la propiedad resource en el archivo de datos de prueba.
        • La organización, la carpeta o el proyecto en el que se encuentra el módulo se creó o se creará.

    Los resultados de las pruebas no se almacenan ni se escriben en Security Command Center.

    Para obtener más información, consulta Prueba módulos personalizados.

  11. Haz clic en Crear. Ya te devolviste a la página Módulos y deberías ver el módulo que creaste. con el estado Enabled

Los módulos personalizados nuevos no están disponibles de inmediato para que Security Health Analytics los use en los análisis. Para obtener más información, consulta Latencia de detección.

gcloud CLI

Para crear un módulo personalizado con comandos gcloud, primero debes codificar la definición del módulo personalizado en un archivo YAML que incluya expresiones CEL para la lógica de detección y las propiedades de salida.

Una vez que se complete la definición, la subirás a Security Command Center con los comandos de gcloud CLI.

  1. Codificar una definición de módulo personalizado en un archivo YAML según el instrucciones en Codifica un módulo personalizado para Security Health Analytics.
  2. Guarda el archivo YAML en una ubicación a la que tu instancia de gcloud CLI pueda acceder.
  3. Sube la definición personalizada a Security Command Center:

    gcloud scc custom-modules sha create \
        PARENT_FLAG=PARENT_ID \
        --display-name="MODULE_DISPLAY_NAME" \
        --enablement-state="ENABLEMENT_STATE" \
        --custom-config-from-file=MODULE_FILE_NAME.yaml
    

    Reemplaza lo siguiente:

    • PARENT_FLAG: Es el nivel en el que creas el módulo personalizado, ya sea --organization, --folder o --project.
    • PARENT_ID: Es el ID de la organización, la carpeta o proyecto en el que estás creando el módulo personalizado.
    • ENABLEMENT_STATE: enabled o disabled.
    • MODULE_DISPLAY_NAME: Es el nombre de la categoría de hallazgo que deseas mostrar cuando el módulo personalizado muestra un hallazgo. El nombre debe tener entre 1 y 128 caracteres, comenzar con una letra minúscula y contener solo caracteres alfanuméricos o guiones bajos.
    • MODULE_FILE_NAME: Es la ruta de acceso y el nombre del archivo YAML que contiene la definición del módulo personalizado.

Latencia de detección

Después de crear o actualizar la definición de un módulo personalizado, puede haber un retraso de hasta varias horas antes de que el módulo personalizado nuevo o actualizado esté disponible para usarse en análisis.

La creación o modificación de un módulo personalizado no activa un análisis. Después de que un módulo personalizado está disponible para su uso, Security Health Analytics no empezar a usar los módulos personalizados hasta que se realice el primer análisis un cambio en la configuración del recurso de destino activa análisis en tiempo real.

Para obtener más información sobre los tipos de análisis de las estadísticas del estado de la seguridad, consulta Tipos de análisis de las estadísticas del estado de la seguridad.

Actualiza un módulo personalizado

Puedes actualizar la mayoría de las propiedades de los módulos personalizados de las estadísticas del estado de la seguridad.

No se pueden cambiar las siguientes propiedades de un módulo personalizado:

  • El nombre visible.
  • El ID del módulo personalizado.
  • El nombre completo del recurso del módulo personalizado.

Cuando actualizas un módulo personalizado, los resultados que emitió previamente no se actualizan al mismo tiempo. Si los cambios en el módulo resultado en cambios a los hallazgos emitidos, estos reflejarán solo cambia después del próximo análisis por lotes o en tiempo real de Security Health Analytics.

Para modificar un módulo personalizado, puedes usar la consola de Google Cloud o con gcloud CLI. Haz clic en una de las siguientes pestañas para obtener instrucciones.

Consola de Google Cloud

Para actualizar un módulo personalizado existente en la consola de Google Cloud, sigue estos pasos: sigue estos pasos:

  1. Ve a la página Configuración de Security Command Center en la consola de Google Cloud.

    Ir a la configuración

  2. En el selector de proyectos, selecciona la organización, la carpeta o el proyecto. en la que se creó originalmente el módulo personalizado. No puedes editar un módulo personalizado en ningún otro lugar.

  3. En la tarjeta Security Health Analytics, haz clic en Administrar configuración.

  4. Selecciona la pestaña Módulos. Se muestran todos los módulos de detección de Security Health Analytics.

  5. Usa el campo de filtro en la parte superior de la lista de módulos o desplázate para encontrar el módulo personalizado que debes modificar.

  6. En el lado derecho de la fila de tu módulo personalizado, haz clic en el ícono de menú de acciones, .

  7. En el menú Acción, haz clic en el ícono Editar. (). El Se abrirá la página Ver módulo, en la que se mostrará la pestaña Configurar módulo.

  8. Edita los campos personalizados del módulo de cada pestaña en Ver módulo. página según sea necesario.

  9. Opcional: Antes de guardar las actualizaciones, te recomendamos que las pruebes.

    Para probar un módulo personalizado, sigue estos pasos:

    1. Crea un archivo YAML que contenga definiciones de recursos de prueba para los recursos que verifica tu módulo personalizado.

      Para obtener información sobre cómo crear un archivo de datos de prueba, consulta Crea recursos de prueba en un archivo YAML.

    2. En Subir el archivo YAML, haz clic en Explorar para subir el archivo YAML. que contiene las definiciones de recursos de prueba. Comienza la prueba automáticamente cuando se sube el archivo.

    3. En Vista previa de los resultados de la prueba, verifica los resultados.

      • Si hay errores de sintaxis o de otro tipo en el archivo YAML, se mostrará un mensaje de error flotante cerca de la parte inferior de la página del navegador.
      • Si la prueba se realiza correctamente, muestra la siguiente información:

        • Es el nombre visible del módulo personalizado.
        • Es el nombre arbitrario que especificaste en la propiedad resource en el archivo de datos de prueba.
        • La organización, la carpeta o el proyecto en el que se encuentra el módulo se creó o se creará.

    Los resultados de las pruebas no se almacenan ni se escriben en Security Command Center.

    Para obtener más información, consulta Cómo probar módulos personalizados.

  10. Al final de la página, haz clic en Guardar. Los cambios se aplican al módulo personalizado.

gcloud CLI

Para actualizar un módulo personalizado con la CLI de gcloud, primero debes editar la definición YAML del módulo personalizado y, luego, usar los comandos gcloud para actualizar el módulo personalizado en las estadísticas del estado de la seguridad.

  1. Edita la definición del módulo personalizado. Para más información sobre cómo programar una definición de módulo personalizada, consulta Codificación de un módulo personalizado para Security Health Analytics.

  2. Guarda el archivo YAML editado en una ubicación a la que puedan acceder gcloud CLI.

  3. Para actualizar el módulo personalizado en Security Health Analytics, ejecuta el siguiente comando: :

    gcloud scc custom-modules sha update MODULE_ID \
       PARENT_FLAG=PARENT_ID \
       --enablement-state="ENABLED" \
       --custom-config-from-file=MODULE_FILE_NAME.yaml
    

    Reemplaza lo siguiente:

    • MODULE_ID: Es el ID o nombre completo del recurso de el módulo personalizado.
    • PARENT_FLAG: Es el nivel en el que se creó el módulo personalizado, ya sea --organization, --folder o --project.
    • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto en el que se creó el módulo personalizado.
    • MODULE_FILE_NAME: Es la ruta de acceso y el nombre del archivo YAML que contiene la definición del módulo personalizado.

Cómo ver un módulo personalizado

Selecciona una pestaña para obtener información sobre cómo ver una definición de módulo personalizado.

Consola de Google Cloud

Para ver los módulos personalizados en la consola de Google Cloud, sigue estos pasos:

  1. Ve a la página Security Health Analytics en Security Command Center. configuración.

    Ir a la configuración

  2. Haz clic en la pestaña Módulos. Se abrirá el panel Módulos.

  3. Si es necesario, usa el campo de filtro en la parte superior de la lista de módulos para encontrar el módulo personalizado que necesitas modificar.

  4. Para ver los detalles de la definición del módulo personalizado, haz clic en el ícono del menú de acciones, , a la derecha de la fila del módulo personalizado.

  5. En el menú de acciones, haz clic en el ícono Editar, . El módulo View se abrirá la página y se mostrará la pestaña Configure module.

  6. Haz clic en las pestañas de la página Ver módulo para ver todos los campos de la definición del módulo personalizado.

gcloud CLI

Para ver los detalles de un módulo personalizado, ingresa el siguiente comando:

gcloud scc custom-modules sha get MODULE_ID \
      PARENT_FLAG=PARENT_ID

Reemplaza lo siguiente:

  • MODULE_ID: Es el ID o nombre completo del recurso de el módulo personalizado.
  • PARENT_FLAG: Es el nivel en el que se creó el módulo personalizado, ya sea --organization, --folder o --project.
  • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto en el que se creó el módulo personalizado.

Cómo enumerar módulos personalizados

Selecciona una pestaña para obtener información sobre cómo mostrar una lista de módulos personalizados.

Consola de Google Cloud

  1. Ve a la página Security Health Analytics en la configuración de Security Command Center.

    Ir a la configuración

  2. Haz clic en la pestaña Módulos. Se abrirá el panel Modules.

  3. Haz clic en el campo de filtro en la parte superior de la lista de módulos para mostrar la lista de tipos de filtro.

  4. Selecciona Tipo y, luego, ingresa Custom. Las listas de módulos se actualizan mostrar solo los módulos personalizados.

gcloud CLI

Para ver una lista de los módulos personalizados, ingresa siguiente comando:

gcloud scc custom-modules sha list \
    PARENT_FLAG=PARENT_ID

Reemplaza lo siguiente:

  • PARENT_FLAG: Es el nivel en el que se creó el módulo personalizado, ya sea --organization, --folder o --project.
  • PARENT_ID: Es el ID de la organización, la carpeta o proyecto en el que se creó el módulo personalizado.

Cómo borrar un módulo personalizado

Puedes borrar un módulo personalizado de la organización, la carpeta o el proyecto en en la que se creó, o en una organización o carpeta superior. No puedes borrar un módulo personalizado de una carpeta o proyecto que lo hereda.

Para aprender a borrar un módulo personalizado, selecciona una de las siguientes pestañas.

Consola de Google Cloud

  1. Ve a la página Configuración de Security Command Center en la consola de Google Cloud.

    Ir a la configuración

  2. Si se te solicita, selecciona tu organización, carpeta o proyecto.

  3. En la tarjeta Security Health Analytics, haz clic en Administrar configuración.

  4. Selecciona la pestaña Módulos. Se muestran todos los módulos de detección de Security Health Analytics.

  5. Usa el campo de filtro en la parte superior de la lista de módulos o desplázate para encontrar el módulo personalizado que debes modificar.

  6. En el lado derecho de la fila de tu módulo personalizado, haz clic en el botón Acción ícono de menú, .

  7. En el menú Acción, haz clic en Borrar. La sección Borrar módulo personalizado se abrirá el cuadro de diálogo.

  8. En el cuadro de diálogo, haz clic en Borrar.

gcloud CLI

Para borrar un módulo personalizado, ingresa el siguiente comando:

gcloud scc custom-modules sha delete MODULE_ID \
    PARENT_FLAG=PARENT_ID

Reemplaza lo siguiente:

  • MODULE_ID: Es el ID o nombre completo del recurso de el módulo personalizado.
  • PARENT_FLAG: Es el nivel en el que se creó el módulo personalizado, ya sea --organization, --folder o --project.
  • PARENT_ID: Es el ID de la organización, la carpeta o proyecto en el que se creó el módulo personalizado.

Los resultados de los módulos personalizados borrados se marcan como inactivos por Security Health Analytics en el siguiente análisis por lotes.

Revisa los resultados

Los hallazgos que generan los módulos personalizados se pueden ver en la La consola de Google Cloud, la consola de operaciones de seguridad (para clientes empresariales) o la API de Security Command Center.

Console

Consola de Google Cloud

  1. En la consola de Google Cloud, ve a la página Resultados de Security Command Center.

    Ir a hallazgos

  2. Selecciona tu organización o proyecto de Google Cloud.
  3. En la sección Filtros rápidos, en la subsección Nombre visible de la fuente, selecciona Estadísticas del estado de la seguridad personalizadas. Los resultados de la búsqueda de hallazgos se actualizan para mostrar solo los hallazgos de esta fuente.
  4. Para ver los detalles de un hallazgo específico, haz clic en el nombre del hallazgo en Categoría. El del hallazgo, se abre el panel de detalles y se muestra la pestaña Resumen (Summary).
  5. En la pestaña Resumen, revisa los detalles del hallazgo, incluida la información sobre lo que se detectó, el recurso afectado y, si está disponible, los pasos que puedes seguir para solucionar el problema.
  6. Opcional: Para ver la definición JSON completa del hallazgo, haz clic en la pestaña JSON.

Consola de operaciones de seguridad

  1. En la consola de Operaciones de seguridad, ve a la página Hallazgos.
    https://CUSTOMER_SUBDOMAIN.backstory.chronicle.security/posture/findings
    

    Reemplaza CUSTOMER_SUBDOMAIN por tu identificador específico del cliente.

  2. En la sección Agregaciones, haz clic para expandir la subsección Nombre visible de la fuente.
  3. Selecciona Security Health Analytics Custom. Los resultados de la búsqueda de hallazgos se actualizan para mostrar solo los hallazgos de esta fuente.
  4. Para ver los detalles de un resultado específico, haz clic en el nombre del resultado en Categoría. El del hallazgo, se abre el panel de detalles y se muestra la pestaña Resumen (Summary).
  5. En la pestaña Resumen, revisa los detalles del hallazgo, incluida la información sobre lo que se detectó, el recurso afectado y, si está disponible, los pasos que puedes seguir para solucionar el problema.
  6. Para ver la definición completa de JSON del resultado, haz clic en la pestaña JSON (opcional).

gcloud CLI

Para ver los resultados, haz lo siguiente:

  1. Abre una ventana de terminal.
  2. Para obtener el ID de la fuente de las estadísticas del estado de seguridad, ejecuta el siguiente comando:

    gcloud scc sources describe organizations/ORGANIZATION_ID \
    --source-display-name='Security Health Analytics Custom'
    

    El resultado debería mostrar un resultado como el siguiente. En el ejemplo, SOURCE_ID es un ID asignado por el servidor para las fuentes de seguridad.

    description: ...
    displayName: Security Health Analytics Custom
    name: organizations/ORGANIZATION_ID/sources/SOURCE_ID
    
  3. Para enumerar todos los resultados generados por tus módulos personalizados, ejecuta el siguiente comando:

    gcloud scc findings list ORGANIZATION_ID --source=SOURCE_ID
    
  4. Para enumerar los resultados de un módulo personalizado específico, ejecuta el siguiente comando:

    gcloud scc findings list ORGANIZATION_ID --source=SOURCE_ID --filter="category=\"MODULE_NAME\""
    

¿Qué sigue?

Puedes administrar los resultados que generan los módulos personalizados como todos los resultados de Security Command Center. Para obtener instrucciones, consulta la siguiente información: