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ń, gdy wykryto złośliwą aplikację lub aplikacja otrzymała 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: Global Administracja istrator, Cloud Application Administracja istrator, Application Administracja istrator.
  • Właściciel jednostki usługi, który nie jest administratorem, może unieważnić tokeny odświeżania.

Przywracanie uprawnień

Aby uzyskać informacje na temat przywracania uprawnień, które zostały odwołane lub usunięte, zobacz Przywracanie uprawnień przyznanych aplikacjom .

Przeglądanie i odwoływanie uprawnień

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 przejrzeć uprawnienia aplikacji, które zostały przyznane dla całej organizacji lub do określonego użytkownika lub grupy:

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako co najmniej Administracja istrator aplikacji w chmurze.
  2. Przejdź do sekcji Identity>Applications Enterprise Applications>Wszystkie aplikacje.>
  3. Wybierz aplikację, do której chcesz ograniczyć dostęp.
  4. Wybierz pozycję Uprawnienia.
  5. Aby wyświetlić uprawnienia dotyczące całej organizacji, wybierz kartę Administracja zgody. Aby wyświetlić uprawnienia przyznane określonemu użytkownikowi lub grupie, wybierz kartę Zgoda użytkownika.
  6. 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 zgody Administracja:

  1. Wyświetl listę uprawnień na karcie zgody Administracja.
  2. Wybierz uprawnienie, które chcesz odwołać, a następnie wybierz kontrolkę ... dla tego uprawnienia. Screenshot shows how to revoke admin consent.
  3. Wybierz pozycję Odwołaj uprawnienie.

Przeglądanie i odwoływanie uprawnień

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 Administracja istrator 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

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ń

Użyj następującego skryptu programu PowerShell programu Microsoft Graph, aby odwołać wszystkie uprawnienia przyznane aplikacji. Musisz zalogować się jako co najmniej Administracja istrator 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 "$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
  }

# 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

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 "$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
  }

Przeglądanie i odwoływanie uprawnień

Aby przejrzeć uprawnienia, zaloguj się do Eksploratora programu Graph jako co najmniej Administracja istrator aplikacji w chmurze.

Musisz wyrazić zgodę na następujące uprawnienia:

Application.ReadWrite.All, , Directory.ReadWrite.AllDelegatedPermissionGrant.ReadWrite.All, , AppRoleAssignment.ReadWrite.All.

Uprawnienia delegowane

Uruchom następujące zapytania, aby przejrzeć delegowane uprawnienia przyznane aplikacji.

  1. 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/00063ffc-54e9-405d-b8f3-56124728e051
    
  2. Uzyskiwanie wszystkich uprawnień delegowanych dla jednostki usługi

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
    
  3. 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.

  1. Uzyskiwanie wszystkich uprawnień aplikacji dla jednostki usługi

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
    
  2. 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

Uruchom następujące zapytania, aby usunąć atrybuty appRoleAssignments użytkowników lub grup do aplikacji.

  1. 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/57443554-98f5-4435-9002-852986eea510
    
  2. 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
    
  3. 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 aplikację. Jeśli chcesz uniemożliwić użytkownikom wyrażanie zgody, przeczytaj Konfigurowanie sposobu wyrażania zgody przez użytkowników na aplikacje.

Następne kroki