Bearbeiten

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

Azure DevOps
Azure-Schlüsseltresor
Virtuelle Azure Windows-Computer
Microsoft 365

Die hier beschriebene Lösung verfolgt Änderungen nach, die von Dienstadministrator*innen vorgenommen wurden, und fügt Bereitstellungen einen Genehmigungsprozess für Microsoft 365-Mandanten hinzu. Sie kann helfen, alle Änderungen an Microsoft 365-Mandanten lückenlos nachzuverfolgen. Die Lösung kann außerdem dazu beitragen, einen Konfigurationsdrift zwischen mehreren Microsoft 365-Mandanten zu verhindern.

Aufbau

Diagramm der Architektur zur Automatisierung von Änderungen an Konfigurationen von Microsoft 365-Mandanten.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Workflow

  1. Ein Eintrag wird in der von Administrator*in 1 geforkten Microsoft 365-Konfigurationsdatei von Administrator*in 1 hinzugefügt, aktualisiert oder gelöscht.
  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. Administrator*innen prüfen den Code und führen den 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 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. Administrator*innen überprüfen Änderungen in einem gestagten 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 bietet Continuous Integration (CI) und Continuous Delivery (CD), um Code zu testen und zu erstellen und auf einem beliebigen Ziel bereitzustellen.
  • Azure Key Vault verbessert die Speichersicherheit für Token, Kennwörter, Zertifikate, API-Schlüssel und andere Geheimnisse. Außerdem ermöglicht der Dienst eine strenge Kontrolle des Zugriffs auf diese Geheimnisse.
  • Mit Microsoft365DSC kann die Bereitstellung, Konfiguration und Überwachung von Microsoft 365-Mandanten über PowerShell DSC automatisiert werden.
  • Windows PowerShell DSC ist eine Verwaltungsplattform in PowerShell. Mit dieser Plattform können Sie Ihre Entwicklungsinfrastruktur mithilfe eines Configuration-as-Code-Modells verwalten.

Alternativen

Im nächsten Schritt können Sie Konfigurationen mithilfe von DSC in Azure Automation an einem zentralen Ort speichern und Complianceberichterstellung mit dem gewünschten Zustand hinzufü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.

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

Mithilfe der in diesem Artikel beschriebenen Lösung können Sie Änderungen an Microsoft 365-Mandantenkonfigurationen mit Azure DevOps und Microsoft365DSC automatisieren. Microsoft365DSC ist ein Desired State Configuration-Modul (DSC) von PowerShell. Sie können damit Microsoft 365-Mandanten mit einem authentischen DevOps-Ansatz konfigurieren und verwalten: Konfiguration als Code.

Mögliche Anwendungsfälle

Diese Lösung kann Ihnen helfen, Microsoft 365-Mandantenkonfigurationen auf kontrollierte und automatisierte Weise mithilfe DevOps-Tools und -Methoden in folgenden Umgebungen zu verwalten:

  • Entwicklungs-, Test-, Akzeptanz- und Produktionsumgebungen
  • Mehrere Kundenmandanten, wie in einem Szenario mit einem verwaltetem Dienstanbieter

Überlegungen

Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. Weitere Informationen finden Sie unter Microsoft Azure 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.

Operations

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
  • mithilfe von Boards Aufgaben, Projekten und mehr nachverfolgen

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.

Skalierbarkeit

Sie können diese Lösung verwenden, wenn Sie mit mehreren Umgebungen, mehreren Workloads und/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 mehrere Mandanten für ein Entwicklungs-/Test-/Akzeptanz-/Produktionsszenario und/oder für mehrere Organisationen bereitzustellen.

Um die Skalierbarkeit noch weiter zu erhöhen, können Sie eine Datenlösung mit aggregierter Konfiguration wie Datum verwenden.

Sicherheit

Die meisten Microsoft365DSC-Ressourcen unterstützen die Authentifizierung über Benutzername und Kennwort. Wir empfehlen diese Art der Authentifizierung jedoch nicht, da die Best Practices von Microsoft die Multi-Faktor-Authentifizierung empfehlen. Anwendungsanmeldeinformationen sind die bevorzugte Methode, wenn sie von den Microsoft 365-Ressourcen unterstützt werden. Beispielsweise unterstützen SharePoint Online, Microsoft Entra ID und andere Ressourcen Anwendungsanmeldeinformationen.

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

DevOps

Sie können diese Lösung in Azure DevOps Server ausführen. In GitHub können Sie eine ähnliche Lösung mit GitHub Actions erstellen.

Kostenoptimierung

Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Weitere Informationen zu Azure DevOps-Preisen finden Sie unter Preise für Azure DevOps. Wenn Sie Key Vault in Ihre Lösung integrieren, finden Sie hier Preisinformationen.

Sie können die voraussichtlichen Kosten auch mit dem Azure-Preisrechner ermitteln.

Beitragende

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

Hauptautor:

Nächste Schritte