Passer en revue les autorisations accordées aux applications

Dans cet article, vous allez apprendre à passer en revue les autorisations accordées aux applications dans votre locataire Azure Active Directory (Azure AD). 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.

Les étapes présentées dans cet article s’appliquent à toutes les applications qui ont été ajoutées à votre locataire Azure Active Directory (Azure AD), avec consentement utilisateur ou 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.

Révision des autorisations

Vous pouvez accéder au portail Azure AD pour obtenir des scripts PowerShell contextuels permettant d'appliquer les mesures.

Pour passer en revue les autorisations de l’application :

  1. Connectez-vous au portail Azure avec l’un des rôles listés dans la section des prérequis.
  2. Sélectionnez Azure Active Directory, puis Applications d’entreprise.
  3. Sélectionnez l’application dont vous souhaitez restreindre l’accès.
  4. Sélectionnez Autorisations. Sur la barre de commandes, sélectionnez Passer en revue les autorisations. Capture d’écran de la fenêtre Passer en revue les autorisations.
  5. Donnez la raison pour laquelle vous souhaitez passer en revue les autorisations de l’application en sélectionnant l’une des options listées après la question Pourquoi voulez-vous passer en revue les autorisations pour cette application ?

Chaque option génère des scripts PowerShell qui vous permettent de contrôler l’accès utilisateur à l’application et de passer en revue les autorisations accordées à l’application. Pour plus d’informations sur la façon de contrôler l’accès utilisateur à une application, consultez Comment supprimer l’accès d’un utilisateur à une application

Révoquer des autorisations

L’utilisation du script PowerShell Azure AD suivant révoque toutes les autorisations octroyées à une application.

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

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
}

L’utilisation du script PowerShell Microsoft Graph suivant révoque toutes les autorisations octroyées à une application.

Connect-MgGraph

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

Invalider les jetons d’actualisation

Connect-MgGraph

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

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