Freigeben über


Verwalten von Microsoft 365-Mandantenkonfigurationen mithilfe von Microsoft365DSC und Azure DevOps

Azure DevOps
Azure Key Vault
Virtuelle Azure Windows-Computer
Microsoft 365

In diesem Artikel wird eine Lösung beschrieben, die Änderungen nachverfolgt, die von Dienstadministratoren vorgenommen werden, und fügt bereitstellungen Microsoft 365-Mandanten einen Genehmigungsprozess hinzu. Es kann Ihnen helfen, nicht nachverfolgte Änderungen an Microsoft 365-Mandanten zu verhindern und Konfigurationsabweichungen zwischen mehreren Microsoft 365-Mandanten zu verhindern.

Aufbau

Diagramm, das die Architektur zum Automatisieren von Änderungen an Microsoft 365-Mandantenkonfigurationen zeigt.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Arbeitsablauf

  1. Administrator 1 fügt einen Eintrag in admin 1 der Microsoft 365-Konfigurationsdatei hinzu, aktualisiert oder löscht einen Eintrag.
  2. Administrator*in 1 committet und synchronisiert die Änderungen mit dem von Admin 1 geforkten Repository.
  3. Administrator*in 1 erstellt einen Pull Request (PR), um die Änderungen mit dem Hauptrepository zusammenzuführen.
  4. Die Buildpipeline wird auf dem PR ausgeführt.
  5. Administratoren überprüfen den Code und führen die PR zusammen.
  6. Der zusammengeführte PR löst eine Pipeline zum Kompilieren Managed-Object-Format-Dateien (MOF) aus. Die Pipeline ruft Azure Key Vault auf, um die Anmeldeinformationen abzurufen, die in den MOF-Dateien verwendet werden.
  7. Ein Azure PowerShell-Task in einer mehrstufigen Pipeline verwendet die kompilierten MOF-Dateien, um Konfigurationsänderungen über Microsoft365DSC bereitzustellen.
  8. Administratoren überprüfen die Änderungen in einem mehrstufigen Microsoft 365-Mandanten.
  9. Administrator*innen erhalten vom Genehmigungsprozess in Azure DevOps eine Benachrichtigung zum Microsoft 365-Produktionsmandanten. Administrator*innen genehmigen die Änderungen oder lehnen sie ab.

Komponenten

  • Azure Pipelines ist ein Azure DevOps-Dienst für kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD). Verwenden Sie Azure Pipelines, um Ihren Code zu testen und zu erstellen und an ein beliebiges Ziel zu senden. Sie können Azure-Pipelines auch verwenden, um Qualitätsgates zu implementieren, um sicherzustellen, dass Sie Änderungen auf kontrollierte und konsistente Weise bereitstellen.
  • Key Vault verbessert die Sicherheit des Speichers für Token, Kennwörter, Zertifikate, API-Schlüssel und andere geheime Schlüssel. Außerdem ermöglicht der Dienst eine strenge Kontrolle des Zugriffs auf diese Geheimnisse. Verwenden Sie Key Vault, um Dienstprinzipale und Zertifikate zu speichern, die Sie zum Bereitstellen von Konfigurationsänderungen für Microsoft 365-Mandanten verwenden.
  • Microsoft365DSC bietet Automatisierung für die Bereitstellung, Konfiguration und Überwachung von Microsoft 365-Mandanten über die PowerShell Desired Stage Configuration (DSC). Verwenden Sie Microsoft365DSC, um Konfigurationsänderungen für Microsoft 365-Mandanten über Azure-Pipelines bereitzustellen.
  • Windows PowerShell DSC ist eine Verwaltungsplattform in PowerShell. Mit dieser Plattform können Sie Ihre Entwicklungsinfrastruktur mithilfe eines Configuration-as-Code-Modells verwalten. Dieses Modell ist die zugrunde liegende Technologie, die Microsoft365DSC verwendet.

Alternativen

Sie können DSC in Azure Automation verwenden, um Konfigurationen an einem zentralen Ort zu speichern und Berichte zur Compliance mit dem gewünschten Zustand hinzuzufügen.

In dieser Architektur werden Azure App Service-Zertifikate oder Benutzeranmeldeinformationen für die Authentifizierung beim Microsoft 365-Mandanten mithilfe von Key Vault gespeichert. Key Vault bietet Skalierbarkeit. Alternativ können Sie Pipelinevariablen verwenden, um die Komplexität der Lösung zu verringern. Mithilfe eines virtuellen Azure-Computers (VM) für Windows und DSC können Sie eine Konfiguration auf Microsoft 365-Mandanten anwenden und überwachen, die Microsoft365DSC verwenden. Sie können Azure-Aktionsgruppen verwenden, um E-Mails an Microsoft 365-Administratoren zu senden, wenn die Azure Windows-VM eine Konfigurationsabweichung mithilfe von Microsoft 365DSC erkennt. Darüber hinaus kann eine Azure-Aktionsgruppe einen Webhook ausführen, um ein Azure-Runbook auszulösen, um einen Bericht über konfigurationsabweichungen innerhalb von Microsoft 365-Mandanten zu generieren.

Szenariodetails

Viele Unternehmen führen DevOps ein und möchten diese Methoden auf ihre Microsoft 365-Mandanten anwenden. Wenn Sie DevOps nicht für Microsoft 365 einsetzen, können bestimmte häufige Probleme auftreten:

  • Fehlkonfiguration
  • Herausforderungen bei der Nachverfolgung von Konfigurationsänderungen
  • Kein Genehmigungsprozess für Mandantenänderungen

Sie können die in diesem Artikel beschriebene Lösung verwenden, um Änderungen an Microsoft 365-Mandantenkonfigurationen mithilfe von Azure DevOps und Microsoft365DSC zu automatisieren. Microsoft365DSC ist ein PowerShell-DSC-Modul . Sie können es verwenden, um Microsoft 365-Mandanten in einem echten DevOps-Stil zu konfigurieren und zu verwalten, der als Code konfiguriert ist.

Mögliche Anwendungsfälle

Diese Lösung kann Ihnen bei der Verwaltung der Microsoft 365-Mandantenkonfiguration auf kontrollierte und automatisierte Weise helfen, indem Sie DevOps-Tools und -Methoden für die gesamte Anwendung verwenden:

  • Entwicklungs-, Test-, Akzeptanz- und Produktionsumgebungen
  • Mehrere Kundenmandanten, z. B. in einem Szenario eines verwalteten Dienstanbieters.

Überlegungen

Diese Überlegungen bilden die Säulen des Azure Well-Architected Framework, einer Reihe von Leitprinzipien, die Sie zur Verbesserung der Qualität eines Workloads verwenden können. Weitere Informationen finden Sie unter Well-Architected Framework.

Die meisten Personen ohne Vorkenntnisse in PowerShell DSC finden, dass der Einarbeitungsaufwand recht hoch ist. Dabei ist es hilfreich, wenn ein solides Verständnis von PowerShell und Erfahrung mit Skripterstellung vorhanden ist.

Sicherheit

Sicherheit bietet Sicherheitsmaßnahmen gegen bewusste Angriffe und den Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie in der Prüfliste zur Entwurfsüberprüfung für Sicherheit.

Die meisten Microsoft365DSC-Ressourcen unterstützen die Authentifizierung über Benutzername und Kennwort. Wir empfehlen diesen Authentifizierungstyp nicht, da bewährte Methoden von Microsoft die mehrstufige Authentifizierung empfehlen. Wenn die Microsoft 365-Ressourcen sie unterstützen, sind Anwendungsanmeldeinformationen die bevorzugte Methode. SharePoint in Microsoft 365, Microsoft Entra ID und andere Ressourcen unterstützen Anwendungsanmeldeinformationen.

Wenn Sie eine Microsoft365DSC-Lösung auf Azure DevOps erstellen, können Sie auch die Sicherheit in Azure Pipelines und einen Genehmigungsprozess nutzen, um die Bereitstellung für Ihren Produktionsmandanten zu schützen.

Kostenoptimierung

Die Kostenoptimierung konzentriert sich auf Möglichkeiten, unnötige Ausgaben zu reduzieren und die betriebliche Effizienz zu verbessern. Weitere Informationen finden Sie in der Prüfliste für die Entwurfsüberprüfung für die Kostenoptimierung.

Informationen zu Azure DevOps-Preisen finden Sie unter "Preise für Azure DevOps". Wenn Sie Key Vault in Ihre Lösung integrieren, lesen Sie die Preise von Key Vault.

Sie können auch den Azure-Preisrechner verwenden, um Kosten zu schätzen.

Optimaler Betrieb

„Optimaler Betrieb“ deckt die Betriebsprozesse ab, die für die Bereitstellung einer Anwendung und deren Ausführung in der Produktion sorgen. Weitere Informationen finden Sie in der Prüfliste zur Entwurfsüberprüfung für Operational Excellence.

Einige Operations-Teams sind der Ansicht, dass Azure DevOps ein Tool für Entwickler*innen ist. Dabei können auch Operations-Teams von Azure DevOps profitieren. Operations-Teams können:

  • ihre Skripts in einem Repository speichern und Quellcode- sowie Versionsverwaltung hinzufügen
  • die Bereitstellung von Skripts automatisieren
  • Verwenden Sie Boards zum Nachverfolgen von Aufgaben und Projekten.

Die Verwendung eines Configuration-as-Code-Modells ist keine einmalige Angelegenheit. Ein Configuration-as-Code-Modell stellt eine Veränderung ihrer Arbeitsweise und eine grundlegende Änderung für alle Teammitglieder dar. Änderungen werden von nun nicht mehr manuell vorgenommen, sondern in Skripts implementiert und automatisch bereitgestellt. Für diesen Wandel müssen alle Teammitglieder über die entsprechenden Qualifikationen verfügen.

Effiziente Leistung

Die Leistungseffizienz bezieht sich auf die Fähigkeit Ihrer Workload, die Anforderungen der Benutzer effizient zu erfüllen. Weitere Informationen finden Sie in der Prüfliste zur Entwurfsüberprüfung für Die Leistungseffizienz.

Sie können diese Lösung verwenden, wenn Sie mit mehreren Umgebungen, mehreren Workloads oder mehreren Teams arbeiten. Sie können den Bestätigungsprozess so konfigurieren, dass Expert*innen jede Workload genehmigen müssen. Sie können die Lösung auch erweitern, um sie für Szenarien bereitzustellen, einschließlich Entwicklung, Test, Akzeptanz und Produktionsszenarien oder für mehrere Organisationen.

Bereitstellen dieses Szenarios

Das Whitepaper "Microsoft 365 DSC ", "Managing Microsoft 365" im echten DevOps-Stil mit Microsoft365DSC und Azure DevOps, bietet detaillierte Schritte zur Bereitstellung dieses Szenarios.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautor:

Nächste Schritte

Microsoft 365-Lösungs- und Architekturcenter