Esaminare le autorizzazioni concesse alle applicazioni aziendali
Questo articolo illustra come esaminare le autorizzazioni concesse alle applicazioni nel tenant di Microsoft Entra. Può essere necessario esaminare le autorizzazioni quando si rileva un'applicazione dannosa o ad una sono state concesse più autorizzazioni di quelle necessarie. Si apprenderà come revocare le autorizzazioni concesse all'applicazione usando l'API Microsoft Graph e le versioni esistenti di PowerShell.
I passaggi descritti in questo articolo si applicano a tutte le applicazioni aggiunte al tenant di Microsoft Entra tramite il consenso utente o amministratore. Per altre informazioni sul consenso alle applicazioni, vedere Consenso utente e amministratore.
Prerequisiti
Per esaminare le autorizzazioni concesse alle applicazioni, è necessario:
- Un account Microsoft Entra con una sottoscrizione attiva. Creare un account gratuitamente.
- Uno dei ruoli seguenti:
- Amministratore di applicazioni cloud
- Amministratore dell'applicazione.
- Un proprietario dell'entità servizio che non è un amministratore può annullare i token di aggiornamento.
Esaminare e revocare le autorizzazioni nell'interfaccia di amministrazione di Microsoft Entra
È possibile accedere all'interfaccia di amministrazione di Microsoft Entra per visualizzare le autorizzazioni concesse a un'app. È possibile revocare le autorizzazioni concesse dagli amministratori per l'intera organizzazione ed è possibile ottenere script di PowerShell contestuali per eseguire altre azioni.
Per informazioni su come ripristinare le autorizzazioni revocate o eliminate, vedere Ripristinare le autorizzazioni concesse alle applicazioni.
Per esaminare le autorizzazioni di un'applicazione concesse per l'intera organizzazione o per un utente o un gruppo specifico:
- Accedi al centro di amministrazione di Microsoft Entra con almeno il ruolo di Amministratore delle applicazioni cloud.
- Passare a Identità>Applicazioni>Applicazioni aziendali>Tutte le applicazioni.
- Selezionare l'applicazione a cui si vuole limitare l'accesso.
- Selezionare Autorizzazioni.
- Per visualizzare le autorizzazioni applicabili all'intera organizzazione, selezionare la scheda Consenso amministratore. Per visualizzare le autorizzazioni concesse a un utente o a un gruppo specifico, selezionare la scheda Consenso utente.
- Per visualizzare i dettagli di una determinata autorizzazione, selezionare l'autorizzazione dall'elenco. Viene visualizzato il riquadro Dettagli autorizzazione.
Dopo aver esaminato le autorizzazioni concesse a un'applicazione, è possibile revocare le autorizzazioni concesse dagli amministratori per l'intera organizzazione.
Nota
Non è possibile revocare le autorizzazioni nella scheda Consenso utente usando il portale. È possibile revocare queste autorizzazioni usando le chiamate API Microsoft Graph o i cmdlet di PowerShell. Per altre informazioni, vedere le schede di PowerShell e Microsoft Graph di questo articolo.
Per revocare le autorizzazioni nella scheda Consenso amministratore:
- Visualizzare l'elenco delle autorizzazioni nella scheda Consenso amministratore.
- Scegliere l'autorizzazione da revocare, quindi selezionare il controllo ... per tale autorizzazione.
- Selezionare Revoca autorizzazione.
Esaminare e revocare le autorizzazioni con Microsoft Entra PowerShell
Usare lo script di Microsoft Entra PowerShell seguente per revocare tutte le autorizzazioni concesse a un'applicazione. È necessario accedere almeno come Amministratore applicazione cloud.
Connect-Entra -scopes "Application.ReadWrite.All", "DelegatedPermissionGrant.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
# Get Service Principal using objectId
$app_name = "<app-displayName>"
$sp = Get-EntraServicePrincipal -Filter "displayName eq '$app_name'"
# Get all delegated permissions for the service principal
$spOAuth2PermissionsGrants = Get-EntraOAuth2PermissionGrant -All | Where-Object { $_.clientId -eq $sp.ObjectId }
# Remove all delegated permissions granted to the service principal
$spOAuth2PermissionsGrants | ForEach-Object {
Remove-EntraOAuth2PermissionGrant -ObjectId $_.ObjectId
}
# Get all application permissions for the service principal
$spApplicationPermissions = Get-EntraServicePrincipalAppRoleAssignment -ObjectId $sp.ObjectId -All | Where-Object { $_.PrincipalType -eq "ServicePrincipal" }
# Remove all application permissions
$spApplicationPermissions | ForEach-Object {
Remove-EntraServicePrincipalAppRoleAssignment -ObjectId $_.PrincipalId -AppRoleAssignmentId $_.objectId
}
Rimuovere tutte le assegnazioni di utenti e gruppi con Microsoft Entra PowerShell
Rimuovere appRoleAssignments per utenti o gruppi nell'applicazione usando gli script seguenti.
connect-entra -scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
#Retrieve the service principal object ID.
$app_name = "<Your App's display name>"
$sp = Get-EntraServicePrincipal -Filter "displayName eq '$app_name'"
$sp.ObjectId
# Get Microsoft Entra App role assignments using objectId of the Service Principal
$assignments = Get-EntraServicePrincipalAppRoleAssignedTo -ObjectId $sp.ObjectId -All $true
# Remove all users and groups assigned to the application
$assignments | ForEach-Object {
if ($_.PrincipalType -eq "User") {
Remove-EntraUserAppRoleAssignment -ObjectId $_.PrincipalId -AppRoleAssignmentId $_.ObjectId
} elseif ($_.PrincipalType -eq "Group") {
Remove-EntraGroupAppRoleAssignment -ObjectId $_.PrincipalId -AppRoleAssignmentId $_.ObjectId
}
}
Esaminare e revocare le autorizzazioni con Microsoft Graph PowerShell
Usare lo script di Microsoft Graph PowerShell seguente per revocare tutte le autorizzazioni concesse a un'applicazione. È necessario accedere almeno come Amministratore applicazione 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
}
Rimuovere tutte le assegnazioni di utenti e gruppi con Microsoft Graph PowerShell
Rimuovere appRoleAssignments per utenti o gruppi nell'applicazione usando gli script seguenti.
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 Microsoft Entra 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
}
Esaminare e revocare le autorizzazioni con Microsoft Graph
Per esaminare le autorizzazioni, accedere a Graph Explorer almeno come un amministratore applicazione cloud.
È necessario fornire il consenso alle autorizzazioni seguenti:
Application.ReadWrite.All
, Directory.ReadWrite.All
, DelegatedPermissionGrant.ReadWrite.All
, AppRoleAssignment.ReadWrite.All
.
Autorizzazioni delegate
Eseguire le query seguenti per esaminare le autorizzazioni delegate concesse a un'applicazione.
Recuperare il principal del servizio utilizzando l'ID dell'oggetto.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Esempio:
GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444
Ottenere tutte le autorizzazioni delegate per il principale del servizio
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
Rimuovere le autorizzazioni delegate usando l'ID oAuth2PermissionGrants.
DELETE https://graph.microsoft.com/v1.0/oAuth2PermissionGrants/{id}
Autorizzazioni dell’applicazione
Esegui le seguenti query per esaminare le autorizzazioni concesse a un'applicazione.
Ottenere tutte le autorizzazioni dell'applicazione per il principale del servizio
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
Rimuovere le autorizzazioni dell'applicazione usando l'ID appRoleAssignment
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
Rimuovere tutte le assegnazioni di utenti e gruppi con Microsoft Graph
Eseguire le query seguenti per rimuovere le assegnazioni di ruoli di applicazione di utenti o gruppi nell'applicazione.
Ottieni il Service Principal utilizzando l'objectID.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Esempio:
GET https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
Ottenere le assegnazioni di ruolo per l'app Microsoft Entra utilizzando l'objectID del Principal di Servizio.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo
Revocare il token di aggiornamento per utenti e gruppi assegnati all'applicazione usando l'ID appRoleAssignment.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
Nota
La revoca dell'autorizzazione concessa corrente non impedisce agli utenti di concedere nuovamente il consenso alle autorizzazioni richieste dell'applicazione. È necessario arrestare l'applicazione a richiedere le autorizzazioni tramite il consenso dinamico. Per impedire del tutto agli utenti di fornire il consenso, vedere Configurare la modalità con cui gli utenti finali forniscono il consenso alle applicazioni.
Altra autorizzazione da considerare
Le autorizzazioni delegate e dell'applicazione non sono gli unici modi per concedere alle applicazioni e agli utenti l'accesso alle risorse protette. Gli amministratori devono essere a conoscenza di altri sistemi di autorizzazione che potrebbero concedere l'accesso alle informazioni riservate. Esempi di vari sistemi di autorizzazione in Microsoft includono i ruoli predefiniti di Microsoft Entra, il controllo degli accessi in base al ruolo di Exchange e il consenso specifico delle risorse di Teams.