Microsoft a ajouté un verrou tenant-wide pour l'accès aux transcripts de réunions Microsoft Teams via Microsoft Graph. Toute application ou agent IA disposant déjà des permissions Graph adéquates (OnlineMeetingTranscript.Read.All, CallTranscripts.Read.All, OnlineMeetingTranscript.Read.Chat) peut désormais se voir bloquer l'accès si ce nouveau paramètre, appelé Transcript API Access, n'est pas activé au niveau du tenant. Si vos intégrations de synthèse de réunion, d'extraction d'actions ou de conformité s'appuient sur les transcripts Teams, ce changement mérite une vérification immédiate.
Paramètre désactivé par défaut
Pourquoi Microsoft ajoute une couche de contrôle supplémentaire
Jusqu'à présent, le modèle de permissions Graph suffisait : un administrateur accordait le consentement tenant-wide sur les scopes de transcript, et l'application pouvait récupérer les données sans autre vérification. Ce fonctionnement posait un problème structurel : pour empêcher une application de lire des transcripts, il fallait identifier chaque application concernée et retirer manuellement ses permissions, une par une.
Les transcripts de réunions Teams comptent parmi les données les plus sensibles exposées par Microsoft Graph. Ils reconstituent l'intégralité d'une discussion et, si l'attribution des intervenants est activée, révèlent qui a dit quoi. Avec la multiplication des agents IA et des applications tierces consommant ce flux, une gestion application par application ne tient plus la charge dès qu'on dépasse une poignée d'outils connectés.
Transcript API Access introduit donc un contrôle centralisé dans le centre d'administration Teams. Il ne remplace pas le modèle de permissions Graph existant : il s'ajoute en amont. Concrètement, une application doit désormais réunir deux conditions cumulatives pour lire un transcript :
- disposer de la permission Graph appropriée, accordée via le consentement administrateur ;
- que Transcript API Access soit activé au niveau du tenant.
| Aspect | Comportement avant enforcement | Comportement actuel |
|---|---|---|
| Apps/agents avec permissions Graph valides | Récupération des transcripts possible dès l’octroi des permissions | Nécessite en plus l’activation de Transcript API Access |
| Paramètres Transcript API Access et Speaker Attribution | Non disponibles | Disponibles et appliqués au niveau tenant |
| Action requise côté administrateur | Aucune configuration supplémentaire | Activer Transcript API Access pour éviter toute interruption |
Que se passe-t-il si Transcript API Access reste désactivé ?
Toute application qui interrogeait déjà l'API de transcript via Graph verra ses requêtes échouer. Selon l'application cliente, les erreurs remontées peuvent prendre la forme d'un 403 Forbidden, d'un message Graph API access to transcripts is disabled for this tenant, ou d'un code GraphAccessToTranscriptsDisabled.
Ce que ce paramètre ne touche pas
Activer Transcript API Access et l'attribution des intervenants
Le centre d'administration Teams expose deux réglages distincts sous Settings & policies > Transcript API access :
- Microsoft Graph access : autorise les applications et agents disposant des permissions Graph adéquates à récupérer les transcripts. À activer si votre organisation utilise des assistants IA, des outils d'automatisation ou toute application qui dépend des données de transcript.
- Include speaker attribution (optionnel) : permet d'identifier qui a prononcé chaque portion du transcript. Ce réglage expose une information d'identité supplémentaire ; réservez-le aux scénarios métier, de conformité ou d'investigation qui le justifient réellement.
Configuration via le centre d'administration Teams
Se connecter au centre d'administration Teams
Ouvrez le Microsoft Teams admin center avec un compte disposant des droits d'administration Teams.
Localiser le paramètre
Naviguez vers Settings & policies > Transcript API access.

Activer l'accès Graph
Dans la section Transcript API access, basculez Microsoft Graph access sur activé pour ouvrir l'accès aux applications et agents autorisés dans toute l'organisation.
Activer l'attribution des intervenants (optionnel)
Cliquez sur Configure, puis activez Include speaker attribution uniquement si vos applications nécessitent l'identité des intervenants.

Une fois ces réglages activés, toute application disposant des permissions Graph requises peut de nouveau récupérer les transcripts de réunions Teams.
Configuration via PowerShell
Pour les environnements gérés en scripts ou déployés à l'échelle, le module Teams PowerShell expose les mêmes paramètres. Connectez-vous d'abord au module Microsoft Teams PowerShell, puis activez l'accès Graph aux transcripts :
1Set-CsTeamsMeetingConfiguration -Identity Global -EnableGraphTranscriptAccess $trueSi vos applications nécessitent l'identité des intervenants, activez également l'attribution :
1Set-CsTeamsMeetingConfiguration -Identity Global -EnableAttributedTranscript $trueVérifiez ensuite l'état effectif des deux paramètres :
1Get-CsTeamsMeetingConfiguration | Select EnableGraphTranscriptAccess, EnableAttributedTranscriptsCette commande retourne l'état actuel de Transcript API Access et de l'attribution des intervenants pour l'organisation.
Deux conditions, pas une seule
Gérer l'accès des applications individuelles
Une fois le paramètre tenant activé, toute application avec les permissions Graph nécessaires retrouve l'accès aux transcripts. Si une application ou un agent IA ne doit plus y accéder, la révocation se fait au niveau des permissions Graph dans Microsoft Entra ID, pas dans le centre d'administration Teams.
Bloquer une application via Microsoft Entra ID
Ouvrir le centre d'administration Entra
Connectez-vous au Microsoft Entra admin center.
Accéder aux inscriptions d'applications
Naviguez vers Entra ID > App registrations > All applications, puis recherchez et sélectionnez l'application ou l'agent à auditer.
Consulter les permissions API
Ouvrez API permissions dans la section Manage, et repérez les permissions liées aux transcripts :
- OnlineMeetingTranscript.Read.All — lecture des transcripts de toutes les réunions en ligne de l'organisation.
- CallTranscripts.Read.All — lecture des transcripts d'appels de l'organisation.
Retirer la permission si nécessaire
Si l'application n'a plus besoin de cet accès, sélectionnez la permission concernée et cliquez sur Remove permission.
Priorité au réglage tenant
Révoquer les permissions en masse avec Microsoft Graph PowerShell
Pour un audit ou un nettoyage à l'échelle de plusieurs applications, passer par Microsoft Graph PowerShell évite de traiter chaque inscription manuellement. La démarche se déroule en deux temps : exporter l'inventaire des applications concernées, puis révoquer les permissions retenues.
Étape 1 — Exporter les applications disposant de permissions transcript
1Connect-MgGraph -Scopes "Application.Read.All"2$graphSP = Get-MgServicePrincipal -Filter "appId eq '00000003-0000-0000-c000-000000000000'"3$roles = $graphSP.AppRoles | Where-Object Value -in @(4 "OnlineMeetingTranscript.Read.All",5 "CallTranscripts.Read.All",6 "OnlineMeetingTranscript.Read.Chat")7$result = foreach ($role in $roles) {8 Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $graphSP.Id -All |9 Where-Object AppRoleId -eq $role.Id |10 Select-Object @{N="AppDisplayName";E={$_.PrincipalDisplayName}},11 @{N="AppServicePrincipalId";E={$_.PrincipalId}},12 @{N="Permission";E={$role.Value}},13 @{N="AssignmentId";E={$_.Id}}14}15$result | Group-Object AppDisplayName, AppServicePrincipalId | ForEach-Object {16 [PSCustomObject]@{17 AppDisplayName = $_.Group[0].AppDisplayName18 AppServicePrincipalId = $_.Group[0].AppServicePrincipalId19 Permissions = ($_.Group.Permission -join ", ")20 AssignmentIds = ($_.Group.AssignmentId -join ", ")21 }22} | Sort-Object AppDisplayName | Export-Csv "<Output File Path>" -NoTypeInformationLe fichier CSV produit liste chaque application ayant reçu une permission liée aux transcripts, avec ses identifiants d'attribution. C'est cette liste qui permet de décider, application par application, lesquelles conserver et lesquelles couper.
Étape 2 — Révoquer les permissions retenues
Avant d'exécuter le script de révocation, filtrez le CSV exporté pour ne garder que les applications à traiter, puis connectez-vous avec les scopes en écriture :
1Connect-MgGraph -Scopes "Application.Read.All","AppRoleAssignment.ReadWrite.All"Puis exécutez la révocation à partir du fichier filtré :
1$graphSP = Get-MgServicePrincipal -Filter "appId eq '00000003-0000-0000-c000-000000000000'"2Import-Csv "<Input CSV>" | ForEach-Object {3 $ids = $_.AssignmentIds -split ",\s*"4 $permissions = $_.Permissions -split ",\s*"5 for ($i = 0; $i -lt $ids.Count; $i++) {6 Remove-MgServicePrincipalAppRoleAssignedTo `7 -ServicePrincipalId $graphSP.Id `8 -AppRoleAssignmentId $ids[$i]9 Write-Host "Removed $($permissions[$i]) from $($_.AppDisplayName)"10 }11}Une fois ce script exécuté, les applications ciblées perdent définitivement leurs permissions Graph liées aux transcripts. Cette action est immédiate : prévoyez une fenêtre de validation avant de la lancer en production sur un lot important d'applications.
Points clés à retenir
- Transcript API Access est désactivé par défaut : vérifiez son état avant toute plainte utilisateur sur une intégration IA ou de synthèse de réunion qui cesse de fonctionner.
- Le paramètre agit comme une couche additionnelle, au-dessus des permissions Graph existantes (OnlineMeetingTranscript.Read.All, CallTranscripts.Read.All, OnlineMeetingTranscript.Read.Chat) — il ne les remplace pas.
- L'activation se pilote soit depuis le centre d'administration Teams (Settings & policies > Transcript API access), soit via Set-CsTeamsMeetingConfiguration.
- Include speaker attribution doit rester désactivé par défaut : ne l'activez que pour un besoin métier ou de conformité identifié.
- Le nettoyage des permissions applicatives se gère toujours dans Microsoft Entra ID, application par application ou en masse via Microsoft Graph PowerShell.
Prochaine étape concrète : lancez l'export CSV des applications disposant de permissions transcript, croisez-le avec votre inventaire d'applications approuvées, puis activez Transcript API Access une fois cette revue terminée.


