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 Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Uno dei ruoli seguenti: Amministratore applicazione cloud, Amministratore applicazione.
- Un proprietario dell'entità servizio che non è un amministratore è in grado di invalidare i token di aggiornamento.
Esaminare e revocare le autorizzazioni nell'interfaccia di amministrazione di Microsoft Entra
Suggerimento
La procedura descritta in questo articolo può variare leggermente in base al portale di partenza.
È 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:
- Accedere all'Interfaccia di amministrazione di Microsoft Entra almeno come Amministratore applicazione 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 Azure AD PowerShell
Usare lo script di Azure AD PowerShell seguente per revocare tutte le autorizzazioni concesse a un'applicazione. È necessario accedere almeno come Amministratore applicazione 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
}
Invalidare i token di aggiornamento con Azure AD PowerShell
Rimuovere appRoleAssignments per utenti o gruppi nell'applicazione usando gli script seguenti.
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
}
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
}
Invalidare i token di aggiornamento 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 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
}
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.
Ottenere l'entità servizio usando l'ID 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 l'entità 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
Eseguire le query seguenti per esaminare le autorizzazioni dell'applicazione concesse a un'applicazione.
Ottenere tutte le autorizzazioni dell'applicazione per l'entità 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}
Invalidare i token di aggiornamento con Microsoft Graph
Eseguire le query seguenti per rimuovere appRoleAssignments di utenti o gruppi nell'applicazione.
Ottenere l'entità servizio con 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 dell'app Microsoft Entra usando objectID dell'entità 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 attualmente concessa non impedisce agli utenti di concedere nuovamente il consenso alle autorizzazioni richieste dall'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.