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 qui descritta tiene traccia delle modifiche apportate dagli amministratori del servizio e aggiunge un processo di approvazione alle distribuzioni dei tenant di Microsoft 365. Può essere utile per evitare modifiche non rilevate ai tenant di Microsoft 365. Consente inoltre di evitare deviazioni di configurazione tra più tenant di Microsoft 365.

Architettura

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

Scaricare un file di Visio di questa architettura.

Workflow

  1. Amministratore 1 aggiunge, aggiorna o elimina una voce nel fork di Amministratore 1 del file di configurazione di Microsoft 365.
  2. Amministratore 1 esegue il commit e sincronizza le modifiche apportate al repository copiato tramite fork di Admin 1.
  3. Admin 1 crea una richiesta pull per unire le modifiche al repository principale.
  4. La pipeline di compilazione viene eseguita nella richiesta pull.
  5. Gli amministratori esaminano il codice e uniscono 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. Gli amministratori convalidano le modifiche in un tenant di Microsoft 365 a fasi.
  9. Gli amministratori ricevono notifiche dal processo di approvazione in Azure DevOps per il tenant di Microsoft 365 di produzione. Gli amministratori approvano o rifiutano le modifiche.

Componenti

  • Azure Pipelines combina l'integrazione continua (CI) e il recapito continuo (CD) per testare e compilare in modo costante e coerente il codice per poi distribuirlo in qualsiasi destinazione. Azure Pipelines consente di inserire quality gate per garantire che le modifiche vengano distribuite in modo controllato e coerente.
  • Azure Key Vault migliora la sicurezza dell'archiviazione per token, password, certificati, chiavi API e altri segreti. Fornisce inoltre un accesso strettamente controllato a questi segreti. Azure Key Vault verrà usato per archiviare l'entità servizio e il certificato usati per distribuire le modifiche di configurazione nei tenant di Microsoft 365.
  • Microsoft365DSC offre automazione per la distribuzione, la configurazione e il monitoraggio dei tenant di Microsoft 365 tramite PowerShell DSC. Micrsosoft365DSC verrà usato per distribuire le modifiche di configurazione ai tenant di Microsoft 365 tramite Azure Pipelines.
  • Windows PowerShell DSC è una piattaforma di gestione in PowerShell. È possibile usarla per gestire l'infrastruttura di sviluppo utilizzando un modello di configurazione come codice. Si tratta della tecnologia sottostante usata da Microsoft365DSC.

Alternative

È possibile usare DSC in Automazione di Azure per archiviare le configurazioni in una posizione centrale e aggiungere report sulla conformità con lo stato desiderato.

Questa architettura usa Key Vault per archiviare certificati del Servizio app di Azure o credenziali utente usate per l'autenticazione nel tenant di Microsoft 365. Key Vault offre scalabilità. In alternativa, è possibile usare variabili della pipeline per ridurre la complessità della soluzione. Usando una macchina virtuale Windows di Azure e DSC è possibile applicare e monitorare una configurazione al tenant di Microsoft 365 usando Microsoft365DSC. Il Gruppo di azioni di Azure può essere usato per inviare messaggi di posta elettronica agli amministratori di Microsoft 365 quando la macchina virtuale Windows di Azure rileva una deviazione della configurazione usando Microsoft 365DSC. Un gruppo di azioni di Azure può anche eseguire un webhook per attivare un runbook di Azure per generare un report di deviazione della configurazione all'interno del tenant di Microsoft 365.

Dettagli dello scenario

Molte aziende stanno adottando procedure DevOps e vogliono applicarle 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 puro stile DevOps: configurazione come codice.

Potenziali casi d'uso

Questa soluzione consente di gestire la configurazione dei 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 principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Microsoft Azure Well-Architected Framework.

La maggior parte delle persone che iniziano a utilizzare PowerShell DSC pensa che ci voglia un po' di tempo per impararlo. È utile se si ha una conoscenza approfondita di PowerShell ed esperienza nella creazione di script.

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 suggeriscono l'autenticazione a più fattori. Le credenziali dell'applicazione sono il metodo preferito, laddove supportate 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.

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 di Azure DevOps. Se si incorpora Key Vault nella soluzione, è possibile trovare qui le informazioni sui prezzi.

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

Eccellenza operativa

Alcuni team operativi pensano ad Azure DevOps come a uno strumento per gli sviluppatori. Tuttavia, anche 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 delle versioni.
  • Automatizzare le distribuzioni di script.
  • Usare schede per tenere traccia di attività, progetti e altro ancora.

L'uso di un modello di configurazione come codice non è un'attività una-tantum. È un cambiamento fondamentale nel modo di lavorare per tutti i membri del team. Le modifiche non vengono più apportate manualmente. Ogni aspetto viene invece implementato negli script e distribuito automaticamente. Tutti i membri del team devono avere le competenze necessarie per affrontare questo cambiamento.

Efficienza prestazionale

È 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.

Distribuire lo scenario

Il white paper di Microsoft365 DSC, Gestire di Microsoft 365 in pure stile DevOps con Microsoft365DSC e Azure DevOps, fornisce passaggi dettagliati per distribuire questo scenario.

Collaboratori

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

Autore principale:

Passaggi successivi

Governance end-to-end in Azure quando si usa CI/CD