Administración de contenido personalizado con repositorios de Microsoft Sentinel (versión preliminar pública)
La característica repositorios de Microsoft Sentinel proporciona una experiencia central para la implementación y administración del contenido de Sentinel como código. Los repositorios permiten conexiones a un control de código fuente externo para la integración continua y entrega continua (CI/CD). Esta automatización elimina la carga de los procesos manuales para actualizar e implementar el contenido personalizado en las áreas de trabajo. Para obtener más información del contenido de Sentinel, consulte Acerca de las soluciones y el contenido de Microsoft Sentinel.
Importante
La característica Repositorios de Microsoft Sentinel se encuentra actualmente en VERSIÓN PRELIMINAR. Consulte Términos de uso complementarios para las Versiones preliminares de Microsoft Azure para conocer los términos legales adicionales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.
Planeación de la conexión del repositorio
Los repositorios de Microsoft Sentinel requieren una planeación cuidadosa para asegurar que se tienen los permisos adecuados del área de trabajo en el repositorio (repo) que quiere conectar. Actualmente solo se admiten las conexiones a repositorios de GitHub y Azure DevOps con acceso de colaborador. La aplicación Microsoft Sentinel necesitará autorización en el repositorio y tendrá habilitadas las acciones para GitHub y las canalizaciones para Azure DevOps.
Los repositorios requieren un rol Propietario en el grupo de recursos que contenga el área de trabajo de Microsoft Sentinel. Este rol es necesario para crear la conexión entre Microsoft Sentinel y el repositorio de control de código fuente. Si no puede usar el rol de propietario en su entorno, puede emplear en su lugar la combinación de los roles Administrador de acceso de usuario y Colaborador de Sentinel para crear la conexión.
Si encuentra contenido en un repositorio público en el que no es colaborador, primero deberá obtener ese contenido en el repositorio. Puede hacerlo con una importación, bifurcación o clonación del contenido en un repositorio en el que sea colaborador. Después, puede conectar el repositorio al área de trabajo de Sentinel. Para más información, consulte Implementación de contenido personalizado desde el repositorio.
Validación del contenido
Los siguientes tipos de contenido de Microsoft Sentinel se pueden implementar a través de una conexión de repositorio:
- Reglas de análisis
- Regalas de automatización
- Consultas de búsqueda
- Analizadores
- Playbooks
- Workbooks
Sugerencia
En este artículo no se describe cómo crear estos tipos de contenido desde cero. Para obtener más información, vea la wiki de GitHub de Microsoft Sentinel pertinente de cada tipo de contenido.
El contenido de los repositorios se debe almacenar como plantillas de ARM. La implementación de repositorios no valida el contenido, excepto para confirmar que está en el formato JSON correcto.
El primer paso para validar el contenido es probarlo en Microsoft Sentinel. Puede aplicar también las herramientas y el proceso de validación de GitHub de Microsoft Sentinel para complementar su propio proceso de validación.
Hay un repositorio de ejemplo disponible con plantillas de ARM para cada uno de los tipos de contenido enumerados anteriormente. El repositorio también muestra cómo usar características avanzadas de las conexiones de repositorio. Para más información, consulte Ejemplo de repositorios CI/CD de Sentinel.
Número máximo de conexiones e implementaciones
Cada área de trabajo de Microsoft Sentinel está limitada actualmente a cinco conexiones de repositorio.
El historial de implementaciones de cada grupo de recursos de Azure está limitado a 800 implementaciones. Si tiene un gran volumen de implementaciones de plantillas de ARM en sus grupos de recursos, es posible que vea el error
Deployment QuotaExceeded
. Para obtener más información, consulte DeploymentQuotaExceeded en la documentación de las plantillas de Azure Resource Manager.
Mejora del rendimiento con implementaciones inteligentes
Sugerencia
Para garantizar que las implementaciones inteligentes funcionen en GitHub, los flujos de trabajo deben tener permisos de lectura y escritura en su repositorio. Consulta Administrar la configuración de Acciones de GitHub para un repositorio para obtener más detalles.
La característica de implementaciones inteligentes es una capacidad de back-end que mejora el rendimiento mediante el seguimiento activo de las modificaciones hechas en los archivos de contenido de un repositorio conectado. Usa un archivo CSV dentro de la carpeta ".sentinel" del repositorio para auditar cada confirmación. El flujo de trabajo evita volver a implementar el contenido que no se haya modificado desde la última implementación. Este proceso mejorará el rendimiento de la implementación y evitará alteraciones con contenido sin cambios en el área de trabajo, como restablecer las programaciones dinámicas de las reglas de análisis.
Las implementaciones inteligentes están habilitadas de manera predeterminada en las conexiones recién creadas. Si prefiere que todo el contenido de control de código fuente se implemente cada vez que se desencadene una implementación, independientemente de si ese contenido se modificó o no, puede modificar el flujo de trabajo para deshabilitar las implementaciones inteligentes. Para obtener más información, consulte Personalización del flujo de trabajo o la canalización.
Nota
Esta funcionalidad se lanzó en la versión preliminar pública del 20 de abril de 2022. Para que se active implementaciones inteligentes, las conexiones creadas antes del lanzamiento deben actualizarse o volver a crearse.
Considere las opciones de personalización de implementación
Hay varias opciones de personalización disponibles que puede tener en cuenta al implementar contenido con repositorios de Microsoft Sentinel.
Personalización del flujo de trabajo o la canalización
Es posible que quiera personalizar el flujo de trabajo o la canalización de una de las maneras siguientes:
- configurar diferentes desencadenadores de implementación
- implementar contenido solo desde una carpeta raíz específica para un área de trabajo determinada
- programar el flujo de trabajo para ejecutar periódicamente
- combinar eventos de flujo de trabajo diferentes
- desactivar las implementaciones inteligentes
Estas personalizaciones se definen en un archivo .yml específico del flujo de trabajo o la canalización. Para obtener más detalles sobre cómo realizar la implementación, consulte Personalizar implementaciones de repositorios.
Personalización de la implementación
Una vez desencadenado el flujo de trabajo o la canalización, la implementación admite los siguientes escenarios:
- priorizar el contenido que se implementará antes que el resto del contenido del repositorio
- excluir contenido de la implementación
- especificar archivos de parámetros de plantilla de ARM
Estas opciones están disponibles a través de una característica del script de implementación de PowerShell al que se llama desde el flujo de trabajo o la canalización. Para obtener más información sobre cómo implementar estas personalizaciones, consulte Personalización de las implementaciones del repositorio.
Pasos siguientes
Obtenga más ejemplos e instrucciones paso a paso sobre la implementación de repositorios de Microsoft Sentinel.