Überprüfen von Berechtigungen, die Anwendungen erteilt wurden
In diesem Artikel erfahren Sie, wie Sie Berechtigungen überprüfen, die Anwendungen in Ihrem Microsoft Entra-Mandanten erteilt wurden. Sie müssen die Berechtigungen möglicherweise überprüfen, wenn Sie eine schädliche Anwendung erkannt haben oder wenn der Anwendung mehr Berechtigungen erteilt wurden als erforderlich. Sie erfahren, wie Sie Berechtigungen mithilfe der Microsoft Graph-API und vorhandenen Versionen von PowerShell widerrufen, die der Anwendung erteilt wurden.
Die in diesem Artikel aufgeführten Schritte gelten für alle Anwendungen, die Ihrem Microsoft Entra-Mandanten per Benutzer- oder Administratoreinwilligung hinzugefügt wurden. Weitere Informationen zur Einwilligung zu Anwendungen finden Sie unter Benutzer- und Administratoreinwilligung.
Voraussetzungen
Um Berechtigungen zu überprüfen, die Anwendungen erteilt wurden, benötigen Sie:
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Eine der folgenden Rollen: Cloudanwendungsadministrator, Anwendungsadministrator.
- Ein Dienstprinzipalbesitzer, der kein Administrator ist, kann Aktualisierungstoken ungültig machen.
Wiederherstellen von Berechtigungen
Informationen zum Wiederherstellen von Berechtigungen, die widerrufen oder gelöscht wurden, finden Sie unter Wiederherstellen von Berechtigungen, die Anwendungen gewährt wurden.
Überprüfen und Widerrufen von Berechtigungen
Tipp
Die Schritte in diesem Artikel können je nach dem Portal, mit dem Sie beginnen, geringfügig variieren.
Sie können auf das Microsoft Entra Admin Center zugreifen, um die Berechtigungen anzuzeigen, die einer App gewährt werden. Sie können Berechtigungen widerrufen, die von Administratoren für Ihre gesamte Organisation erteilt wurden, und Sie können kontextbezogene PowerShell-Skripts abrufen, um andere Aktionen auszuführen.
So überprüfen Sie die Berechtigungen einer Anwendung, die für die gesamte Organisation oder für einen bestimmten Benutzer oder eine bestimmte Gruppe erteilt wurden:
- Melden Sie sich beim Microsoft Entra Admin Center mindestens als Cloudanwendungsadministrator an.
- Browsen Sie zu Identität>Anwendungen>Unternehmensanwendungen>Alle Anwendungen.
- Wählen Sie die Anwendung aus, für die ein eingeschränkter Zugriff eingerichtet werden sollen.
- Wählen Sie Berechtigungen aus.
- Um Berechtigungen anzuzeigen, die für Ihre gesamte Organisation gelten, wählen Sie die Registerkarte Admin Zustimmung aus. Um Berechtigungen anzuzeigen, die einem bestimmten Benutzer oder einer bestimmten Gruppe erteilt wurden, wählen Sie die Registerkarte Benutzerzustimmung aus.
- Um die Details einer bestimmten Berechtigung anzuzeigen, wählen Sie die Berechtigung aus der Liste aus. Der Bereich Berechtigungsdetails wird geöffnet.
Nachdem Sie die Berechtigungen überprüft haben, die einer Anwendung zugewiesen wurden, können Sie Berechtigungen widerrufen, die von Administrator*innen für Ihre gesamte Organisation erteilt wurden.
Hinweis
Sie können über das Portal keine Berechtigungen auf der Registerkarte Benutzereinwilligung widerrufen. Sie können diese Berechtigungen mithilfe von Microsoft Graph-API-Aufrufen oder PowerShell-Cmdlets widerrufen. Weitere Informationen finden Sie auf den Registerkarten „PowerShell“ und „Microsoft Graph“ in diesem Artikel.
So widerrufen Sie Berechtigungen auf der Registerkarte Administratoreinwilligung
- Sehen Sie sich die Liste der Berechtigungen auf der Registerkarte Administratoreinwilligung an.
- Wählen Sie die Berechtigung aus, die Sie widerrufen möchten, und wählen Sie dann das Steuerelement … für diese Berechtigung aus.
- Wählen Sie Berechtigung widerrufen aus.
Überprüfen und Widerrufen von Berechtigungen
Verwenden Sie das folgende Azure AD-PowerShell-Skript, um alle Berechtigungen zu widerrufen, die einer Anwendung erteilt wurden. Sie müssen sich mindestens als Cloudanwendungsadministrator anmelden.
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
}
Machen Sie die Aktualisierungstoken ungültig.
Entfernen Sie mit den folgenden Skripts appRoleAssignments von Benutzern oder Gruppen für die Anwendung.
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
}
Überprüfen und Widerrufen von Berechtigungen
Verwenden Sie das folgende Microsoft Graph-PowerShell-Skript, um alle Berechtigungen zu widerrufen, die einer Anwendung erteilt wurden. Sie müssen sich mindestens als Cloudanwendungsadministrator anmelden.
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
}
Machen Sie die Aktualisierungstoken ungültig.
Entfernen Sie mit den folgenden Skripts appRoleAssignments von Benutzern oder Gruppen für die Anwendung.
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
}
Überprüfen und Widerrufen von Berechtigungen
Um die Berechtigungen zu überprüfen, melden Sie sich bei Graph Explorer mindestens als Cloudanwendungsadministrator an.
Sie müssen den folgenden Berechtigungen zustimmen:
Application.ReadWrite.All
, Directory.ReadWrite.All
, DelegatedPermissionGrant.ReadWrite.All
, AppRoleAssignment.ReadWrite.All
.
Delegierte Berechtigungen
Führen Sie die folgenden Abfragen aus, um die einer Anwendung gewährten delegierten Berechtigungen zu überprüfen.
Rufen Sie den Dienstprinzipal mithilfe der Objekt-ID ab.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Beispiel:
GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444
Abrufen aller delegierten Berechtigungen für den Dienstprinzipal
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
Entfernen Sie delegierte Berechtigungen mithilfe der oAuth2PermissionGrants-ID.
DELETE https://graph.microsoft.com/v1.0/oAuth2PermissionGrants/{id}
Anwendungsberechtigungen
Führen Sie die folgenden Abfragen aus, um die einer Anwendung gewährten Anwendungsberechtigungen zu überprüfen.
Abrufen aller Anwendungsberechtigungen für den Dienstprinzipal
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
Entfernen von Anwendungsberechtigungen mithilfe der appRoleAssignment-ID
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
Machen Sie die Aktualisierungstoken ungültig.
Führen Sie die folgenden Abfragen aus, um appRoleAssignments von Benutzern oder Gruppen für die Anwendung zu entfernen.
Rufen Sie den Dienstprinzipal mithilfe der Objekt-ID (objectId) ab.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Beispiel:
GET https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
Rufen Sie Microsoft Entra-App-Rollenzuweisungen mithilfe der objectID des Dienstprinzipals ab.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo
Widerrufen Sie das Aktualisierungstoken für Benutzer und Gruppen, die der Anwendung über die appRoleAssignment-ID zugewiesen sind.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
Hinweis
Durch das Widerrufen aktueller Berechtigungen wird eine erneute Benutzereinwilligung für die Anwendung nicht verhindert. Wenn Sie die Benutzereinwilligung blockieren möchten, lesen Sie Konfigurieren der Benutzereinwilligung für Anwendungen.
Andere Autorisierung, die in Erwägung gezogen werden sollte
Delegierte und Anwendungsberechtigungen sind nicht die einzigen Möglichkeiten, Anwendungen und Benutzern Zugriff auf geschützte Ressourcen zu gewähren. Administratoren sollten andere Autorisierungssysteme kennen, die möglicherweise Zugriff auf vertrauliche Informationen gewähren. Beispiele für verschiedene Autorisierungssysteme bei Microsoft sind integrierte Entra-Rollen, Exchange RBAC und ressourcenspezifische Zustimmung in Teams.