Monitorare e gestire la configurazione del vostro Tenant? Microsoft365DSC è la vostra soluzione!

Quante volte siete nella situazione di dover cercare uno strumento per monitorare e gestire il vostro Tenant Microsoft 365? In questo articolo parlerò di uno strumento messo a disposizione da alcuni dipendenti Microsoft che vi permette di rispondere a questa domanda, in modo totalmente gratuito.

Sto parlando della soluzione Microsoft365DSC, questa soluzione vi permette nello specifico di:

  • Tenere traccia delle modifiche svolte dagli Amministratori
  • Consente di “evitare” modifiche indesiderate all’interno del tenant
  • Permette di replicare le configurazioni da un tenant ad un altro

Specifico, inoltre, che Microsoft365DSC per alcune automazioni, utilizza anche Azure DevOps.

Microsoft365DSC è comunque un’iniziativa open source guidata da tecnici Microsoft e gestita della community, considerate inoltre che copre tutti i principali Workload di Microsoft 365 come:

  • Exchange Online
  • Microsoft Teams
  • SharePoint On-line
  • OneDrive for Business
  • Sicurezza e Conformità
  • Power Platforms
  • Microsoft Intune
  • Planner

Inoltre per darvi maggiori informazioni, la soluzione viene compilata con il modulo per il framework PowerShell “Desired State Configuration” (DSC) PowerShell Desired State Configuration (DSC) – PowerShell | Microsoft Learn e viene reso disponibile tramite PowerShell Gallery Raccolta di PowerShellPowerShell Gallery | Microsoft365DSC 1.24.207.2

Architettura

Per darvi un’idea di come funziona questa soluzione vi riporto lo schema grafico, che potrete trovare anche all’interno del link ufficiale Microsoft Gestire la configurazione del tenant Microsoft 365 con Azure DevOps – Azure Architecture Center | Microsoft Learn

Figura 1: Architettura Microsoft365DSC

Inoltre la casa di Redmond mette a disposizione la possibilità di scaricare il file Visio di questa architettura dal seguente link file di visio

All’interno di questa soluzione vi sono diversi fattori che entrano in gioco:

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

In questo articolo vedrete le ultime due, in quanto sono le funzionalità che vi permettono proprio di gestire il vostro tenant Microsoft 365 al meglio.

Cosa ci permette di fare Microsoft365DSC ?

Ora che avete chiaro come agisce lo strumento, vorrei porre alla vostra attenzione, cosa effettivamente permette di fare questo strumento gratuito.

Questo strumento vi permette di:

  • Automatizzare
  • Esportare
  • Sincronizzare
  • Valutare
  • Monitorare
  • Reportistica

Non preoccupatevi ora vi spiego tutti i punti

Automatizzare

Utilizzando la sintassi DSC (Desired State Configuration) di Powershell, permette agli amministratori di Microsoft 365 di definire le configurazioni dei vari workload (Sharepoint, Exchange, Security & Compliance , Teams ecc..) e di applicare queste configurazioni in modo del tutto automatizzato.

Esportare

Microsoft365DSC è il primo modulo di Powershell che supporto in modo nativo il ReversDSC. Questo significa che semplicemente installando il modulo è possibile sfruttare la funzionalità di Revers per estrarre la configurazione dei rispettivi tenant.

Sincronizzare

Microsoft365DSC semplifica in modo notevole la sincronizzazione delle relative configurazioni tra più tenant di Microsoft 365. Con questo strumento è possibile esportare la configurazione di un tenant e applicarla ad un altro.

Figura 2: Sincronizzazione Tra due Tenant

Valutare

Microsoft365DSC permette di valutare tramite una configurazione redatta a priori, di un tenant. Questo vuol dire che in base a delle baseline impostate da un Team di sicurezza è possibile valutare un tenant per capire se è in uno stato “sicuro” o meno e di conseguenza applicare poi le relative remediation a livello di configurazione, questo perché è possibile avere un report di discrepanza.

Monitorare

Microsoft365DSC permette di eseguire un monitoraggio schedulato (ogni 15 minuti) ed in modo automatizzato delle discrepanze di configurazioni, secondo determinati standard, e quando vengono rilevate delle azioni da intraprendere vi aiuta con 3 possibili azioni:

  • Correggere il problema, riapplicando la configurazioni desiderata
  • Registra informazioni dettagliata dei problemi, tenendone traccia del visualizzatore di eventi
  • Avvisa gli amministratori tramite Email di questi problemi, fornendo un report dettagliato (Richiede uso di Pipeline di Azure DevOPS)

Reportistica

Microsoft365DSC recupera la configurazione di un tenant e genera un report Excel o HTML in modalità “User Frendly” per eventuali approfondimenti vi invito a prendere visione del link ufficiale Generating Reports from Configurations – Microsoft365DSC – Your Cloud Configuration

Come faccio ad utilizzare Microsoft365DSC ?

Bene, ora che avete preso visione delle potenzialità del prodotto, è giunto il momento di spiegarvi come poterlo utilizzare.

Innanzitutto, dovrete rispettare alcuni prerequisiti:

  • PowerShell version 5.1 and 7.3+
  • Consigliato dagli sviluppatori Windows Terminal

Inoltre dovrete avere a disposizione di credenziali valide per l’accesso al tenant nel mio caso utilizzerò delle credenziali di un account “Global Administrator”, ma è possibile configurare permessi a livello di applicazione come indicato al seguente link Authentication and Permissions – Microsoft365DSC – Your Cloud Configuration specifico inoltre che al momento non è supportata MFA per l’utilizzo del servizio, quindi il consiglio è quello di configurare delle Conditional Access Policy per escludere questa applicazione dalla richiesta del secondo fattore di autenticazione.

Ora potete procedere ad aprire PowerShell come amministratore

Figura 3: PowerShell RunAs Administrator

Figura 4: Installazione Modulo Microsoft365DSC

Figura 5: Installazione Modulo Microoft365DSC

Siccome Microsoft365DSC dipende anche da altri moduli, ora dovrete eseguire un aggiornamento delle relative dipendenze

Figura 6: Aggiornamento Dipedenze Microsoft365DSC

Figura 7: Aggiornamento Dipendenze

Figura 8: Dipendenze Aggiornate

Se invece volete eseguire l’aggiornamento del modulo ad una versione più recente perché magari lo avete installando qualche tempo fa potrete eseguire questi comandi PowerShell:

  • Update-Module Microsoft365DSC
  • Update-M365DSCDependencies

Ora avrete a disposizione lo strumento per poter eseguire quanto indicato in precedenza, vi mostro quindi nel dettaglio le funzionalità.

Creazione Snapshot di una configurazione di un Tenant

Ora dovrete procedere alla creazione del file per poter esportare le configurazione, selezionando quali workload analizzare. Per farlo è utile utilizzare questo link Microsoft365DSC – Configuration-as-Code for the Cloud

Figura 9:Creazione File di Configurazione

Figura 10: File di Configurazione

Figura 11: File di Configurazione

NB: È comunque secondo più semplice utilizzare il comando PowerShell integrato, che permette di aprire questa schermata durante il processo di autenticazione

Figura 12: Export Configurazione

Figura 13: Export Configurazione

Figura 14: Export Configurazione

Ora dovrete “incollare” quanto creato all’interno di PowerShell; vi consiglio la versione ise per il semplice fatto che è presente un text editor

figura 15: export configurazione

figura 16: export configurazione

figura 17: export configurazione

in base ai workload selezionati lo script può impiegarci diverso tempo ed il file ps1 di configurazione verrà salvato di default all’interno del seguente percorso: c:\users\%users%\appdata\local\temp il consiglio che posso darvi è quello di inserire il parametro -path alla fine dello script dove specificare il percorso nel quale voler salvare il file ed il nome dello stesso con il parametro -filename quindi modificando il tutto nel seguente modo

figura 18: export configurazione

quindi a questo punto vi troverete, appena lo script avrà ultimato l’esecuzione una situazione simile alla seguente

figura 19: export configurazione

generazione di report

come potete utilizzare lo strumento per avere visibilità dello stato del vostro tenant ?

il comando del modulo microsoft365dsc che vi permette di avere un report grafico in base alla configurazione esportata in precedenza è il seguente

new-m365dscreportfromconfiguration

figura 20: report

il comando -configurationpath include il percorso del file di configurazione esportato nei passaggi precedenti, mentre il comando -outputpath indica il percorso del file (nel mio caso html) del report, le estensioni supportato da questo comando sono le seguenti:

  • excel
  • html
  • json

figura 21: report

figura 22: report

figura 23: report

ora avrete a disposizione un file html che potrete analizzare, divide le configurazioni per i vari workload microsoft 365

figura 24: report

confronto configurazioni

come vi avevo anticipato all’inizio di questo articolo, la seconda opzioni che vorrei mostrarvi è quella del confronto tra due configurazioni, questo vi permette di avere un report grafico. questa funzionalità può essere utilizzata quando avete due configurazioni dello stesso tenant di duo periodo temporali differenti per avere una visione sulle remediation che avete attuato.

il comando del modulo che vi permette di avere un confronto delle configurazioni è “new-m365dscdeltareport” con principalmente 3 parametri:

  • source: definisce il file di configurazione che vogliamo analizzare
  • destination: definisce il file di confronto rispetto alla source
  • outputpath: definisce il percorso del file html di export

figura 25: confronto

una volta eseguito il comando potrebbe volerci diverso tempo, tutto dipende da quanti workload Microsoft sono stati inseriti all’interno del file di configurazione, nel mio caso con i workload di EntraID ed Exchange Online ci sono voluti circa 5 Minuti.

Figura 26: Confronto

Ora potete procedere ad aprire il file HTML che è stato generato dallo script

Figura 27: Confronto

Nei prossimi articolo, spiegherò le altre funzionalità e potenzialità dello strumento, per ora potete divertirvi a testare queste funzionalità

Conclusioni

Come avete potuto notare all’interno di questo articolo, rispetto a questa funzionalità, ci sono numerosi vantaggi.

La soluzione è totalmente gratuita, e quindi non genera costi per le azienda e per gli IT Admin, è di semplice utilizzo e genera dei report veramente ben fatti e lineari, che vi permettono di prendere visione delle eventuali correzioni che avete adottato nei diversi periodi all’interno del vostro tenant.

Potete eseguire Export puntuali e automatizzarli per avere a disposizione lo stato di avanzamento delle attività per mettere in sicurezza il tenant Microsoft 365, e per ultimo, ma non per importanza è in constante aggiornamento e racchiude tutti i workload che sono disponibili quindi è molto completo e in un periodo dove siamo sempre di corsa trovare e utilizzare questo strumento ci permette di risparmiare diverso tempo nell’analisi del tenant e nel “compare” delle configurazioni.