Gérer du contenu personnalisé avec des référentiels Microsoft Sentinel (préversion publique)

La fonctionnalité des référentiels Microsoft Sentinel offre une expérience centrale pour le déploiement et la gestion du contenu Sentinel en tant que code. Les référentiels autorisent les connexions à un contrôle de code source externe pour l’intégration continue/la livraison continue (CI/CD). Cette automatisation supprime la charge des processus manuels de mise à jour et de déploiement de votre contenu personnalisé dans les espaces de travail. Pour plus d’informations sur le contenu Sentinel, consultez À propos du contenu et des solutions Microsoft Sentinel.

Important

La fonctionnalité Référentiels de Microsoft Sentinel est actuellement en PRÉVERSION. Consultez l’Avenant aux conditions d’utilisation pour les préversions de Microsoft Azure pour connaître les conditions juridiques supplémentaires s’appliquant aux fonctionnalités Azure sont en version bêta, en préversion ou non encore en disponibilité générale.

Planifier la connexion de votre référentiel

Les référentiels Microsoft Sentinel nécessitent une planification minutieuse pour vous assurer que vous disposez des autorisations appropriées de votre espace de travail vers le référentiel (dépôt) que vous souhaitez connecter. Seules les connexions aux référentiels GitHub et Azure DevOps avec accès contributeur sont actuellement prises en charge. L’application Microsoft Sentinel aura besoin d’une autorisation sur votre référentiel et les actions activées pour GitHub et Pipelines sont activées pour Azure DevOps.

Les référentiels requièrent un rôle Propriétaire dans le groupe de ressources contenant votre espace de travail Microsoft Sentinel. Ce rôle est obligatoire pour créer la connexion entre Microsoft Sentinel et votre dépôt de contrôle de code source. Si vous ne pouvez pas utiliser le rôle Propriétaire dans votre environnement, vous pouvez à la place avoir la combinaison des rôles Administrateur d’accès utilisateur et Contributeur Sentinel pour créer la connexion.

Si vous trouvez du contenu dans un référentiel public où vous n’êtes pas contributeur, vous devez d’abord obtenir ce contenu dans votre dépôt. Vous pouvez le faire avec une importation, une duplication ou un clone du contenu dans un référentiel où vous êtes contributeur. Vous pouvez ensuite connecter votre dépôt à votre espace de travail Sentinel. Pour plus d’informations, consultez Déployer du contenu personnalisé à partir de votre référentiel.

Valider votre contenu

Les types de contenu Microsoft Sentinel suivants peuvent être déployés via une connexion de référentiel :

  • Règles analytiques
  • Règles d’automatisation
  • Requêtes de chasse
  • Analyseurs
  • Playbooks
  • Workbooks

Conseil

Cet article ne décrit pas comment créer ces types de contenu à partir de rien. Pour plus d’informations, consultez le wiki GitHub Microsoft Sentinel approprié pour chaque type de contenu.

Le contenu des référentiels doit être stocké en tant que modèles ARM. Le déploiement de référentiels ne valide pas le contenu, sauf pour confirmer qu’il est au format JSON correct.

La première étape de validation de votre contenu consiste à la tester dans Microsoft Sentinel. Vous pouvez exploiter les outils et le processus de validation GitHub de Microsoft Sentinel pour configurer votre propre processus de validation.

Un exemple de référentiel est disponible avec des modèles ARM pour chacun des types de contenu répertoriés ci-dessus. Le référentiel montre également comment utiliser des fonctionnalités avancées des connexions de référentiel. Pour plus d’informations, consultez l’exemple de référentiels CICD Sentinel.

Capture d’écran d’une connexion réussie à un référentiel. Le contenu de RepositoriesSample est affiché. Cette capture d’écran a été réalisée après l’importation de l’échantillon du référentiel SentinelCICD vers un référentiel GitHub privé de l’organisation FourthCoffee.

Nombre maximal de connexions et de déploiements

  • Chaque espace de travail Microsoft Sentinel est actuellement limité à cinq connexions de référentiel.

  • L’historique de déploiement de chaque groupe de ressources Azure est limité à 800 déploiements. Si vous avez un grand nombre de déploiements de modèles ARM dans vos groupes de ressources, il se peut que l’erreur Deployment QuotaExceeded s’affiche. Pour plus d’informations, consultez DeploymentQuotaExceeded dans la documentation relative aux modèles Azure Resource Manager.

Améliorer les performances avec des déploiements intelligents

Conseil

Pour garantir le fonctionnement des déploiements intelligents dans GitHub, les workflows doivent disposer d’autorisations de lecture et d’écriture sur votre référentiel. Pour plus d’informations, reportez-vous à Gestion des paramètres de GitHub Actions pour un référentiel.

Les déploiements intelligents constituent une fonctionnalité back-end qui améliore les performances des déploiements en effectuant activement le suivi des modifications apportées aux fichiers de contenu d’un référentiel connecté. Il utilise un fichier CSV dans le dossier « .sentinel » de votre référentiel pour auditer chaque validation. Le workflow évite de redéployer du contenu qui n’a pas été modifié depuis le dernier déploiement. Ce processus améliore les performances de votre déploiement et empêche l’altération du contenu inchangé de votre espace de travail, comme la réinitialisation des programmes dynamiques de vos règles d’analyse.

Les déploiements intelligents sont activés par défaut sur les connexions nouvellement créées. Si vous préférez que tout le contenu du contrôle de code source soit déployé chaque fois qu’un déploiement est déclenché, que ce contenu ait été modifié ou non, vous pouvez modifier votre workflow pour désactiver les déploiements intelligents. Pour plus d’informations, consultez Personnaliser le workflow ou pipeline.

Notes

Cette fonctionnalité a été lancée en préversion publique le 20 avril 2022. Les connexions créées avant cette date doivent être mises à jour ou recréées pour que les déploiements intelligents soient activés.

Envisager des options de personnalisation du déploiement

Un certain nombre d’options de personnalisation sont disponibles pour le déploiement de contenu avec des référentiels Microsoft Sentinel.

Personnaliser le workflow ou le pipeline

Vous pouvez personnaliser le workflow ou le pipeline de l’une des façons suivantes :

  • configurer des déclencheurs de déploiement différents
  • déployer du contenu uniquement à partir d’un dossier racine spécifique pour un espace de travail donné
  • planifier l’exécution périodique du workflow
  • combiner différents événements de workflow
  • désactiver les déploiements intelligents

Ces personnalisations sont définies dans un fichier.yml spécifique à votre workflow ou pipeline. Pour plus de détails sur la mise en œuvre, consultez Personnaliser les déploiements de référentiel.

Personnalisation du déploiement

Une fois le workflow ou pipeline déclenché, le déploiement prend en charge les scénarios suivants :

  • hiérarchiser le contenu à déployer avant le reste du contenu du référentiel
  • exclure du contenu du déploiement
  • spécifier des fichiers de paramètres de modèle ARM

Ces options sont disponibles via une fonctionnalité du script de déploiement PowerShell appelé à partir du workflow ou du pipeline. Pour plus d’informations sur l’implémentation de ces personnalisations, consultez Personnaliser les déploiements de référentiel.

Étapes suivantes

Obtenez d’autres exemples et instructions pas à pas sur le déploiement de référentiels Microsoft Sentinel.