Examiner les autorisations accordées aux applications d’entreprise

Dans cet article, vous découvrirez comment passer en revue les autorisations accordées aux applications dans votre client Microsoft Entra. Il peut être nécessaire d’examiner les autorisations quand vous détectez une application malveillante ou une application qui 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 client Microsoft Entra, avec consentement utilisateur ou administrateur. Pour plus d’informations sur le consentement aux applications, consultez Consentement utilisateur et administrateur.

Prérequis

Pour vérifier les autorisations accordées aux applications, vous avez besoin de :

  • Un compte Azure avec un abonnement actif. Créez un compte gratuitement.
  • Un des rôles suivants : 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.

Examiner et révoquer des autorisations dans le Centre d’administration Microsoft Entra

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 plus d’informations sur la restauration des autorisations révoquées ou supprimées, consultez Restaurer les autorisations accordées aux applications.

Pour examiner 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 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 utilisant des appels à l’API Microsoft Graph ou des cmdlets PowerShell. Si vous souhaitez obtenir plus d’informations, accédez aux onglets PowerShell et Microsoft Graph de cet article.

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. Capture d’écran montrant comment révoquer un consentement administrateur.
  3. Sélectionnez Révoquer l’autorisation.

Examiner et révoquer des autorisations à l’aide d’Azure AD PowerShell

Utilisez le script PowerShell Azure AD suivant pour révoquer toutes les autorisations octroyées à une application. Vous devez vous connecter au minimum 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 à l’aide d’Azure AD PowerShell

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
}

Examiner et révoquer des autorisations à l’aide de Microsoft Graph PowerShell

Utilisez le script PowerShell Microsoft Graph suivant pour révoquer toutes les autorisations octroyées à une application. Vous devez vous connecter au minimum 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 "<ServicePrincipal objectID>"

Example: Get-MgServicePrincipal -ServicePrincipalId 'aaaaaaaa-bbbb-cccc-1111-222222222222'

# 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 à l’aide de Microsoft Graph PowerShell

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 "<ServicePrincipal objectID>"

Example: Get-MgServicePrincipal -ServicePrincipalId 'aaaaaaaa-bbbb-cccc-1111-222222222222'

# 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
}

Examiner et révoquer des autorisations à l’aide de Microsoft Graph

Pour examiner les autorisations, connectez-vous à Explorateur graphique au minimum en tant qu’Administrateur d’application cloud.

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/00001111-aaaa-2222-bbbb-3333cccc4444
    
  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 d’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 à l’aide de Microsoft Graph

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/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    
  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}
    

Remarque

La révocation de l’autorisation accordée actuellement n’empêchera pas les utilisateurs de consentir à nouveau aux autorisations demandées par l’application. Vous devez empêcher l’application de demander les autorisations via le consentement dynamique. Si vous souhaitez empêcher les utilisateurs de donner leur consentement tous ensembles, consultez Configurer la manière dont les utilisateurs consentent aux applications.

Autre autorisation à prendre en compte

Les autorisations d’application et déléguées ne sont pas les seules façons d’accorder aux applications et aux utilisateurs l’accès aux ressources protégées. Les administrateurs doivent connaître d’autres systèmes d’autorisation qui peuvent accorder l’accès à des informations sensibles. Parmi les différents systèmes d’autorisation de Microsoft, citons les rôles intégrés Microsoft Entra, le RBAC Exchange et le consentement spécifique aux ressources Teams.

Étapes suivantes