Udostępnij za pośrednictwem


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:

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator 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ę Zgoda administratora. 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 Zgoda administratora:

  1. Wyświetl listę uprawnień na karcie Zgoda administratora.
  2. Wybierz uprawnienie, które chcesz odwołać, a następnie wybierz kontrolkę ... dla tego uprawnienia. Zrzut ekranu przedstawiający sposób odwoływanie zgody administratora.
  3. 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.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/00001111-aaaa-2222-bbbb-3333cccc4444
    
  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 przy użyciu programu Microsoft Graph

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/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    
  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 żą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.

Następne kroki