Gestire la configurazione del tenant di Microsoft 365 con Microsoft365DSC e Azure DevOps

Azure DevOps
Insieme di credenziali chiave di Azure
Macchine virtuali Windows in Azure
Microsoft 365

La soluzione descritta qui tiene traccia delle modifiche apportate dagli amministratori del servizio e aggiunge un processo di approvazione alle distribuzioni ai tenant di Microsoft 365. Può essere utile per evitare modifiche non rilevate nei tenant di Microsoft 365. Consente inoltre di evitare la deriva della configurazione tra più tenant di Microsoft 365.

Architettura

Diagramma che mostra l'architettura per automatizzare le modifiche apportate alle configurazioni del tenant di Microsoft 365.

Scaricare un file di Visio di questa architettura.

Workflow

  1. Amministrazione 1 aggiunge, aggiorna o elimina una voce nel fork di Amministrazione 1 del file di configurazione di Microsoft 365.
  2. Amministrazione 1 esegue il commit e sincronizza le modifiche apportate al repository con fork di Amministrazione 1.
  3. Amministrazione 1 crea una richiesta pull per unire le modifiche al repository principale.
  4. La pipeline di compilazione viene eseguita nella richiesta pull.
  5. Amministrazione esaminare il codice e unire la richiesta pull.
  6. La richiesta pull unita attiva una pipeline per compilare i file MOF (Managed Object Format). La pipeline chiama Azure Key Vault per recuperare le credenziali usate nei file MOF.
  7. Un'attività di Azure PowerShell in una pipeline a più fasi usa i file MOF compilati per distribuire le modifiche di configurazione tramite Microsoft365DSC.
  8. Amministrazione convalidare le modifiche in un tenant di Microsoft 365 a fasi.
  9. Amministrazione ricevere notifiche dal processo di approvazione in Azure DevOps per il tenant di Microsoft 365 di produzione. Amministrazione approva o rifiuta le modifiche.

Componenti

  • Azure Pipelines consente l'integrazione continua (CI) e il recapito continuo (CD) per testare e compilare il codice e spedirlo a qualsiasi destinazione.
  • Azure Key Vault migliora la sicurezza dell'archiviazione per token, password, certificati, chiavi API e altri segreti. Fornisce inoltre accesso strettamente controllato a questi segreti.
  • Microsoft365DSC offre automazione per la distribuzione, la configurazione e il monitoraggio dei tenant di Microsoft 365 tramite PowerShell DSC.
  • Windows PowerShell DSC è una piattaforma di gestione in PowerShell. È possibile usarla per gestire l'infrastruttura di sviluppo usando un modello di configurazione come codice.

Alternative

Come passaggio successivo, è possibile usare DSC in Automazione di Azure per archiviare le configurazioni in una posizione centrale e aggiungere report di conformità allo stato desiderato.

Questa architettura usa Key Vault per archiviare app Azure certificati del servizio o credenziali utente usate per l'autenticazione nel tenant di Microsoft 365. Key Vault offre scalabilità. In alternativa, è possibile usare le variabili della pipeline per ridurre la complessità della soluzione.

Dettagli dello scenario

Molte aziende stanno adottando procedure DevOps e vogliono applicare queste procedure ai tenant di Microsoft 365. Se non si adotta DevOps per Microsoft 365, potrebbero verificarsi alcuni problemi comuni:

  • Errore di configurazione
  • Problemi con il rilevamento delle modifiche alla configurazione
  • Nessun processo di approvazione per le modifiche del tenant

È possibile usare la soluzione descritta in questo articolo per automatizzare le modifiche alle configurazioni dei tenant di Microsoft 365 usando Azure DevOps e Microsoft365DSC. Microsoft365DSC è un modulo DSC (Desired State Configuration) di PowerShell. È possibile usarlo per configurare e gestire i tenant di Microsoft 365 in uno stile DevOps reale: configurazione come codice.

Potenziali casi d'uso

Questa soluzione consente di gestire la configurazione del tenant di Microsoft 365 in modo controllato e automatizzato, usando strumenti e procedure DevOps in diversi modi:

  • Ambienti di sviluppo, test, accettazione e produzione.
  • Più tenant dei clienti, come in uno scenario di provider di servizi gestiti.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Framework ben progettato di Microsoft Azure.

La maggior parte delle persone che iniziano con PowerShell DSC ha scoperto che ci vuole un po' di tempo per imparare. È utile se si ha una conoscenza approfondita di PowerShell e dell'esperienza con la creazione di script.

Operazioni

Alcuni team operativi considerano Azure DevOps uno strumento per gli sviluppatori. Tuttavia, questi team possono trarre vantaggio dall'uso di Azure DevOps. I team operativi possono:

  • Archiviare gli script in un repository e aggiungere il controllo del codice sorgente e il controllo delle versioni.
  • Automatizzare le distribuzioni degli script.
  • Usare le bacheche per tenere traccia di attività, progetti e altro ancora.

L'uso di un modello di configurazione come codice non è un'attività monouso. È un cambiamento nel tuo modo di lavorare e un cambiamento fondamentale per tutti i membri del team. Le modifiche non vengono più apportate manualmente. Invece, tutto viene implementato negli script e distribuito automaticamente. Tutti i membri del team devono avere le competenze necessarie per apportare questa modifica.

Scalabilità

È possibile usare questa soluzione quando si usano più ambienti, più carichi di lavoro e/o più team. È possibile configurare il processo di convalida in modo che gli esperti debbano approvare ogni carico di lavoro. È anche possibile estendere la soluzione per la distribuzione in più tenant, per uno scenario di sviluppo/test/accettazione/produzione e/o per più organizzazioni.

Per aumentare ulteriormente la scalabilità, è possibile usare una soluzione di dati di configurazione aggregata come Datum.

Sicurezza

La maggior parte delle risorse di Microsoft365DSC supporta l'autenticazione tramite nome utente e password. Non è tuttavia consigliabile usare questo tipo di autenticazione perché le procedure consigliate da Microsoft consigliano l'autenticazione a più fattori. Le credenziali dell'applicazione sono il metodo preferito, dove supportato dalle risorse di Microsoft 365. Ad esempio, SharePoint Online, Microsoft Entra ID e altre risorse supportano le credenziali dell'applicazione.

Se si compila una soluzione Microsoft365DSC in Azure DevOps, è anche possibile sfruttare la sicurezza in Azure Pipelines e un processo di approvazione per proteggere la distribuzione nel tenant di produzione.

DevOps

È possibile eseguire questa soluzione in Azure DevOps Server. È possibile creare una soluzione simile in GitHub usando GitHub Actions.

Ottimizzazione dei costi

L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.

Per informazioni sui prezzi di Azure DevOps, vedere Prezzi per Azure DevOps. Se si incorpora Key Vault nella soluzione, è possibile trovare informazioni sui prezzi qui.

È anche possibile usare il calcolatore prezzi di Azure per stimare i costi.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Passaggi successivi