En esta página se explica cómo crear, ver, actualizar y eliminar módulos personalizados de Security Health Analytics mediante la Google Cloud consola o la CLI de Google Cloud.
Para obtener más información introductoria, consulta la descripción general de los módulos personalizados de Security Health Analytics.
Antes de empezar
Para poder trabajar con módulos personalizados, debes cumplir los siguientes requisitos:
- Security Health Analytics debe estar habilitado. Para obtener información sobre cómo habilitar Security Health Analytics, consulta Habilitar o inhabilitar un servicio integrado.
- Tu cuenta de usuario debe tener asignado uno o varios roles de gestión de identidades y accesos (IAM) que contengan los permisos necesarios. Para obtener más información, consulta Permisos de gestión de identidades y accesos obligatorios.
- Si quieres escribir tus propios módulos personalizados y subirlos a Security Command Center mediante comandos
gcloud
, necesitas la CLI de Google Cloud. Para obtener información sobre cómo instalar gcloud CLI, consulta Instalar gcloud CLI. - Si la API de Security Command Center aún no está habilitada, debes habilitarla para poder usar módulos personalizados en Security Health Analytics. Puedes habilitar la API de Security Command Center en la página de la biblioteca de APIs de la consola de Google Cloud .
- Para conocer los límites de uso de Security Health Analytics, consulta las cuotas de módulos personalizados.
Permisos de gestión de identidades y accesos necesarios
Para trabajar con módulos personalizados, necesitas los siguientes permisos de gestión de identidades y accesos (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.securityHealthAnalyticsCustomModulesTester roles/securitycenter.adminViewer roles/securitycenter.adminEditor roles/securitycenter.admin |
Para obtener más información sobre los permisos y roles de gestión de identidades y accesos, y sobre cómo concederlos, consulta el artículo sobre cómo conceder un rol de gestión de identidades y accesos mediante la consola Google Cloud .
Crear un módulo personalizado
En esta sección se explica cómo crear módulos personalizados con la consola deGoogle Cloud , la CLI de gcloud o Terraform.
Para probar tu módulo personalizado como paso del proceso de creación, debes preparar definiciones de recursos de prueba en un archivo YAML. Para obtener instrucciones, consulta Crear recursos de prueba en un archivo YAML.
Para crear un módulo personalizado, selecciona el método que quieras usar en una de las siguientes pestañas:
Google Cloud consola
Para crear un módulo personalizado 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 .
Si se te pide, selecciona la organización, la carpeta o el proyecto en el que quieras crear el módulo personalizado.
En la tarjeta Analíticas del estado de la seguridad, haz clic en Gestionar 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 van a analizar y la lógica de detección:
En el campo Nombre del módulo, especifica un nombre para el módulo. El nombre debe tener entre 1 y 128 caracteres, empezar por 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 genera este detector. No puedes cambiar el nombre después de crear el módulo.
En Añadir tipo de recurso, especifique de uno a cinco tipos de recursos que quiera analizar. No puede especificar un tipo de recurso más de una vez.
Para ver una lista de los tipos de recursos admitidos, consulta Tipos de recursos admitidos.
En el editor de expresiones, escribe expresiones CEL para hacer comprobaciones booleanas en una o varias propiedades del recurso que hayas especificado en el paso anterior. Para activar un resultado, la expresión debe resolverse como
TRUE
. Por ejemplo, la siguiente expresión activa un resultado si un recursoCryptoKey
tiene definido un periodo de rotación y este periodo es superior a 2.592.000 segundos (30 días):has(resource.rotationPeriod) && (resource.rotationPeriod > duration('2592000s'))
Para obtener más información, consulta las siguientes secciones:
Haz clic en Siguiente. Se abrirá el panel Define finding details (Define los detalles del hallazgo).
En el panel Define finding details (Define los detalles de la detección), describe el problema que detecta el módulo personalizado, incluida su gravedad, en qué consiste, cómo solucionarlo y los datos que quieras incluir en las detecciones como propiedades de origen personalizadas:
En el campo Gravedad, especifica la gravedad del problema. Puedes especificar
Low
,Medium
,High
oCritical
.Medium
es el valor predeterminado.Para obtener información sobre los niveles de gravedad, consulta Clasificaciones de gravedad de las detecciones.
En el campo Finding description (Descripción del hallazgo), explica el problema que detecta el módulo personalizado. Esta explicación aparece en cada instancia de los resultados para ayudar a los equipos de seguridad a comprender y abordar el problema detectado.
En el campo Finding next steps (Pasos siguientes), explica las medidas que puede tomar tu equipo de seguridad para solucionar o abordar el problema detectado.
Los pasos se muestran con cada instancia de resultados. Incluye pasos específicos que el equipo de Seguridad pueda seguir para solucionar el problema lo antes posible.
Opcional: En el campo Propiedades de hallazgo personalizadas, especifique hasta 10 pares nombre-valor para definir propiedades de origen personalizadas que se devuelvan con cada instancia de hallazgo. La información se devuelve como propiedades de origen en el JSON de la detección y se muestra en la pestaña Propiedades de origen de los detalles de la detección en laGoogle Cloud consola. Especifique los valores de texto o de propiedad como pares clave-valor:
- En el campo Nombre de propiedad, especifique un nombre para la propiedad de origen personalizada. El nombre debe cumplir las siguientes reglas:
- El nombre debe empezar por una letra minúscula.
- El nombre solo puede contener 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, especifique uno de los siguientes valores con 1024 caracteres como máximo:
- Una cadena de texto entre comillas. Las comillas se incluyen en el límite de 1024 caracteres. Por ejemplo:
"This string provides additional useful information."
- Cualquier propiedad del recurso que se esté analizando.
Por ejemplo, si estás consultando el recurso
CryptoKey
, puedes especificarresource.rotationPeriod
. Se devuelve el valor de la propiedadrotationPeriod
.
- Una cadena de texto entre comillas. Las comillas se incluyen en el límite de 1024 caracteres. Por ejemplo:
- En el campo Nombre de propiedad, especifique un nombre para la propiedad de origen personalizada. El nombre debe cumplir 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 al crearse. De forma predeterminada, los módulos personalizados se habilitan al crearse. 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 comprueba tu módulo personalizado.
Para obtener información sobre cómo crear un archivo de datos de prueba, consulta Crear recursos de prueba en un archivo YAML.
En Subir el archivo YAML, haga clic en Buscar 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, consulta los resultados.
- Si hay errores de sintaxis u otros errores 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, devuelve la siguiente información:
- Nombre visible del módulo personalizado.
- El nombre arbitrario que ha especificado en la propiedad
resource
del archivo de datos de prueba. - La organización, la carpeta o el proyecto en el que se ha creado 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, consulte Probar módulos personalizados.
Haz clic en Crear. Se te redirigirá a la página Módulos, donde verás el módulo que has creado con el estado Habilitado.
Los módulos personalizados nuevos no están disponibles inmediatamente para que Security Health Analytics los use en los análisis. Para obtener más información, consulta Latencia de detección.
CLI de gcloud
Para crear un módulo personalizado mediante 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 hayas completado la definición, súbela a Security Command Center mediante comandos de la CLI de gcloud.
- Codifica una definición de módulo personalizado en un archivo YAML siguiendo las instrucciones de Codificar un módulo personalizado para Security Health Analytics.
- Guarda el archivo YAML en una ubicación a la que pueda acceder tu instancia de la CLI de gcloud.
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
Haz los cambios siguientes:
PARENT_FLAG
: el nivel en el que vas a crear el módulo personalizado (--organization
,--folder
o--project
).PARENT_ID
: el ID de la organización, la carpeta o el proyecto en el que vas a crear el módulo personalizado.ENABLEMENT_STATE
:enabled
odisabled
.MODULE_DISPLAY_NAME
: el nombre de la categoría de resultados que quieras mostrar cuando el módulo personalizado devuelva un resultado. El nombre debe tener entre 1 y 128 caracteres, empezar por una letra minúscula y contener solo caracteres alfanuméricos o guiones bajos.MODULE_FILE_NAME
: la ruta y el nombre del archivo YAML que contiene la definición del módulo personalizado.
Terraform
Para crear un módulo personalizado para una organización, sigue estos pasos:
Para crear un módulo personalizado para una carpeta, sigue estos pasos:
Para crear un módulo personalizado para un proyecto, sigue estos pasos:
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 análisis.
Crear o modificar un módulo personalizado no activa un análisis. Una vez que un módulo personalizado está disponible, Security Health Analytics no empieza a usarlo hasta que se realiza el primer análisis por lotes o hasta que se produce un cambio en la configuración del recurso de destino que activa 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.
Actualizar un módulo personalizado
Puede 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:
- Nombre visible.
- El ID del módulo personalizado.
- Nombre completo del recurso del módulo personalizado.
Cuando actualizas un módulo personalizado, las detecciones que haya generado anteriormente no se actualizan al mismo tiempo. Si los cambios en el módulo provocan cambios en los resultados generados, estos se reflejarán solo 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 Google Cloud consola o la CLI de gcloud. Haga clic en una de las siguientes pestañas para ver las instrucciones.
Google Cloud consola
Para actualizar un módulo personalizado en la Google Cloud consola, 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 sitio.
En la tarjeta Analíticas del estado de la seguridad, haz clic en Gestionar 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 situado en la parte superior de la lista de módulos o desplázate para buscar el módulo personalizado que quieras modificar.
A la derecha de la fila de tu módulo personalizado, haz clic en el icono del menú de acciones,
.En el menú de acciones, haz clic en el icono Editar (edit). Se abrirá la página Ver módulo, donde se muestra la pestaña Configurar módulo.
Edita los campos del módulo personalizado de cada pestaña de la página Ver módulo según sea necesario.
Opcional: Antes de guardar los cambios, te recomendamos que los 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 comprueba tu módulo personalizado.
Para obtener información sobre cómo crear un archivo de datos de prueba, consulta Crear recursos de prueba en un archivo YAML.
En Subir el archivo YAML, haga clic en Buscar 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, consulta los resultados.
- Si hay errores de sintaxis u otros errores 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, devuelve la siguiente información:
- Nombre visible del módulo personalizado.
- El nombre arbitrario que ha especificado en la propiedad
resource
del archivo de datos de prueba. - La organización, la carpeta o el proyecto en el que se ha creado 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, consulte Probar módulos personalizados.
Ve al final de la página y haz clic en Guardar. Los cambios se aplican al módulo personalizado.
CLI de gcloud
Para actualizar un módulo personalizado con la CLI de gcloud, primero debe editar la definición YAML del módulo personalizado y, a continuación, usar los comandos 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, consulte Codificar un módulo personalizado para Security Health Analytics.
Guarda el archivo YAML editado en una ubicación a la que pueda acceder la CLI de gcloud.
Actualiza el módulo personalizado en Security Health Analytics con 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
Haz los cambios siguientes:
MODULE_ID
: el ID o el nombre completo del recurso del módulo personalizado.PARENT_FLAG
: el nivel en el que se creó el módulo personalizado, que puede ser--organization
,--folder
o--project
.PARENT_ID
: el ID de la organización, la carpeta o el proyecto en el que se creó el módulo personalizado.MODULE_FILE_NAME
: la ruta y el nombre del archivo YAML que contiene la definición del módulo personalizado.
Ver un módulo personalizado
Selecciona una pestaña para saber cómo ver la definición de un módulo personalizado.
Google Cloud consola
Para ver los módulos personalizados en la Google Cloud consola, 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 Módulos.
Si es necesario, usa el campo de filtro situado en la parte superior de la lista de módulos para encontrar el módulo personalizado que quieras modificar.
Para ver los detalles de la definición del módulo personalizado, haga clic en el icono del menú Acción,
, situado a la derecha de la fila del módulo personalizado.En el menú de acciones, haz clic en el icono Editar. edit Se abre la página Ver módulo y se muestra 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.
CLI de gcloud
Para ver los detalles de un módulo personalizado, introduce el siguiente comando:
gcloud scc custom-modules sha get MODULE_ID \ PARENT_FLAG=PARENT_ID
Haz los cambios siguientes:
MODULE_ID
: el ID o el nombre completo del recurso del módulo personalizado.PARENT_FLAG
: el nivel en el que se creó el módulo personalizado, que puede ser--organization
,--folder
o--project
.PARENT_ID
: el ID de la organización, la carpeta o el proyecto en el que se creó el módulo personalizado.
Mostrar módulos personalizados
Seleccione una pestaña para saber cómo mostrar una lista de módulos personalizados.
Google Cloud consola
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 Módulos.
Haz clic en el campo de filtro situado en la parte superior de la lista de módulos para que se muestre la lista de tipos de filtros.
Selecciona Tipo e introduce
Custom
. La lista de módulos se actualiza para mostrar solo los módulos personalizados.
CLI de gcloud
Para ver una lista de módulos personalizados, introduce el siguiente comando:
gcloud scc custom-modules sha list \ PARENT_FLAG=PARENT_ID
Haz los cambios siguientes:
PARENT_FLAG
: el nivel en el que se creó el módulo personalizado, que puede ser--organization
,--folder
o--project
.PARENT_ID
: el ID de la organización, la carpeta o el proyecto en el que se creó el módulo personalizado.
Eliminar un módulo personalizado
Puede eliminar 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 eliminar un módulo personalizado de una carpeta o un proyecto que lo herede.
Para saber cómo eliminar un módulo personalizado, selecciona una de las siguientes pestañas.
Google Cloud consola
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 Analíticas del estado de la seguridad, haz clic en Gestionar 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 situado en la parte superior de la lista de módulos o desplázate para buscar el módulo personalizado que quieras modificar.
A la derecha de la fila de tu módulo personalizado, haz clic en el icono del menú de acciones,
.En el menú de acciones, haz clic en Eliminar. Se abrirá el cuadro de diálogo Eliminar módulo personalizado.
En el cuadro de diálogo, haz clic en Eliminar.
CLI de gcloud
Para eliminar un módulo personalizado, introduce el siguiente comando:
gcloud scc custom-modules sha delete MODULE_ID \ PARENT_FLAG=PARENT_ID
Haz los cambios siguientes:
MODULE_ID
: el ID o el nombre completo del recurso del módulo personalizado.PARENT_FLAG
: el nivel en el que se creó el módulo personalizado, que puede ser--organization
,--folder
o--project
.PARENT_ID
: 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 resultados de los módulos personalizados eliminados en el siguiente análisis por lotes.
Revisar los resultados
Los resultados generados por módulos personalizados se pueden ver en laGoogle Cloud consola o en la API de Security Command Center.
Consola
- En la Google Cloud consola, ve a la página Resultados de Security Command Center.
- Selecciona tu Google Cloud proyecto u organización.
- En la sección Filtros rápidos, en la subsección Nombre visible de la fuente, selecciona Security Health Analytics Custom. Los resultados de la consulta de detecciones se actualizan para mostrar solo las detecciones de esta fuente.
- Para ver los detalles de un resultado específico, haga clic en su nombre en la columna Categoría. Se abre el panel de detalles del resultado y se muestra la pestaña Resumen.
- En la pestaña Resumen, consulta los detalles de la detección, incluida la información sobre lo que se ha detectado, el recurso afectado y, si está disponible, los pasos que puedes seguir para corregir la detección.
- Opcional: Para ver la definición JSON completa de la detección, haga clic en la pestaña JSON.
CLI de gcloud
Para ver los resultados, sigue estos pasos:
- Abre una ventana de terminal.
Para obtener el ID de origen de Security Health Analytics, ejecuta el siguiente comando:
gcloud scc sources describe organizations/ORGANIZATION_ID \ --source-display-name='Security Health Analytics Custom'
La salida de la pantalla debería ser similar a la siguiente. En el ejemplo,
SOURCE_ID
es un ID asignado por el servidor para fuentes de seguridad.description: ... displayName: Security Health Analytics Custom name: organizations/ORGANIZATION_ID/sources/SOURCE_ID
Para obtener una lista de todos los resultados generados por tus módulos personalizados, ejecuta el siguiente comando:
gcloud scc findings list ORGANIZATION_ID --source=SOURCE_ID
Para enumerar las detecciones de un módulo personalizado específico, ejecuta el siguiente comando:
gcloud scc findings list ORGANIZATION_ID --source=SOURCE_ID --filter="category=\"MODULE_NAME\""
Siguientes pasos
Puedes gestionar los resultados generados por módulos personalizados como todos los resultados de Security Command Center. Para obtener instrucciones, consulta la siguiente información:
- Trabajar con resultados en la consola de Google Cloud
- Usar marcas de seguridad
- Configurar notificaciones de resultados
- Exportar datos de Security Command Center