Modifier

Gérer la configuration des locataires Microsoft 365 en utilisant Microsoft365DSC et Azure DevOps

Azure DevOps
Azure Key Vault
Machines virtuelles Windows Azure
Microsoft 365

La solution décrite ici assure le suivi des modifications apportées par les administrateurs de services et ajoute un processus d’approbation aux déploiements sur les locataires Microsoft 365. Elle peut vous aider à empêcher les modifications non suivies des locataires Microsoft 365. Elle permet également d’éviter les dérives de configuration entre plusieurs locataires Microsoft 365.

Architecture

Diagramme illustrant l'architecture pour l'automatisation des modifications apportées aux configurations des locataires de Microsoft 365.

Téléchargez un fichier Visio de cette architecture.

Workflow

  1. L’administrateur 1 ajoute, met à jour ou supprime une entrée dans la fourche de l’administrateur 1 du fichier config de Microsoft 365.
  2. L’administrateur 1 valide et synchronise les modifications apportées au référentiel de la fourche de l’administrateur 1.
  3. L’administrateur 1 crée une demande de tirage (pull request) pour fusionner les modifications dans le référentiel principal.
  4. Le pipeline de build s’exécute sur la demande de tirage (pull request).
  5. Les administrateurs révisent le code et fusionnent la demande de tirage (pull request).
  6. La demande de tirage (pull request) fusionnée déclenche un pipeline pour compiler les fichiers MOF. Le pipeline appelle Azure Key Vault pour récupérer les informations d’identification utilisées dans les fichiers MOF.
  7. Une tâche Azure PowerShell dans un pipeline multiétape utilise les fichiers MOF compilés pour déployer les modifications de configuration via Microsoft365DSC.
  8. Les administrateurs valident les modifications apportées à un locataire Microsoft 365 intermédiaire.
  9. Les administrateurs reçoivent une notification du processus d’approbation dans Azure DevOps pour le locataire Microsoft 365 de production. Les administrateurs approuvent ou rejettent les modifications.

Composants

  • Azure Pipelines permet l’intégration continue (CI) et la livraison continue (CD) afin de tester et générer votre code et de l’expédier vers n’importe quelle cible.
  • Azure Key Vault améliore la sécurité du stockage des jetons, mots de passe, certificats, clés API et autres secrets. Il fournit également un accès étroitement contrôlé à ces secrets.
  • Microsoft365DSC permet d’automatiser le déploiement, la configuration et la surveillance des locataires Microsoft 365 via PowerShell DSC.
  • Windows PowerShell DSC est une plateforme de gestion dans PowerShell. Vous pouvez l’utiliser pour gérer votre infrastructure de développement à l’aide d’un modèle de configuration en tant que code.

Autres solutions

Dans un deuxième temps, vous pouvez utiliser DSC dans Azure Automation pour stocker les configurations dans un emplacement central et ajouter des rapports de conformité avec l’état souhaité.

Cette architecture utilise Key Vault pour stocker les certificats d’Azure App Service ou les informations d’identification d’utilisateur qui sont utilisées pour l’authentification auprès du locataire Microsoft 365. Key Vault offre une certaine scalabilité. Comme alternative, vous pouvez utiliser des variables de pipeline pour réduire la complexité de la solution.

Détails du scénario

De nombreuses entreprises adoptent les pratiques DevOps et souhaitent appliquer ces pratiques à leurs locataires Microsoft 365. Si vous n’adoptez pas DevOps pour Microsoft 365, vous risquez de rencontrer certains problèmes courants :

  • Configuration incorrecte
  • Difficultés de suivi des modifications de configuration
  • Aucun processus d’approbation pour les modifications des locataires

Vous pouvez utiliser la solution décrite dans cet article pour automatiser les modifications apportées aux configurations des locataires Microsoft 365 à l’aide d’Azure DevOps et Microsoft365DSC. Microsoft365DSC est un module de PowerShell Desired State Configuration (DSC). Vous pouvez l’utiliser pour configurer et gérer les locataires Microsoft 365 dans un véritable style DevOps : configuration en tant que code.

Cas d’usage potentiels

Cette solution peut vous aider à gérer la configuration des locataires Microsoft 365 de manière contrôlée et automatisée, en utilisant les outils et les pratiques DevOps, entre :

  • Les environnements de développement, de test, d’acceptation et de production.
  • Plusieurs locataires client, comme dans un scénario de fournisseur de services gérés.

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d'informations, consultez Microsoft Azure Well-Architected Framework.

La plupart des personnes qui débutent avec PowerShell DSC trouvent qu’un certain temps est nécessaire pour apprendre à l’utiliser. Il est utile d’avoir une solide compréhension de PowerShell et une expérience de la création de scripts.

Opérations

Certaines équipes d’exploitation considèrent Azure DevOps comme un outil destiné aux développeurs. Toutefois, ces équipes peuvent tirer parti de l’utilisation d’Azure DevOps. Les équipes d’exploitation peuvent :

  • Stocker leurs scripts dans un référentiel et ajouter le contrôle de code source et le contrôle de version.
  • Automatiser les déploiements de scripts.
  • Utiliser des tableaux pour suivre des tâches, des projets et bien plus encore.

L’utilisation d’un modèle de configuration en tant que code n’est pas une tâche ponctuelle. Il s’agit d’un changement dans votre façon de travailler et d’un changement fondamental pour tous les membres de l’équipe. Vous n’apportez plus de modifications manuellement. Au lieu de cela, tout est implémenté dans des scripts et déployé automatiquement. Pour pouvoir effectuer ce changement, tous les membres de l’équipe doivent avoir les compétences nécessaires.

Extensibilité

Vous pouvez utiliser cette solution lorsque vous travaillez avec plusieurs environnements, plusieurs charges de travail ou plusieurs équipes. Vous pouvez configurer le processus de validation de sorte que des experts doivent approuver chaque charge de travail. Vous pouvez également étendre la solution pour la déployer sur plusieurs locataires, pour un scénario de développement, de test, d’acceptation ou de production ou pour plusieurs organisations.

Pour augmenter encore davantage la scalabilité, vous pouvez utiliser une solution de données de configuration agrégée telle que Datum.

Sécurité

La plupart des ressources Microsoft365DSC prennent en charge l’authentification par nom d’utilisateur et mot de passe. Mais nous ne recommandons pas ce type d’authentification, car les meilleures pratiques de Microsoft préconisent l’authentification multifacteur. Les informations d’identification de l’application sont la méthode préférée, lorsqu’elles sont prises en charge par les ressources Microsoft 365. Par exemple, SharePoint Online,Microsoft Entra ID et d’autres ressources prennent en charge les informations d’identification de l’application.

Si vous générez une solution Microsoft365DSC sur Azure DevOps, vous pouvez également tirer parti de la sécurité dans Azure Pipelines et d’un processus d’approbation pour protéger le déploiement sur votre locataire de production.

DevOps

Vous pouvez exécuter cette solution dans Azure DevOps Server. Vous pouvez créer une solution similaire dans GitHub à l’aide de GitHub Actions.

Optimisation des coûts

L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.

Pour obtenir des informations sur la tarification d’Azure DevOps, consultez Tarification Azure DevOps. Si vous incorporez Key Vault à votre solution, vous trouverez des informations sur la tarification ici.

Vous pouvez également utiliser la calculatrice de prix Azure pour estimer les coûts.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Étapes suivantes