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

Questo articolo descrive una soluzione che 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 ai tenant di Microsoft 365 e impedire la deriva della 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. L'amministratore 1 aggiunge, aggiorna o elimina una voce nel fork di Admin 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 è un servizio Azure DevOps per l'integrazione continua e il recapito continuo (CI/CD). Usare Azure Pipelines per testare e compilare il codice e spedirlo a qualsiasi destinazione. È anche possibile usare Azure Pipelines per implementare controlli di qualità per garantire la distribuzione delle modifiche in modo controllato e coerente.
  • 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. Usare Key Vault per archiviare entità servizio e certificati 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 Desired Stage Configuration (DSC). Usare Microsoft365DSC 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. Questo modello è la 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 (VM) di Azure per Windows e DSC, è possibile applicare e monitorare una configurazione ai tenant di Microsoft 365 che usano Microsoft365DSC. È possibile usare i gruppi di azioni di Azure 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. Inoltre, un gruppo di azioni di Azure può eseguire un webhook per attivare un runbook di Azure per generare un report di deviazione della configurazione all'interno dei 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 di PowerShell. È possibile usarlo per configurare e gestire i tenant di Microsoft 365 in uno stile DevOps reale, ovvero la 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, ad esempio 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 sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per la sicurezza.

La maggior parte delle risorse di Microsoft365DSC supporta l'autenticazione tramite nome utente e password. Non è consigliabile usare questo tipo di autenticazione perché le procedure consigliate da Microsoft consigliano l'autenticazione a più fattori. Se le risorse di Microsoft 365 le supportano, le credenziali dell'applicazione sono il metodo preferito. SharePoint in Microsoft 365, 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 Elenco di controllo per la revisione della progettazione per l'ottimizzazione dei costi.

Per informazioni sui prezzi di Azure DevOps, vedere Prezzi di Azure DevOps. Se si incorpora Key Vault nella soluzione, vedere Prezzi di Key Vault.

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

Eccellenza operativa

L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e la mantengono in esecuzione nell'ambiente di produzione. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'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 bacheche per tenere traccia di attività e progetti.

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 delle prestazioni

L'efficienza delle prestazioni è la capacità di dimensionare il carico di lavoro per soddisfare in modo efficiente le richieste poste dagli utenti. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'efficienza delle prestazioni.

È possibile usare questa soluzione quando si lavora con più ambienti, più carichi di lavoro 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 scenari, tra cui scenari di sviluppo, test, accettazione e produzione o per più organizzazioni.

Distribuire lo scenario

Il white paper dsc di Microsoft 365, Managing Microsoft 365 in true DevOps style with Microsoft365DSC and 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

centro architetture e soluzioni Microsoft 365