Administración de contenido como código con repositorios de Microsoft Sentinel

Microsoft Sentinel repositorios le permiten implementar y administrar contenido de Sentinel personalizado desde un repositorio de control de código fuente externo para la integración continua/entrega continua (CI/CD). Esta automatización elimina la necesidad de que los procesos manuales actualicen e implementen el contenido personalizado en las áreas de trabajo. Un subconjunto de contenido como código es detecciones como código (DaC). Microsoft Sentinel repositorios también implementa DaC.

Para obtener más información sobre Sentinel contenido, consulte Acerca de Microsoft Sentinel contenido y soluciones.

Funcionamiento de los repositorios Microsoft Sentinel

Puede implementar estos Microsoft Sentinel tipos de contenido personalizados desde un repositorio de control de código fuente externo al que se conecta a Microsoft Sentinel:

  • Reglas de análisis
  • Reglas de automatización
  • Consultas de búsqueda
  • Analizadores
  • Cuadernos de estrategias
  • Libros

Novedades que realice en el contenido de los repositorios de Microsoft Sentinel se sincronicen con el área de trabajo de Microsoft Sentinel y sobrescriban los cambios realizados en ese contenido a través del portal de Microsoft Sentinel. Los repositorios de Microsoft Sentinel se convierten en el único origen de verdad para el contenido personalizado en las áreas de trabajo conectadas.

Planeamiento de la conexión del repositorio

Microsoft Sentinel repositorios requieren una planeación cuidadosa para asegurarse de que tiene los permisos adecuados desde el área de trabajo al repositorio (repositorio) que desea conectar.

  • Solo se admiten las conexiones a GitHub y Azure repositorios de DevOps.
  • Se requiere acceso de colaborador al repositorio de GitHub o al administrador de proyectos a la Azure repositorio de DevOps.
  • La aplicación Microsoft Sentinel necesita autorización para el repositorio.
  • Las acciones deben estar habilitadas para GitHub.
  • Las canalizaciones deben estar habilitadas para Azure DevOps.
  • Una conexión Azure DevOps debe estar en el mismo inquilino que el área de trabajo de Microsoft Sentinel.

La creación de una conexión a un repositorio requiere un rol propietario en el grupo de recursos que contiene el área de trabajo de Microsoft Sentinel.

Si encuentra contenido en un repositorio público donde no es colaborador, primero importe, bifurca o clone el contenido en un repositorio en el que sea colaborador. A continuación, conecte el repositorio al área de trabajo de Microsoft Sentinel. Para obtener más información, consulte Implementación de contenido personalizado desde el repositorio.

Número máximo de conexiones e implementaciones

  • Actualmente, cada área de trabajo de Microsoft Sentinel está limitada a cinco conexiones de repositorio.
  • Cada Azure grupo de recursos está limitado a 800 implementaciones en su historial de implementación. Si tiene un gran volumen de implementaciones de plantillas en uno o varios de los grupos de recursos, es posible que vea el Deployment QuotaExceeded error. Para obtener más información, consulte DeploymentQuotaExceeded en la documentación de plantillas de Azure Resource Manager.

Planear el contenido del repositorio

Microsoft Sentinel repositorios admiten la implementación de contenido que se almacena como archivos de Bicep o plantillas de Azure Resource Manager (ARM). Se recomienda usar Bicep, que es más intuitivo y facilita la descripción de Azure recursos y Microsoft Sentinel contenido.

La plantilla para cada tipo de contenido tiene una estructura y un nombre de parámetro específicos, como se documenta en la referencia de plantilla de recursos de Sentinel. Para obtener ejemplos de cada tipo de contenido, consulte RepositoriosSampleCon repositorio.

Proporcionamos un repositorio de ejemplo con plantillas para cada uno de los tipos de contenido enumerados. El repositorio también muestra cómo usar características avanzadas de las conexiones del repositorio. Para obtener más información, consulte Microsoft Sentinel ejemplo de repositorios de CI/CD.

Captura de pantalla de una conexión de repositorio correcta. Se muestra RepositoriesSampleContent. Esta captura de pantalla se realiza después de importar el ejemplo desde el repositorio SentinelCICD a un repositorio privado de GitHub de la organización FourthCoffee.

Aunque puede crear plantillas desde cero, a menudo es más fácil empezar desde los archivos YAML del repositorio de GitHub público de Sentinel o desde contenido Microsoft Sentinel de fábrica. En esta tabla se describe cómo convertir una plantilla de ARM para su uso con repositorios de Microsoft Sentinel.

Tipo de contenido Conversión desde Sentinel YAML público Exportación desde Sentinel Referencia de plantilla Plantillas de ejemplo
Reglas analíticas Script de PowerShell Característica de exportación o script de PowerShell Reference Plantillas de ARM
Reglas de automatización N/D Exportación de scripts dePowerShell o características Reference N/D
Consultas de búsqueda Script de PowerShell comandos de la CLI de Azure Reference Contenido de ejemplo
Analizadores Script de PowerShell de ASIM comandos de la CLI de Azure Reference Templates
Cuadernos de estrategias N/D Utilidad de PowerShell Reference N/D
Workbooks N/D Exportación de libros como plantillas de ARM Reference N/D

Importante

Consideraciones de Bicep:

  • Para usar archivos de Bicep, la conexión de repositorios debe actualizarse si la conexión se creó antes del 1 de noviembre de 2024. Las conexiones de repositorios deben quitarse y volver a crearse para poder actualizarse.
  • Los archivos de Bicep no admiten la id propiedad . Al descomponer ARM JSON en Bicep, asegúrese de que no tiene esta propiedad. Por ejemplo, las plantillas de reglas analíticas exportadas desde Microsoft Sentinel tienen la id propiedad que necesita eliminación.
  • Cambie el esquema JSON de ARM a la versión 2019-04-01 para obtener los mejores resultados al descomponerse.

Importante

Las reglas analíticas implementadas con la característica repositorios de Microsoft Sentinel solo pueden usar consultas entre áreas de trabajo si el área de trabajo de destino está en el mismo grupo de recursos que el área de trabajo conectada al repositorio.

Para obtener información sobre cómo crear contenido personalizado desde cero, consulte la wiki de GitHub correspondiente Microsoft Sentinel para cada tipo de contenido.

Mejora del rendimiento con implementaciones inteligentes

Sugerencia

Para asegurarse de que las implementaciones inteligentes funcionan en GitHub, los flujos de trabajo deben tener permisos de lectura y escritura en el repositorio. Para obtener más información, consulte Administración de Acciones de GitHub configuración de un repositorio.

La característica de implementaciones inteligentes es una funcionalidad de back-end que mejora el rendimiento mediante el seguimiento activo de las modificaciones realizadas en los archivos de contenido de un repositorio conectado. Usa un archivo CSV dentro de la .sentinel carpeta del repositorio para auditar cada confirmación. El flujo de trabajo evita volver a implementar contenido que no se modificó desde la última implementación. Este proceso mejora el rendimiento de la implementación y evita la alteración del contenido sin cambios en el área de trabajo, como el restablecimiento de programaciones dinámicas de las reglas de análisis.

Las implementaciones inteligentes están habilitadas de forma predeterminada en las conexiones recién creadas. Si prefiere todo el contenido del control de código fuente implementado cada vez que se desencadene una implementación, modifique el flujo de trabajo para deshabilitar las implementaciones inteligentes. Para obtener más información, vea Personalizar el flujo de trabajo o la canalización.

Considere la posibilidad de opciones de personalización de implementación

Tenga en cuenta las siguientes opciones de personalización al implementar contenido con repositorios de Microsoft Sentinel.

Personalización del flujo de trabajo o la canalización

Personalice el flujo de trabajo o la canalización de una de las siguientes maneras:

  • 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 que se ejecute periódicamente
  • combinar diferentes eventos de flujo de trabajo juntos
  • desactivar implementaciones inteligentes

Estas personalizaciones se definen en un archivo .yml específico del flujo de trabajo o la canalización. Para obtener más información sobre cómo implementar, consulte Personalización de 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 va a implementar antes del 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 llamado 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 implementaciones de repositorios.

Administración de repositorios Microsoft Sentinel mediante la API

Para obtener información sobre cómo administrar repositorios de Microsoft Sentinel mediante la API, consulte las acciones Control de código fuente y Controles de código fuente en la API REST de Microsoft Sentinel.

Importante

A partir de junio de 2026, ya no se admitirán las versiones anteriores de API usadas por Microsoft Sentinel repositorios. Si usa api para crear y administrar conexiones de repositorio, realice la transición a la versión de API 2025-09-01, 2025-06-01 o 2025-07-01-preview antes del 15 de junio de 2026 para evitar la interrupción del servicio. Las conexiones de repositorio existentes no se ven afectadas.

Pasos siguientes

Obtenga más ejemplos e instrucciones paso a paso sobre la implementación de repositorios Microsoft Sentinel.