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 de Security Health Analytics.

Antes de comenzar

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

  • Necesitas el nivel Premium de Security Command Center. Para obtener más información sobre los niveles de Security Command Center, consulta Descripción general de la activación de Security Command Center.
  • Se deben habilitar las Estadísticas del estado de seguridad. Si quieres obtener información para habilitar Security Health Analytics, consulta Habilita o inhabilita un servicio integrado.
  • Tu cuenta de usuario debe tener una o más funciones de Identity and Access Management (IAM) que contengan los permisos necesarios. Para obtener más información, consulta Permisos de IAM necesarios.
  • Si quieres escribir tus propios módulos personalizados y subirlos a Security Command Center mediante comandos de gcloud, necesitas Google Cloud CLI. Para obtener más información sobre cómo instalar gcloud CLI, consulta Instala la CLI de gcloud.
  • Si la API de Security Command Center aún no está habilitada, debes habilitarla antes de poder usar módulos personalizados para las estadísticas del estado de la seguridad. Puedes habilitar la API de Security Command Center en la página Biblioteca de API de la consola de Google Cloud.
  • Para comprender los límites de uso de Security Health Analytics, consulta Cuotas de módulos personalizadas.

Permisos de IAM obligatorios

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

Permiso Rol
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.securityAnalyticsCustomModulesTester
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.

Cómo crear un módulo personalizado

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

Para probar el módulo personalizado como un paso del proceso de creación, debes preparar las definiciones de los 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 de 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 necesitas crear el módulo personalizado.

  3. En la tarjeta Security Health Analytics, haz clic en Manage Settings.

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

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

  6. En el panel Configure module, 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. 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 los resultados 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 analizar. 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 último paso. Para activar un resultado, la expresión debe resolverse como TRUE. Por ejemplo, la siguiente expresión activa un resultado si un recurso CryptoKey tiene un período de rotación definido 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 resultados.

  7. En el panel Definir detalles de resultados, describe el problema que detecta el módulo personalizado, incluida su gravedad, cuál es el problema, cómo solucionarlo y cualquier dato que desees incluir en los resultados como propiedades fuente personalizadas:

    1. En el campo Gravedad, especifica la gravedad del problema. Puedes especificar Low, Medium, High o Critical. Medium es el valor predeterminado.

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

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

    3. En el campo Cómo encontrar los siguientes pasos, explica los pasos que puede seguir el equipo de seguridad para solucionar el problema detectado.

      Los pasos se mostrarán con cada instancia de resultado. Incluye pasos específicos que el equipo de seguridad pueda seguir para abordar el problema lo más rápido posible.

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

      • En el campo Nombre de la propiedad, especifica un nombre para la propiedad 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.
        • Cada nombre debe ser único entre las demás propiedades fuente.
      • En el campo Valor de la propiedad, especifica uno de los siguientes valores en 1,024 caracteres o menos:
        • 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 verificas 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 especificar si el módulo personalizado se habilitará o inhabilitará cuando se cree. 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 de 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 un 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 los recursos de prueba. La prueba se inicia automáticamente cuando se sube el archivo.

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

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

        • El nombre visible del módulo personalizado.
        • 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 creó o se creará el módulo personalizado.

    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.

  11. Haz clic en Crear. Volverás a la página Modules 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 las estadísticas del estado de seguridad los usen en los análisis. Para obtener más información, consulta Latencia de detección.

gcloud CLI

Para crear un módulo personalizado con los comandos de 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.

Cuando se complete la definición, súbela a Security Command Center mediante los comandos de gcloud CLI.

  1. Codifica una definición de módulo personalizado en un archivo YAML de acuerdo con las instrucciones que se indican en Cómo codificar un módulo personalizado para Security Health Analytics.
  2. Guarda el archivo YAML en una ubicación a la que pueda acceder tu instancia de gcloud CLI.
  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 el proyecto en el que creas el módulo personalizado.
    • ENABLEMENT_STATE: Puede ser enabled o disabled.
    • MODULE_DISPLAY_NAME: El nombre de la categoría del resultado que deseas mostrar cuando el módulo personalizado muestra un resultado. 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 de archivo 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 su uso en los análisis.

La creación o modificación de un módulo personalizado no activa un análisis. Una vez que un módulo personalizado está disponible para usarse, Security Health Analytics no comienza a usar los módulos personalizados hasta que el primer análisis por lotes o un cambio en la configuración del recurso de destino activan un 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.

Cómo actualizar un módulo personalizado

Puedes actualizar la mayoría de las propiedades de los módulos personalizados de Security Health Analytics.

Las siguientes propiedades de un módulo personalizado no pueden modificarse:

  • Es 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 el módulo personalizado emitió antes no se actualizan al mismo tiempo. Si los cambios en el módulo generan cambios en los resultados emitidos, estos reflejarán los cambios solo después del siguiente lote de Security Health Analytics o análisis en tiempo real.

Para modificar un módulo personalizado, puedes usar la consola de Google Cloud o 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:

  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 el que se creó originalmente el módulo personalizado. No puedes editar un módulo personalizado en ningún otro lado.

  3. En la tarjeta Security Health Analytics, haz clic en Manage Settings.

  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 necesitas modificar.

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

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

  8. Edita los campos del módulo personalizado de cada pestaña en la página View module 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 los recursos de prueba. La prueba se inicia automáticamente cuando se sube el archivo.

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

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

        • El nombre visible del módulo personalizado.
        • 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 creó o se creará el módulo personalizado.

    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 gcloud CLI, primero edita la definición YAML del módulo personalizado y, luego, usa los comandos de gcloud a fin de actualizar el módulo personalizado en Security Health Analytics.

  1. Edita la definición del módulo personalizado. Si quieres obtener información para codificar una definición de módulo personalizado, consulta Codificación de un módulo personalizado para estadísticas del estado de la seguridad.

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

  3. Actualiza el módulo personalizado en Security Health Analytics mediante la emisión del 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 el nombre completo del recurso del 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 de archivo del archivo YAML que contiene la definición del módulo personalizado.

Cómo ver un módulo personalizado

Selecciona una pestaña para aprender a ver la definición de un 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 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. Si es necesario, usa el campo de filtro en la parte superior de la lista de módulos para buscar el módulo personalizado que debes modificar.

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

  5. En el menú Acciones, haz clic en el ícono Editar, . Se abrirá la página Ver módulo y se mostrará la pestaña Configurar módulo.

  6. Haz clic en las pestañas de la página Módulo de vistas 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 el nombre completo del recurso del 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.

Mostrar lista de módulos personalizados

Selecciona una pestaña para aprender a 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 Type y, luego, ingresa Custom. Las listas de módulos se actualizan para mostrar solo los módulos personalizados.

gcloud CLI

Para ver una lista de los módulos personalizados, ingresa el 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 el 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 el que se creó, o bien de una organización o carpeta superior. No puedes borrar un módulo personalizado de una carpeta o un 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 Manage Settings.

  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 necesitas modificar.

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

  7. En el menú Acciones, haz clic en Borrar. Se abrirá el diálogo Delete custom module.

  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 el nombre completo del recurso del 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.

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

Revisa los resultados

Los resultados generados por módulos personalizados se pueden ver en la consola de Google Cloud o en la API de Security Command Center.

Consola de Google Cloud

Puedes ver los resultados que generan tus módulos personalizados con los otros resultados de Security Command Center en la consola de Google Cloud.

Para ver los resultados, sigue estos pasos:

  1. Ve a la página Resultados en la consola de Google Cloud.

    Ir a hallazgos

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

  3. En el panel Filtros rápidos, desplázate hacia abajo hasta la sección Nombre visible de la fuente y haz clic en Security Health Analytics Custom. El panel Resultados de la consulta de resultados se actualiza para mostrar solo los resultados de los módulos personalizados de Estadísticas del estado de seguridad.

    Si no ves la opción Security Health Analytics Custom, significa que ningún módulo personalizado mostró ningún resultado.

  4. Para ver los detalles de un resultado específico, en la columna Categoría del panel Resultados de la consulta de resultados, haz clic en el nombre de la categoría del resultado. El panel de detalles del resultado se expande para mostrar un resumen de los detalles del resultado.

  5. Si se definió propiedades fuente personalizadas para el módulo personalizado, puedes verlas haciendo clic en la pestaña Propiedades fuente.

  6. Para ver la definición JSON completa del resultado, haz clic en la pestaña JSON.

gcloud CLI

Para ver los resultados, haz lo siguiente:

  1. Abre una ventana de la terminal.
  2. Para obtener el ID de la fuente de Security Health Analytics, 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: