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
Laden Sie eine Visio-Datei dieser Architektur herunter.
Workflow
- Administrator 1 fügt einen Eintrag in admin 1 der Microsoft 365-Konfigurationsdatei hinzu, aktualisiert oder löscht einen Eintrag.
- Administrator*in 1 committet und synchronisiert die Änderungen mit dem von Admin 1 geforkten Repository.
- Administrator*in 1 erstellt einen Pull Request (PR), um die Änderungen mit dem Hauptrepository zusammenzuführen.
- Die Buildpipeline wird auf dem PR ausgeführt.
- Administratoren überprüfen den Code und führen die PR zusammen.
- 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.
- Ein Azure PowerShell-Task in einer mehrstufigen Pipeline verwendet die kompilierten MOF-Dateien, um Konfigurationsänderungen über Microsoft365DSC bereitzustellen.
- Administratoren überprüfen die Änderungen in einem mehrstufigen Microsoft 365-Mandanten.
- 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 Einhaltung des gewünschten Zustands 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
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 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 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.
Sicherheit
Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der 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 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.
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 Erstellen einer Checkliste zur Überprüfung der Kostenoptimierung.
Weitere 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 die voraussichtlichen Kosten auch mit dem Azure-Preisrechner ermitteln.
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 unter Erstellen einer Checkliste zur Überprüfung des optimalen Betriebs.
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 ist die Fähigkeit Ihrer Workload, auf effiziente Weise eine den Anforderungen der Benutzer entsprechende Skalierung auszuführen. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der 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:
- Derek Smay | Senior Cloud Solution Architect
Nächste Schritte
- Verwalten von Microsoft 365 im authentischen DevOps-Stil mit Microsoft365DSC und Azure DevOps
- Microsoft365DSC-Quellcode
- YouTube-Kanal zu Microsoft365DSC
- Microsoft365DSC-Website
- Microsoft365DSC-Export-Generator (Tool)