Modifier

Partager via


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

Cet article décrit une solution qui suit les modifications apportées par les administrateurs de service et ajoute un processus d’approbation aux déploiements aux locataires Microsoft 365. Il peut vous aider à empêcher les modifications non effectuées sur les locataires Microsoft 365 et à empêcher la dérive 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 le fork de l’administrateur 1 du fichier de configuration 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 passent en revue le code et fusionnent la demande de tirage.
  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 est un service Azure DevOps pour l’intégration continue et la livraison continue. Utilisez Azure Pipelines pour tester et générer votre code et l’expédier à n’importe quelle cible. Vous pouvez également utiliser Azure Pipelines pour implémenter des portes de qualité pour vous assurer que vous déployez des modifications de manière contrôlée et cohérente.
  • Key Vault améliore la sécurité du stockage pour les jetons, les mots de passe, les certificats, les clés API et d’autres secrets. Il fournit également un accès étroitement contrôlé à ces secrets. Utilisez Key Vault pour stocker les principaux de service et les certificats que vous utilisez pour déployer des modifications de configuration sur des locataires Microsoft 365.
  • Microsoft365DSC fournit une automatisation pour le déploiement, la configuration et la surveillance des locataires Microsoft 365 via PowerShell Desired Stage Configuration (DSC). Utilisez Microsoft365DSC pour déployer des modifications de configuration sur des locataires Microsoft 365 via Azure Pipelines.
  • 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. Ce modèle est la technologie sous-jacente utilisée par Microsoft365DSC.

Autres solutions

Vous pouvez utiliser DSC dans Azure Automation pour stocker les configurations dans un emplacement centralisé et ajouter des rapports sur la conformité à 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. En utilisant une machine virtuelle Azure pour Windows et DSC, vous pouvez appliquer et surveiller une configuration aux locataires Microsoft 365 qui utilisent Microsoft365DSC. Vous pouvez utiliser des groupes d’actions Azure pour envoyer des e-mails aux administrateurs Microsoft 365 lorsque la machine virtuelle Windows Azure détecte une dérive de configuration à l’aide de Microsoft 365DSC. En outre, un groupe d’actions Azure peut exécuter un webhook pour déclencher un runbook Azure pour générer un rapport de dérive de configuration au sein des locataires Microsoft 365.

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 PowerShell DSC . Vous pouvez l’utiliser pour configurer et gérer les locataires Microsoft 365 dans un véritable style DevOps, qui est la configuration en tant que code.

Cas d’usage potentiels

Cette solution peut vous aider à gérer la configuration du locataire Microsoft 365 de manière contrôlée et automatisée à l’aide d’outils et pratiques DevOps :

  • Les environnements de développement, de test, d’acceptation et de production.
  • Plusieurs locataires clients, comme dans un scénario de fournisseur de services managé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.

Sécurité

La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour en savoir plus, consultez Liste de contrôle de l'examen de la conception pour la sécurité.

La plupart des ressources Microsoft365DSC prennent en charge l’authentification via le nom d’utilisateur et le mot de passe. Nous vous déconseillons de recommander ce type d’authentification, car les meilleures pratiques microsoft recommandent l’authentification multifacteur. Si les ressources Microsoft 365 les prennent en charge, les informations d’identification de l’application sont la méthode préférée. SharePoint dans Microsoft 365, l’ID Microsoft Entra 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.

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 Liste de contrôle de la révision de la conception pour l'optimisation des coûts.

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

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

Excellence opérationnelle

L’excellence opérationnelle couvre les processus opérationnels qui déploient une application et la maintiennent en production. Pour plus d’informations, consultez la Liste de contrôle de l'examen de la conception pour l'excellence opérationnelle.

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.
  • Utilisez des tableaux pour suivre les tâches et les projets.

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.

Efficacité des performances

L’efficacité des performances est la capacité de votre charge de travail à s’adapter à la demande des utilisateurs de façon efficace. Pour en savoir plus, consultez Liste de vérification de l'examen de la conception pour l'efficacité des performances

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 à déployer sur plusieurs locataires pour des scénarios, notamment des scénarios de développement, de test, d’acceptation et de production, ou pour plusieurs organisations.

Déployer ce scénario

Le livre blanc Microsoft 365 DSC, gestion de Microsoft 365 dans le style DevOps vrai avec Microsoft365DSC et Azure DevOps, fournit des étapes détaillées pour déployer ce scénario.

Contributeurs

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

Auteur principal :

  • Derek Smay | Architecte principal de solutions cloud

Étapes suivantes

Gouvernance de bout en bout dans Azure lors de l’utilisation de CI/CD