Den här artikeln beskriver en lösning som spårar ändringar som tjänstadministratörer gör och lägger till en godkännandeprocess för distributioner till Microsoft 365-klienter. Det kan hjälpa dig att förhindra ospårade ändringar i Microsoft 365-klientorganisationer och förhindra konfigurationsavvikelser mellan flera Microsoft 365-klienter.
Arkitektur
Ladda ned en Visio-fil med den här arkitekturen.
Arbetsflöde
- Administratör 1 lägger till, uppdaterar eller tar bort en post i Admin 1:s förgrening av Microsoft 365-konfigurationsfilen.
- Admin 1 checkar in och synkroniserar ändringarna till admin 1:s förgrenade lagringsplats.
- Administratör 1 skapar en pull-begäran (PR) för att sammanfoga ändringarna till huvudlagringsplatsen.
- Bygg-pipelinen körs på PR.
- Administratörer granskar koden och sammanfogar PR.
- Den sammanfogade PR utlöser en pipeline för att kompilera MOF-filer (Managed Object Format). Pipelinen anropar Azure Key Vault för att hämta de autentiseringsuppgifter som används i MOF-filerna.
- En Azure PowerShell-uppgift i en pipeline för flera enheter använder de kompilerade MOF-filerna för att distribuera konfigurationsändringar via Microsoft365DSC.
- Administratörer validerar ändringarna i en mellanlagrad Microsoft 365-klientorganisation.
- Administratörer får meddelanden från godkännandeprocessen i Azure DevOps för microsoft 365-produktionsklientorganisationen. Administratörer godkänner eller avvisar ändringarna.
Komponenter
- Azure Pipelines är en Azure DevOps-tjänst för kontinuerlig integrering och kontinuerlig leverans (CI/CD). Använd Azure Pipelines för att testa och skapa din kod och skicka den till alla mål. Du kan också använda Azure Pipelines för att implementera kvalitetsgrindar för att säkerställa att du distribuerar ändringar på ett kontrollerat och konsekvent sätt.
- Key Vault förbättrar säkerheten för lagring för token, lösenord, certifikat, API-nycklar och andra hemligheter. Det ger också strikt kontrollerad åtkomst till dessa hemligheter. Använd Key Vault för att lagra tjänstens huvudnamn och certifikat som du använder för att distribuera konfigurationsändringar till Microsoft 365-klienter.
- Microsoft365DSC tillhandahåller automatisering för distribution, konfiguration och övervakning av Microsoft 365-klienter via PowerShell Desired Stage Configuration (DSC). Använd Microsoft365DSC för att distribuera konfigurationsändringar till Microsoft 365-klienter via Azure Pipelines.
- Windows PowerShell DSC är en hanteringsplattform i PowerShell. Du kan använda den för att hantera utvecklingsinfrastrukturen med hjälp av en konfigurationsmodell som kod. Den här modellen är den underliggande teknik som Microsoft365DSC använder.
Alternativ
Du kan använda DSC i Azure Automation för att lagra konfigurationer på en central plats och lägga till rapportering om efterlevnad med önskat tillstånd.
Den här arkitekturen använder Key Vault för att lagra Azure App Service-certifikat eller användarautentiseringsuppgifter som används för autentisering till Microsoft 365-klientorganisationen. Key Vault ger skalbarhet. Du kan också använda pipelinevariabler för att minska lösningens komplexitet. Genom att använda en virtuell Azure-dator (VM) för Windows och DSC kan du använda och övervaka en konfiguration för Microsoft 365-klienter som använder Microsoft365DSC. Du kan använda Azure-åtgärdsgrupper för att skicka e-post till Microsoft 365-administratörer när den virtuella Azure Windows-datorn identifierar en konfigurationsavvikelse med hjälp av Microsoft 365DSC. Dessutom kan en Azure-åtgärdsgrupp köra en webhook för att utlösa en Azure-runbook för att generera en rapport om konfigurationsavvikelser i Microsoft 365-klienter.
Information om scenario
Många företag använder DevOps-metoder och vill tillämpa dessa metoder på sina Microsoft 365-klienter. Om du inte använder DevOps för Microsoft 365 kan det uppstå några vanliga problem:
- Felaktig konfiguration
- Utmaningar med att spåra konfigurationsändringar
- Ingen godkännandeprocess för klientändringar
Du kan använda lösningen som beskrivs i den här artikeln för att automatisera ändringar i Microsoft 365-klientkonfigurationer med hjälp av Azure DevOps och Microsoft365DSC. Microsoft365DSC är en PowerShell DSC-modul . Du kan använda den för att konfigurera och hantera Microsoft 365-klienter i en sann DevOps-stil, vilket är konfiguration som kod.
Potentiella användningsfall
Den här lösningen kan hjälpa dig att hantera Microsoft 365-klientkonfigurationen på ett kontrollerat och automatiserat sätt med hjälp av DevOps-verktyg och -metoder i hela:
- Utvecklings-, test-, acceptans- och produktionsmiljöer.
- Flera kundklientorganisationer, till exempel i ett scenario med en hanterad tjänstleverantör.
Att tänka på
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.
De flesta som börjar med PowerShell DSC upptäcker att det tar ett tag att lära sig det. Det hjälper om du har en gedigen förståelse för PowerShell och erfarenhet av att skapa skript.
Säkerhet
Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Checklista för designgranskning för säkerhet.
De flesta Microsoft365DSC-resurser stöder autentisering via användarnamn och lösenord. Vi rekommenderar inte den typen av autentisering eftersom Microsofts metodtips rekommenderar multifaktorautentisering. Om Microsoft 365-resurserna stöder dem är programautentiseringsuppgifter den metod som föredras. SharePoint i Microsoft 365, Microsoft Entra ID och andra resurser stöder programautentiseringsuppgifter.
Om du skapar en Microsoft365DSC-lösning på Azure DevOps kan du också dra nytta av säkerheten i Azure Pipelines och en godkännandeprocess för att skydda distributionen till din produktionsklientorganisation.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Checklista för designgranskning för kostnadsoptimering.
Prisinformation för Azure DevOps finns i Priser för Azure DevOps. Om du införlivar Key Vault i din lösning kan du läsa Priser för Key Vault.
Du kan också använda Priskalkylatorn för Azure för att beräkna kostnader.
Driftseffektivitet
Operational Excellence omfattar de driftsprocesser som distribuerar ett program och håller det igång i produktion. Mer information finns i Checklista för designgranskning för Operational Excellence.
Vissa driftsteam anser att Azure DevOps är ett verktyg för utvecklare. Men de här teamen kan dra nytta av att använda Azure DevOps. Driftteam kan:
- Lagra skripten på en lagringsplats och lägg till källkontroll och versionshantering.
- Automatisera distributioner av skript.
- Använd tavlor för att spåra uppgifter och projekt.
Att använda en modell med konfiguration som kod är inte en engångsuppgift. Det är en förändring i ditt sätt att arbeta och en grundläggande förändring för alla teammedlemmar. Du gör inte längre ändringar manuellt. I stället implementeras allt i skript och distribueras automatiskt. Alla teammedlemmar måste ha de kunskaper som krävs för att göra den här ändringen.
Prestandaeffektivitet
Prestandaeffektivitet är arbetsbelastningens förmåga att skala för att uppfylla användarnas krav på ett effektivt sätt. Mer information finns i Checklista för designgranskning för prestandaeffektivitet.
Du kan använda den här lösningen när du arbetar med flera miljöer, flera arbetsbelastningar eller flera team. Du kan konfigurera valideringsprocessen så att experter måste godkänna varje arbetsbelastning. Du kan också utöka lösningen för att distribuera till flera klientorganisationer för scenarier, till exempel utvecklings-, test-, acceptans- och produktionsscenarier eller för flera organisationer.
Distribuera det här scenariot
White paper för Microsoft 365 DSC, Hantera Microsoft 365 i sann DevOps-stil med Microsoft365DSC och Azure DevOps, innehåller detaljerade steg för att distribuera det här scenariot.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Derek Smay | Senior Cloud Solution Architect
Nästa steg
- Hantera Microsoft 365 i sann DevOps-stil med Microsoft365DSC och Azure DevOps
- Microsoft365DSC-källkod
- Microsoft365DSC YouTube-kanal
- Microsoft365DSC-webbplats
- Exportgeneratorverktyg för Microsoft365DSC
Relaterad resurs
Styrning från slutpunkt till slutpunkt i Azure när du använder CI/CD