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 :

  1. Connectez-vous au Centre d’administration de Microsoft Entra au minimum en tant qu’Administrateur d’application cloud.
  2. Accédez à Identité>Applications>Applications d’entreprise>Toutes les applications.
  3. Sélectionnez l’application dont vous souhaitez restreindre l’accès.
  4. Sélectionnez Autorisations.
  5. 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.
  6. 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. Une fois que vous avez examiné les autorisations accordées à une application, vous pouvez révoquer des autorisations accordées par des administrateurs pour l’ensemble de votre organisation.

    Remarque

    Vous ne pouvez pas révoquer des autorisations dans l’onglet Consentement de l’utilisateur en utilisant le portail. Vous pouvez révoquer ces autorisations en tirant parti d’appels à l’API Microsoft Graph ou d’applets de commande PowerShell. Si vous souhaitez obtenir plus d’informations, accédez aux onglets PowerShell et Microsoft Graph de cet article.

Procédure pour révoquer des autorisations dans l’onglet Consentement Administration :

  1. Affichez la liste des autorisations sous l’onglet Consentement Administration.
  2. Choisissez l’autorisation que vous souhaitez révoquer, puis sélectionnez le contrôle ... pour cette autorisation. Screenshot shows how to revoke admin consent.
  3. Sélectionnez 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.

  1. 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
    
  2. Obtenir toutes les permissions déléguées pour le principal de service

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
    
  3. 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.

  1. Obtenir toutes les permissions d’application pour le principal de service

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
    
  2. 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.

  1. 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
    
  2. 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
    
  3. 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.

Étapes suivantes