Introduction
La prolifération des outils AI peut rapidement devenir un problème de gouvernance dans les environnements d'entreprise. Les employés testent souvent de nouvelles applications, accordent des consentements à des plugins de navigateur, et en un rien de temps, les équipes de sécurité se retrouvent face à une multitude de services non autorisés. Cet article technique propose une solution pratique et détaillée en utilisant Microsoft Entra ID, Microsoft Graph et Microsoft Defender for Cloud Apps pour auditer et gérer ces applications AI.
Bon Ă savoir
Grâce à Microsoft Entra ID et aux outils Microsoft associés, vous pouvez collecter des données précieuses pour analyser les applications suspectes et établir une stratégie de gouvernance.
Dans ce guide, vous apprendrez comment créer un audit PowerShell pour identifier les applications AI, évaluer les risques et produire un rapport de gouvernance actionnable.
Prérequis
Pour suivre ce tutoriel, assurez-vous de disposer des éléments suivants :
- PowerShell 7 ou Windows PowerShell 5.1.
- Microsoft Graph PowerShell SDK installé.
- Un compte Microsoft Entra avec les autorisations nécessaires pour lire les applications et les journaux d’audit.
- Consentement Microsoft Graph pour les rôles nécessaires décrits ci-dessous.
- Optionnel : Microsoft Defender for Cloud Apps pour surveiller l’activité réseau.
Attention
Les scripts et exemples présentés ici sont en mode lecture seule : ils n’excluent pas les applications ni ne modifient les permissions.
Comprendre les Limites de Microsoft Graph
Microsoft Graph fournit une vue puissante des interactions AI via Microsoft Entra ID, notamment :
- Les applications d’entreprise.
- Les permissions déléguées OAuth.
- Les permissions d’application.
- Les activités de connexion récentes.
Cependant, Graph ne peut pas capturer les visites sur des sites AI externes lorsque Microsoft Entra ID n’est pas utilisé. Pour cela, combinez les données Graph avec la télémétrie réseau ou les fonctionnalités CASB de Microsoft Defender for Cloud Apps.
Deux pistes d’analyse
- Piste Identité : Analyse des objets d’identité tels que les permissions, consentements ou connexions dans Entra ID.
- Piste Réseau : Surveillance des destinations AI accédées sans intervention d’Entra ID.
Nous commencerons par la piste identité.
Installation et Connexion au SDK Microsoft Graph
Installez le module PowerShell Microsoft Graph et connectez-vous avec les permissions minimales nécessaires pour l’audit.
1Install-Module Microsoft.Graph -Scope CurrentUser2 3$Scopes = @(4 'Application.Read.All',5 'Directory.Read.All',6 'AuditLog.Read.All'7)8 9Connect-MgGraph -Scopes $ScopesVérifiez le contexte de connexion pour vous assurer que les scopes nécessaires sont appliqués :
1Get-MgContext | Select-Object Account, TenantId, ScopesCréation d’une Liste de Mots-Clés AI
Pour identifier les applications AI, créez une liste de mots-clés basée sur les noms de produits et de fournisseurs liés à l’IA.
1$ReportPath = Join-Path $HOME 'AI-App-Audit'2New-Item -Path $ReportPath -ItemType Directory -Force | Out-Null3 4$AiKeywords = @(5 'openai', 'chatgpt', 'copilot', 'claude', 'anthropic', 'gemini', 6 'bard', 'perplexity', 'midjourney', 'stability', 'jasper', 7 'notion ai', 'grammarly', 'otter', 'fireflies', 'descript', 'synthesia'8)Astuce
Adaptez régulièrement votre liste de mots-clés pour refléter les produits émergents et les besoins spécifiques de votre entreprise.
Identification des Applications AI dans Entra ID
Utilisez les mots-clés pour filtrer les applications enregistrées dans votre tenant.
1$ServicePrincipals = Get-MgServicePrincipal -All -Property @(2 'id', 'appId', 'displayName', 'appOwnerOrganizationId', 3 'accountEnabled', 'createdDateTime', 'publisherName', 4 'servicePrincipalType', 'tags'5)6 7$AiServicePrincipals = foreach ($Sp in $ServicePrincipals) {8 $SearchText = @(9 $Sp.DisplayName, $Sp.PublisherName, $Sp.AppId, ($Sp.Tags -join ' ')10 ) -join ' '11 12 $Matches = $AiKeywords | Where-Object {13 $SearchText -match [regex]::Escape($_)14 }15 16 if ($Matches) {17 [pscustomobject]@{18 DisplayName = $Sp.DisplayName19 PublisherName = $Sp.PublisherName20 AppId = $Sp.AppId21 ObjectId = $Sp.Id22 AccountEnabled = $Sp.AccountEnabled23 CreatedDateTime = $Sp.CreatedDateTime24 ServicePrincipalType = $Sp.ServicePrincipalType25 MatchedKeywords = ($Matches -join ', ')26 }27 }28}29 30$AiServicePrincipals |31 Sort-Object DisplayName |32 Export-Csv -Path (Join-Path $ReportPath 'ai-service-principals.csv') -NoTypeInformationImportant
Les données collectées doivent être validées par un administrateur avant toute action. Vérifiez les contextes utilisateurs et les permissions des applications listées.
Étapes suivantes
Continuez votre audit en explorant :
- Les permissions déléguées OAuth pour comprendre les accès accordés à des utilisateurs.
- Les permissions d’application pour identifier les accès au niveau service.
- Les connexions récentes pour détecter les activités suspectes.
Auditer les permissions déléguées
Utilisez Get-MgOauth2PermissionGrant pour examiner les types de consentements délégués.
Vérifier les permissions au niveau application
Appliquez Invoke-MgGraphRequest pour extraire les rôles d’application assignés.
Analyser les connexions récentes
Interrogez Get-MgAuditLogSignIn avec un filtre temporel.
Conclusion
La gestion des applications AI au sein de Microsoft Entra ID ne se résume pas à une simple configuration. Avec PowerShell, vous pouvez automatiser la découverte, l’audit et la gouvernance en utilisant les données de Microsoft Graph et, si nécessaire, compléter cette analyse avec Defender for Cloud Apps pour surveiller les interactions réseau.
Adoptez une approche proactive en appliquant ces scripts sur une base régulière, en ajustant les mots-clés et en utilisant les rapports générés pour valider, restreindre ou approuver les outils AI. Ainsi, vous transformerez une potentialité de sprawl en opportunité de gouvernance ciblée.



