Przeglądanie uprawnień przyznanych aplikacjom dla przedsiębiorstw
Z tego artykułu dowiesz się, jak przeglądać uprawnienia przyznane aplikacjom w dzierżawie firmy Microsoft Entra. Może być konieczne przejrzenie uprawnień w przypadku wykrycia złośliwej aplikacji lub takiej, która ma więcej uprawnień niż jest to konieczne. Dowiesz się, jak odwołać uprawnienia przyznane aplikacji przy użyciu interfejsu API programu Microsoft Graph i istniejących wersji programu PowerShell.
Kroki opisane w tym artykule dotyczą wszystkich aplikacji dodanych do dzierżawy firmy Microsoft Entra za pośrednictwem zgody użytkownika lub administratora. Aby uzyskać więcej informacji na temat wyrażania zgody na aplikacje, zobacz Zgoda użytkownika i administratora.
Wymagania wstępne
Aby przejrzeć uprawnienia przyznane aplikacjom, potrzebne są następujące elementy:
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Jedną z następujących ról: Administrator aplikacji w chmurze, Administrator aplikacji.
- Właściciel jednostki usługi, który nie jest administratorem, może unieważnić tokeny odświeżania.
Przeglądanie i odwoływanie uprawnień w centrum administracyjnym firmy Microsoft Entra
Napiwek
Kroki opisane w tym artykule mogą się nieznacznie różnić w zależności od portalu, od którego zaczynasz.
Aby wyświetlić uprawnienia przyznane aplikacji, możesz uzyskać dostęp do centrum administracyjnego firmy Microsoft Entra. Możesz odwołać uprawnienia przyznane przez administratorów dla całej organizacji i uzyskać kontekstowe skrypty programu PowerShell w celu wykonania innych akcji.
Aby uzyskać informacje na temat przywracania odwołanych lub usuniętych uprawnień, zobacz Przywracanie uprawnień przyznanych aplikacjom.
Aby przejrzeć uprawnienia aplikacji przyznane dla całej organizacji lub określonego użytkownika lub grupy:
- Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator aplikacji w chmurze.
- Przejdź do sekcji Identity>Applications Enterprise Applications>Wszystkie aplikacje.>
- Wybierz aplikację, do której chcesz ograniczyć dostęp.
- Wybierz pozycję Uprawnienia.
- Aby wyświetlić uprawnienia dotyczące całej organizacji, wybierz kartę Zgoda administratora. Aby wyświetlić uprawnienia przyznane określonemu użytkownikowi lub grupie, wybierz kartę Zgoda użytkownika.
- Aby wyświetlić szczegóły danego uprawnienia, wybierz uprawnienie z listy. Zostanie otwarte okienko Szczegóły uprawnień.
Po przejrzeniu uprawnień przyznanych aplikacji możesz odwołać uprawnienia przyznane przez administratorów dla całej organizacji.
Uwaga
Nie można odwołać uprawnień na karcie Zgoda użytkownika przy użyciu portalu. Te uprawnienia można odwołać przy użyciu wywołań interfejsu API programu Microsoft Graph lub poleceń cmdlet programu PowerShell. Aby uzyskać więcej informacji, przejdź do kart programu PowerShell i programu Microsoft Graph tego artykułu.
Aby odwołać uprawnienia na karcie Zgoda administratora:
- Wyświetl listę uprawnień na karcie Zgoda administratora.
- Wybierz uprawnienie, które chcesz odwołać, a następnie wybierz kontrolkę ... dla tego uprawnienia.
- Wybierz pozycję Odwołaj uprawnienie.
Przeglądanie i odwoływanie uprawnień przy użyciu programu Azure AD PowerShell
Użyj następującego skryptu programu PowerShell usługi Azure AD, aby odwołać wszystkie uprawnienia przyznane aplikacji. Musisz zalogować się jako co najmniej administrator aplikacji w chmurze.
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
}
Unieważnianie tokenów odświeżania przy użyciu programu Azure AD PowerShell
Usuń atrybuty appRoleAssignments dla użytkowników lub grup w aplikacji przy użyciu następujących skryptów.
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
}
Przeglądanie i odwoływanie uprawnień przy użyciu programu Microsoft Graph PowerShell
Użyj następującego skryptu programu PowerShell programu Microsoft Graph, aby odwołać wszystkie uprawnienia przyznane aplikacji. Musisz zalogować się jako co najmniej administrator aplikacji w chmurze.
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
}
Unieważnianie tokenów odświeżania przy użyciu programu Microsoft Graph PowerShell
Usuń atrybuty appRoleAssignments dla użytkowników lub grup w aplikacji przy użyciu następujących skryptów.
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
}
Przeglądanie i odwoływanie uprawnień przy użyciu programu Microsoft Graph
Aby przejrzeć uprawnienia, zaloguj się do Eksploratora programu Graph jako co najmniej administrator aplikacji w chmurze.
Musisz wyrazić zgodę na następujące uprawnienia:
Application.ReadWrite.All
, , Directory.ReadWrite.All
DelegatedPermissionGrant.ReadWrite.All
, , AppRoleAssignment.ReadWrite.All
.
Uprawnienia delegowane
Uruchom następujące zapytania, aby przejrzeć delegowane uprawnienia przyznane aplikacji.
Pobierz jednostkę usługi przy użyciu identyfikatora obiektu.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Przykład:
GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444
Uzyskiwanie wszystkich uprawnień delegowanych dla jednostki usługi
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
Usuń uprawnienia delegowane przy użyciu identyfikatora oAuth2PermissionGrants.
DELETE https://graph.microsoft.com/v1.0/oAuth2PermissionGrants/{id}
Uprawnienia aplikacji
Uruchom następujące zapytania, aby przejrzeć uprawnienia aplikacji przyznane aplikacji.
Uzyskiwanie wszystkich uprawnień aplikacji dla jednostki usługi
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
Usuwanie uprawnień aplikacji przy użyciu identyfikatora appRoleAssignment
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
Unieważnianie tokenów odświeżania przy użyciu programu Microsoft Graph
Uruchom następujące zapytania, aby usunąć atrybuty appRoleAssignments użytkowników lub grup do aplikacji.
Pobierz jednostkę usługi przy użyciu identyfikatora objectID.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Przykład:
GET https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
Pobierz przypisania ról aplikacji Entra firmy Microsoft przy użyciu identyfikatora objectID jednostki usługi.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo
Odwoływanie tokenu odświeżania dla użytkowników i grup przypisanych do aplikacji przy użyciu identyfikatora appRoleAssignment.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
Uwaga
Odwołanie bieżącego przyznanego uprawnienia nie uniemożliwi użytkownikom ponownego wyrażania zgody na żądane uprawnienia aplikacji. Należy zatrzymać aplikację w żądaniu uprawnień za pomocą dynamicznej zgody. Jeśli chcesz całkowicie zablokować użytkownikom zgodę, przeczytaj Konfigurowanie sposobu wyrażania zgody przez użytkowników na aplikacje.
Inne autoryzacje do rozważenia
Uprawnienia delegowane i uprawnienia aplikacji nie są jedynymi sposobami udzielania aplikacjom i użytkownikom dostępu do chronionych zasobów. Administratorzy powinni mieć świadomość innych systemów autoryzacji, które mogą udzielić dostępu do poufnych informacji. Przykłady różnych systemów autoryzacji w firmie Microsoft obejmują wbudowane role firmy Microsoft, kontrolę RBAC programu Exchange i zgodę specyficzną dla zasobów usługi Teams.