Faire un instantané de la configuration de votre tenant Microsoft 365
En tant que vaste plateforme, Microsoft 365 peut s’avérer difficile à mettre en œuvre pour une gestion des modifications techniques. Le nombre d’options de configuration disponibles est stupéfiant, sans parler des paramètres qui ont un impact sur plusieurs applications. Citons la configuration de SharePoint qui a un impact sur la fonctionnalité de Teams. Le fait qu’il n’existe pas de véritable service de sauvegarde au niveau de la configuration pour Microsoft 365 n’arrange rien.
Par conséquent, il peut être difficile de tester les modifications de n’importe quel élément de configuration dans Microsoft 365. Des alertes comme l’analyseur de configuration de Microsoft Defender pour Office 365, peuvent aider à détecter les changements de configuration. Cependant cela ne s’étend pas au reste de la plateforme.
Configuration de l’état souhaité de Microsoft 365
Pour combler le manque d’un « instantané » efficace de la configuration de Microsoft 365, il existe cependant une solution. Ainsi, de nombreuses organisations se sont tournées vers la configuration en tant que code. Le principe de base est le suivant : la configuration de l’état souhaité (DSC) de la configuration est un script. Cela garantie que nous pouvons restaurer la configuration à un état de base convenu en réexécutant le script dans l’environnement. Le DSC n’est pas un concept nouveau et est utile dans de nombreuses autres technologies au fil des ans. Cependant, Microsoft 365 DSC s’appuie sur le DSC pour aider à résoudre le défi de la configuration du tenant.
Microsoft 365 DSC est un projet open source, mené par Microsoft et dirigé par la communauté. Il permet de comparer la configuration au sein d’un tenant Microsoft 365 ou même entre plusieurs tenants. Dans cet article, je vais détailler comment il peut être utilisé pour « photographier » la configuration de votre tenant. Ensuite nous comparerons cette photographie à une configuration mise à jour pour détecter les changements dans l’environnement.
Préparer une application Azure AD
Pour sécuriser l’authentification aux ressources, vous devrez enregistrer une nouvelle application Azure AD. Bien que le module permette de transmettre directement les informations d’identification de l’utilisateur, cela peut s’avérer délicat. C’est pourquoi tous les composants du module DSC sont à jour pour exploiter le module Microsoft Graph PowerShell SDK.
Créez un nouvel enregistrement d’application Azure AD et prenez note de l’ID tenant, de l’IP client et du secret client. En production, je recommande d’utiliser l’authentification par certificat mais le secret du client fonctionne bien pour les tests.
Ensuite, pour accorder des permissions à l’application, vérifiez la documentation pour les ressources associées que vous souhaitez inclure. Par exemple, je vais ajouter les permissions de l’application pour l’accès conditionnel – « AADConditionalAccessPolicy ». N’oubliez pas d’accorder le consentement sur les permissions une fois qu’elles sont ajoutées. Pour l’exportation, vous n’avez besoin que des autorisations énumérées sous « Export ». Si vous voulez automatiser la remédiation, vous aurez besoin des autorisations énumérées sous « Automatiser ».
Pour les ensembles de ressources plus importants, le module DSC contient la cmdlet Get-M365DSCCompiledPermissionList. Nous pouvons transmettre une liste de ressources à la cmdlet qui renvoie les autorisations requises :
1 | Get-M365DSCCompiledPermissionList -ResourceNameList @(‘AADConditionalAccessPolicy’) |
Installer le module Microsoft 365DSC
Microsoft 365 DSC se présente sous la forme d’un simple module PowerShell. Pour commencer, ouvrez une session PowerShell et exécutez la commande :
1 | Install-Module -Name Microsoft365DSC |
Cela peut prendre du temps. En effet il faudra télécharger un grand nombre de dépendances pour permettre au module DSC d’opérer.
Extraire une configuration
Pour extraire une configuration, exécutez la cmdlet Export-M365DSCConfiguration. Précisez les ressources que vous souhaitez extraire, ainsi que les détails de l’application, comme ci-dessous.
Export-M365DSCConfiguration -Components @(<Component List>) -ApplicationId <AppID> -TenantId <TenantName> -ApplicationSecret <AppSecret> -Path <Path for Export> -ConfigurationName <Configuration Name> -FileName <Name of export file .ps1>
Cette opération exportera la configuration vers le chemin spécifié sous la forme d’un fichier .PS1 de configuration DSC. Dans le fichier, vous verrez les détails de la configuration exportée pour les ressources spécifiées. Dans ce cas, il s’agit des politiques d’accès conditionnel, mais il y a beaucoup plus d’options disponibles. Vous pouvez même utiliser l’outil d’exportation basé sur le Web. Cela permet de générer votre commande d’exportation, en sélectionnant les ressources et les applications que vous souhaitez inclure.
Créer un rapport de configuration
Le fichier de configuration PS1 exporté par DSC n’est pas un moyen très convivial d’examiner la configuration du tenant. La configuration peut être exportée au format Excel ou HTML en utilisant la cmdlet New-M365DSCReportFromConfiguration.
La configuration exportée le sera dans un format beaucoup plus facile à lire.
Compare configurations
L’établissement de rapports est une excellente chose. Mais la configuration exportée peut également être comparée à la configuration actuelle afin d’identifier tout changement depuis l’exportation initiale. Pour générer une comparaison, apportez quelques modifications, puis exécutez à nouveau l’exportation sous un nom de fichier différent. Cela générera un autre fichier avec la dernière configuration dans le même dossier.
Les fichiers peuvent ensuite être comparés en exécutant la cmdlet New-M365DSCDeltaReport. Précisez les configurations source (Initial), destination (Updated) et un chemin de sortie pour le fichier HTML résultant. La syntaxe de la commande est présentée ci-dessous :
1 | New-M365DSCDeltaReport -Source ‘C:\DSC\UpdatedConfig.ps1’ -Destination ‘C:\DSC\InitialConfig.ps1’ -OutputPath ‘C:\dsc\Delta.html’ |
La commande génère le rapport delta HTML illustré à la Figure 5. Ce rapport met en évidence les composants manquants, supplémentaires ou différents détectés lors de la comparaison.
Dans cet exemple, le rapport delta montre que la politique d’accès conditionnel « Teams via MCAS » n’est plus présente et que le paramètre « IncludeApplications » de la politique « MFA » a été modifié de « All » à une seule application.
Plus qu’une simple comparaison
La création de rapports et la comparaison ne sont que le début des possibilités de Microsoft 365 DSC. La véritable valeur réside dans l’extension de ce concept à des contrôles de cohérence réguliers et même à la correction automatique des dérives de configuration. DSC peut également être utile pour cloner des locations à des fins de test. Il peut même se déployer dans des conteneurs, Azure Automation et Azure DevOps pour améliorer la gouvernance, le déploiement et la mise à jour des configurations. Pour plus d’informations sur Microsoft 365 DSC, consultez le site Web du projet ici.
Attribution du rôle « Mailbox Import Export » dans Office 365