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
Antes de poder trabajar con módulos personalizados, debes cumplir con los siguientes requisitos previos:
- Se debe habilitar Security Health Analytics. Para obtener información sobre cómo habilitar Security Health Analytics, consulta Habilita o inhabilita un servicio integrado.
- Tu cuenta de usuario debe tener 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 necesarios.
- Si quieres escribir tus propios módulos personalizados y subirlos a
Security Command Center con los comandos de
gcloud, necesitas Google Cloud CLI. Para obtener información sobre cómo instalar la gcloud CLI, consulta Instala gcloud CLI. - Si la API de Security Command Center aún no está habilitada, debes habilitarla para poder usar módulos personalizados para Security Health Analytics. Puedes habilitar la API de Security Command Center en la página Biblioteca de APIs de 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 | Rol |
|---|---|
| securitycentermanagement.securityhealthanalyticscustommodules.create securitycentermanagement.securityhealthanalyticscustommodules.update securitycentermanagement.securityhealthanalyticscustommodules.delete |
roles/securitycenter.settingsEditor roles/securitycenter.admin |
| securitycentermanagement.securityhealthanalyticscustommodules.get securitycentermanagement.securityhealthanalyticscustommodules.list |
roles/securitycenter.settingsViewer roles/securitycenter.adminViewer roles/securitycenter.admin |
| securitycentermanagement.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 con la consola de Google Cloud .
Crea un módulo personalizado
En esta sección, se explica cómo crear módulos personalizados con la consola deGoogle Cloud , gcloud CLI o Terraform.
Para probar tu módulo personalizado como un paso en el proceso de creación, debes preparar 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 en las siguientes pestañas:
Consola de Google Cloud
Para crear un módulo personalizado en la consola de Google Cloud , completa los siguientes pasos:
Ve a la página Configuración de Security Command Center en la consola deGoogle Cloud .
Si se te solicita, selecciona la organización, la carpeta o el proyecto en el que necesitas crear el módulo personalizado.
En la tarjeta Security Health Analytics, haz clic en Administrar configuración.
Haz clic en la pestaña Módulos.
Haz clic en Crear módulo. Se abrirá la página Crear módulo para Security Health Analytics.
En el panel Configurar módulo, define el nombre visible, los recursos que se analizarán y la lógica de detección:
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 hallazgos que produce este detector. No puedes cambiar el nombre después de crear el módulo.
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.
En el Editor de expresiones, escribe expresiones de CEL para ejecutar verificaciones booleanas en una o más propiedades del recurso que especificaste en el último paso. Para activar un hallazgo, la expresión debe resolverse como
TRUE. Por ejemplo, la siguiente expresión activa un hallazgo si un recursoCryptoKeytiene un período de rotación definido y el período de rotación 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:
Haz clic en Siguiente. Se abrirá el panel Define los detalles del hallazgo.
En el panel Define los detalles de los hallazgos, describe el problema que detecta el módulo personalizado, incluida su gravedad, cuál es el problema, cómo corregirlo y los datos que deseas incluir en los hallazgos como propiedades de origen personalizadas:
En el campo Gravedad, especifica la gravedad del problema. Puedes especificar
Low,Medium,HighoCritical.Mediumes la configuración predeterminada.Para obtener información sobre los niveles de gravedad, consulta Clasificaciones de gravedad para los hallazgos.
En el campo Descripción del hallazgo, explica el problema que detecta el módulo personalizado. Esta explicación aparece en cada instancia de hallazgo para ayudar a los equipos de seguridad a comprender y abordar el problema detectado.
En el campo Próximos pasos para el hallazgo, explica los pasos que puede seguir tu equipo de seguridad para corregir o abordar el problema detectado.
Los pasos se muestran con cada instancia de hallazgo. Incluye pasos específicos que el equipo de seguridad pueda seguir para abordar el problema lo antes posible.
Opcional: En el campo Propiedades de hallazgos personalizadas, especifica hasta 10 pares nombre-valor para definir las propiedades de fuente personalizadas que se mostrarán con cada instancia de hallazgo. La información se devuelve como propiedades de origen en el JSON del hallazgo y se muestra en la pestaña Propiedades de origen de los detalles del hallazgo en la consola deGoogle 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 de origen.
- En el campo Valor de la propiedad, especifica uno de los siguientes
valores en 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 verificas el recurso
CryptoKey, puedes especificarresource.rotationPeriod. Se devuelve el valor de la propiedadrotationPeriod.
- Es una cadena de texto encerrada entre comillas. Las comillas
se incluyen en el límite de 1,024 caracteres. Por ejemplo:
- En el campo Nombre de la propiedad, especifica un nombre para la propiedad fuente personalizada. El nombre debe cumplir con las siguientes reglas:
Haz clic en Siguiente. Se abrirá el panel Habilitar módulo.
Opcional: Usa el menú desplegable del panel Habilitar módulo para especificar si el módulo personalizado está habilitado o inhabilitado cuando se crea. 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.
Haz clic en Siguiente. Se abrirá el panel Módulo de prueba.
Opcional: Antes de crear tu módulo personalizado, te recomendamos que lo pruebes.
Para probar un módulo personalizado, sigue estos pasos:
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.
En Sube 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.
En Vista previa de los resultados de la prueba, comprueba los resultados.
- Si hay errores de sintaxis o de otro tipo en tu archivo YAML, se mostrará un mensaje de error flotante cerca de la parte inferior de la página del navegador.
Si la prueba se hace correctamente, se devolverá la siguiente información:
- El nombre visible del módulo personalizado
- Es el nombre arbitrario que especificaste en la propiedad
resourcedel 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 Prueba módulos personalizados.
Haz clic en Crear. Volverás a la página Módulos y deberías ver el módulo que creaste con el estado Habilitado.
Los módulos personalizados nuevos no están disponibles de inmediato para que los use Security Health Analytics 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 de CEL para la lógica de detección y las propiedades de salida.
Una vez que se complete la definición, debes subirla a Security Command Center con los comandos de gcloud CLI.
- Codifica una definición de módulo personalizado en un archivo YAML según las instrucciones de Codifica un módulo personalizado para Security Health Analytics.
- Guarda el archivo YAML en una ubicación a la que pueda acceder tu instancia de gcloud CLI.
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,--foldero--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:enabledodisabled.MODULE_DISPLAY_NAME: Es el nombre de la categoría del hallazgo que deseas mostrar cuando el módulo personalizado devuelve un hallazgo. 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.
Terraform
Crea un módulo personalizado para una organización:
Crea un módulo personalizado para una carpeta:
Crea un módulo personalizado para un proyecto:
Latencia de detección
Después de crear o actualizar la definición de un módulo personalizado, puede haber una demora de hasta varias horas antes de que el módulo personalizado nuevo o actualizado esté disponible para su uso en los análisis.
Crear o modificar 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 comienza a usar los módulos personalizados hasta que el primer análisis por lotes o un cambio en la configuración del recurso objetivo activen un análisis en tiempo real.
Para obtener más información sobre los tipos de análisis de Security Health Analytics, consulta Tipos de análisis de Security Health Analytics.
Actualiza un módulo personalizado
Puedes actualizar la mayoría de las propiedades de los módulos personalizados de Security Health Analytics.
No se pueden cambiar las siguientes propiedades de un módulo personalizado:
- Es el nombre visible.
- Es el ID del módulo personalizado.
- Es el nombre completo del recurso del módulo personalizado.
Cuando actualizas un módulo personalizado, los hallazgos que generó anteriormente no se actualizan al mismo tiempo. Si los cambios en el módulo generan cambios en los hallazgos generados, estos reflejarán los cambios solo después del siguiente 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 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:
Ve a la página Configuración de Security Command Center en la consola deGoogle Cloud .
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 lugar.
En la tarjeta Security Health Analytics, haz clic en Administrar configuración.
Selecciona la pestaña Módulos. Se muestran todos los módulos de detección de Security Health Analytics.
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.
En el lado derecho de la fila de tu módulo personalizado, haz clic en el ícono del menú de acciones, .
En el menú de acciones, haz clic en el ícono Editar (edit). Se abrirá la página Ver módulo y se mostrará la pestaña Configurar módulo.
Edita los campos del módulo personalizado de cada pestaña en la página Ver módulo según sea necesario.
Opcional: Antes de guardar las actualizaciones, te recomendamos que las pruebes.
Para probar un módulo personalizado, sigue estos pasos:
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.
En Sube 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.
En Vista previa de los resultados de la prueba, comprueba los resultados.
- Si hay errores de sintaxis o de otro tipo en tu archivo YAML, se mostrará un mensaje de error flotante cerca de la parte inferior de la página del navegador.
Si la prueba se hace correctamente, se devolverá la siguiente información:
- El nombre visible del módulo personalizado
- Es el nombre arbitrario que especificaste en la propiedad
resourcedel 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 Prueba módulos personalizados.
En la parte inferior de la página, haz clic en Guardar. Los cambios se aplicarán al módulo personalizado.
gcloud CLI
Para actualizar un módulo personalizado con gcloud CLI,
primero edita la definición de YAML del módulo personalizado y, luego, usa
los comandos de gcloud para actualizar el módulo personalizado en Security Health Analytics.
Edita la definición del módulo personalizado. Para obtener información sobre cómo codificar una definición de módulo personalizado, consulta Codifica un módulo personalizado para Security Health Analytics.
Guarda el archivo YAML editado en una ubicación a la que pueda acceder gcloud CLI.
Actualiza el módulo personalizado en Security Health Analytics emitiendo 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 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,--foldero--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 aprender a 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:
Ve a la página Security Health Analytics en la configuración de Security Command Center.
Haz clic en la pestaña Módulos. Se abrirá el panel Modules.
Si es necesario, usa el campo de filtro que se encuentra en la parte superior de la lista de módulos para encontrar el módulo personalizado que necesitas modificar.
Para ver los detalles de la definición del módulo personalizado, haz clic en el ícono de menú de acciones, , en el lado derecho de la fila del módulo personalizado.
En el menú de acciones, haz clic en el ícono Editar, edit. Se abrirá la página Ver módulo y se mostrará la pestaña Configurar módulo.
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 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,--foldero--project.PARENT_ID: Es el ID de la organización, la carpeta o el proyecto en el que se creó el módulo personalizado.
Enumera los módulos personalizados
Selecciona una pestaña para aprender a mostrar una lista de módulos personalizados.
Consola de Google Cloud
Ve a la página Security Health Analytics en la configuración de Security Command Center.
Haz clic en la pestaña Módulos. Se abrirá el panel Modules.
Haz clic en el campo de filtro que se encuentra en la parte superior de la lista de módulos para mostrar la lista de tipos de filtros.
Selecciona Tipo y, luego, ingresa
Custom. La lista de módulos se actualiza para mostrar solo los módulos personalizados.
gcloud CLI
Para ver una lista de 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,--foldero--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 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
Ve a la página Configuración de Security Command Center en la consola deGoogle Cloud .
Si se te solicita, selecciona tu organización, carpeta o proyecto.
En la tarjeta Security Health Analytics, haz clic en Administrar configuración.
Selecciona la pestaña Módulos. Se muestran todos los módulos de detección de Security Health Analytics.
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.
En el lado derecho de la fila de tu módulo personalizado, haz clic en el ícono del menú de acciones, .
En el menú de acciones, haz clic en Borrar. Se abrirá el diálogo Borrar módulo personalizado.
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,--foldero--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 como inactivos los hallazgos de los módulos personalizados borrados en el siguiente análisis por lotes.
Revisa los resultados
Los hallazgos generados por los módulos personalizados se pueden ver en la consola deGoogle Cloud o en la API de Security Command Center.
Console
-
En la consola de Google Cloud , ve a la página Resultados de Security Command Center.
- Selecciona tu proyecto u organización de Google Cloud .
- En la sección Filtros rápidos, en la subsección Nombre visible de la fuente, selecciona Security Health Analytics personalizado. Los resultados de la consulta de hallazgos se actualizan para mostrar solo los hallazgos de esta fuente.
- Para ver los detalles de un hallazgo específico, haz clic en su nombre en la columna Categoría. Se abre el panel de detalles del hallazgo y se muestra la pestaña Resumen.
- 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án disponibles, los pasos que puedes seguir para corregir el hallazgo.
- Para ver la definición completa de JSON del hallazgo, haz clic en la pestaña JSON (opcional).
gcloud CLI
Para ver los hallazgos, haz lo siguiente:
- Abre una ventana de terminal.
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_IDes un ID asignado por el servidor para las fuentes de seguridad.description: ... displayName: Security Health Analytics Custom name: organizations/ORGANIZATION_ID/sources/SOURCE_ID
Para enumerar todos los resultados generados por tus módulos personalizados, ejecuta el siguiente comando:
gcloud scc findings list ORGANIZATION_ID --source=SOURCE_ID
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 hallazgos generados por módulos personalizados, como todos los hallazgos en Security Command Center. Para obtener instrucciones, consulta la siguiente información: