Passer en revue les autorisations accordées aux applications
Dans cet article, vous découvrirez comment passer en revue les autorisations accordées aux applications dans votre tenant (locataire) Microsoft Entra. Vous pouvez être amené à passer en revue les autorisations après avoir détecté une application malveillante ou si l’application a reçu plus d’autorisations que nécessaire. Vous découvrirez comment révoquer les autorisations accordées à l’application à l’aide de l’API Microsoft Graph et des versions existantes de PowerShell.
Les étapes présentées dans cet article s’appliquent à toutes les applications qui ont été ajoutées à votre locataire Microsoft Entra, avec consentement de l’utilisateur ou de l’administrateur. Pour plus d’informations sur le consentement aux applications, consultez Consentement de l’utilisateur et de l’administrateur.
Prérequis
Pour vérifier les autorisations accordées aux applications, vous devez :
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Un des rôles suivants : Administrateur général, Administrateur d’application cloud, Administrateur d’application.
- Un propriétaire de principal de service qui n’est pas administrateur peut invalider des jetons d’actualisation.
Restauration des autorisations
Veuillez consulter Restaurer les autorisations accordées aux applications pour plus d’informations sur comment restaurer des autorisations révoquées ou supprimées.
Passer en revue, puis révoquer les autorisations
Conseil
Les étapes décrites dans cet article peuvent varier légèrement en fonction du portail de départ.
Vous pouvez accéder au centre d’administration Microsoft Entra pour afficher les autorisations accordées à une application. Vous pouvez révoquer les autorisations accordées par des administrateurs pour l’ensemble de votre organisation et vous pouvez obtenir des scripts PowerShell contextuels pour effectuer d’autres actions.
Pour passer en revue les autorisations d’une application qui ont été accordées pour l’ensemble de l’organisation ou à un utilisateur ou un groupe spécifique :
- Connectez-vous au Centre d’administration de Microsoft Entra au minimum en tant qu’Administrateur d’application cloud.
- Accédez à Identité>Applications>Applications d’entreprise>Toutes les applications.
- Sélectionnez l’application dont vous souhaitez restreindre l’accès.
- Sélectionnez Autorisations.
- Pour afficher les autorisations qui s’appliquent à l’ensemble de votre organisation, sélectionnez l’onglet Consentement administrateur. Pour afficher les autorisations accordées à un utilisateur ou à un groupe spécifique, sélectionnez l’onglet Consentement de l’utilisateur.
- Pour afficher les détails d’une autorisation donnée, sélectionnez l’autorisation dans la liste. Le volet Détails des autorisations s’ouvre.
- Pour révoquer une autorisation accordée, choisissez l’autorisation que vous souhaitez révoquer, sélectionnez le contrôle ... pour cette autorisation, puis choisissez Révoquer l’autorisation.
Passer en revue, puis révoquer les autorisations
Utilisez le script PowerShell Azure AD suivant pour révoquer toutes les autorisations octroyées à une application. Vous devez vous connecter en tant qu’Administrateur d’application cloud.
Connect-AzureAD
# Get Service Principal using objectId
$sp = Get-AzureADServicePrincipal -ObjectId "<ServicePrincipal objectID>"
# Get all delegated permissions for the service principal
$spOAuth2PermissionsGrants = Get-AzureADOAuth2PermissionGrant -All $true| Where-Object { $_.clientId -eq $sp.ObjectId }
# Remove all delegated permissions
$spOAuth2PermissionsGrants | ForEach-Object {
Remove-AzureADOAuth2PermissionGrant -ObjectId $_.ObjectId
}
# Get all application permissions for the service principal
$spApplicationPermissions = Get-AzureADServiceAppRoleAssignedTo -ObjectId $sp.ObjectId -All $true | Where-Object { $_.PrincipalType -eq "ServicePrincipal" }
# Remove all application permissions
$spApplicationPermissions | ForEach-Object {
Remove-AzureADServiceAppRoleAssignment -ObjectId $_.PrincipalId -AppRoleAssignmentId $_.objectId
}
Invalider les jetons d’actualisation
Supprimez appRoleAssignments pour les utilisateurs ou les groupes de l’application à l’aide des scripts suivants.
Connect-AzureAD
# Get Service Principal using objectId
$sp = Get-AzureADServicePrincipal -ObjectId "<ServicePrincipal objectID>"
# Get Azure AD App role assignments using objectID of the Service Principal
$assignments = Get-AzureADServiceAppRoleAssignment -ObjectId $sp.ObjectId -All $true | Where-Object {$_.PrincipalType -eq "User"}
# Revoke refresh token for all users assigned to the application
$assignments | ForEach-Object {
Revoke-AzureADUserAllRefreshToken -ObjectId $_.PrincipalId
}
Passer en revue, puis révoquer les autorisations
Utilisez le script PowerShell Microsoft Graph suivant pour révoquer toutes les autorisations octroyées à une application. Vous devez vous connecter en tant qu’Administrateur d’application cloud.
Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "DelegatedPermissionGrant.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
# Get Service Principal using objectId
$sp = Get-MgServicePrincipal -ServicePrincipalID "$ServicePrincipalID"
Example: Get-MgServicePrincipal -ServicePrincipalId '22c1770d-30df-49e7-a763-f39d2ef9b369'
# Get all delegated permissions for the service principal
$spOAuth2PermissionsGrants= Get-MgOauth2PermissionGrant -All| Where-Object { $_.clientId -eq $sp.Id }
# Remove all delegated permissions
$spOauth2PermissionsGrants |ForEach-Object {
Remove-MgOauth2PermissionGrant -OAuth2PermissionGrantId $_.Id
}
# Get all application permissions for the service principal
$spApplicationPermissions = Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $Sp.Id -All | Where-Object { $_.PrincipalType -eq "ServicePrincipal" }
# Remove all application permissions
$spApplicationPermissions | ForEach-Object {
Remove-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $Sp.Id -AppRoleAssignmentId $_.Id
}
Invalider les jetons d’actualisation
Supprimez appRoleAssignments pour les utilisateurs ou les groupes de l’application à l’aide des scripts suivants.
Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
# Get Service Principal using objectId
$sp = Get-MgServicePrincipal -ServicePrincipalID "$ServicePrincipalID"
Example: Get-MgServicePrincipal -ServicePrincipalId '22c1770d-30df-49e7-a763-f39d2ef9b369'
# Get Azure AD App role assignments using objectID of the Service Principal
$spApplicationPermissions = Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalID $sp.Id -All | Where-Object { $_.PrincipalType -eq "ServicePrincipal" }
# Revoke refresh token for all users assigned to the application
$spApplicationPermissions | ForEach-Object {
Remove-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $_.PrincipalId -AppRoleAssignmentId $_.Id
}
Passer en revue, puis révoquer les autorisations
Pour passer en revue les autorisations, connectez-vous à Explorateur graphique en tant qu’Administrateur d’application cloud au moins.
Vous devez consentir aux autorisations suivantes :
Application.ReadWrite.All
, Directory.ReadWrite.All
, DelegatedPermissionGrant.ReadWrite.All
, AppRoleAssignment.ReadWrite.All
.
Autorisations déléguées
Exécutez les requêtes suivantes pour passer en revue les autorisations déléguées accordées à une application.
Obtenir le principal de service au moyen de l’ID de l’objet.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Exemple :
GET https://graph.microsoft.com/v1.0/servicePrincipals/00063ffc-54e9-405d-b8f3-56124728e051
Obtenir toutes les permissions déléguées pour le principal de service
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
Supprimez les autorisations déléguées à l’aide de l’ID oAuth2PermissionGrants.
DELETE https://graph.microsoft.com/v1.0/oAuth2PermissionGrants/{id}
Autorisations de l’application
Exécutez les requêtes suivantes pour passer en revue les autorisations d’application accordées à une application.
Obtenir toutes les permissions d’application pour le principal de service
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
Supprimer les autorisations d’application à l’aide de l’ID appRoleAssignment
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
Invalider les jetons d’actualisation
Exécutez les requêtes suivantes pour supprimer appRoleAssignments d’utilisateurs ou de groupes à l’application.
Obtenir le principal de service avec objectID.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Exemple :
GET https://graph.microsoft.com/v1.0/servicePrincipals/57443554-98f5-4435-9002-852986eea510
Obtenir des attributions de rôles d’application Microsoft Entra à l’aide de l’objectID du principal de service.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo
Révoquer le jeton d’actualisation pour les utilisateurs et les groupes affectés à l’application à l’aide de l’ID appRoleAssignment.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
Notes
La révocation de l’autorisation actuellement octroyée n’empêchera pas les utilisateurs de consentir à nouveau à l’application. Si vous souhaitez empêcher les utilisateurs de donner leur consentement, consultez Configurer la manière dont les utilisateurs consentent aux applications.