Kontrola oprávnění udělených podnikovým aplikacím

V tomto článku se dozvíte, jak zkontrolovat oprávnění udělená aplikacím ve vašem tenantovi Microsoft Entra. Možná budete muset zkontrolovat oprávnění, když jste zjistili škodlivou aplikaci nebo aplikaci bylo uděleno více oprávnění, než je potřeba. Dozvíte se, jak odvolat oprávnění udělená aplikaci pomocí rozhraní Microsoft Graph API a existujících verzí PowerShellu.

Postup v tomto článku platí pro všechny aplikace přidané do vašeho tenanta Microsoft Entra prostřednictvím souhlasu uživatele nebo správce. Další informace o souhlasu s aplikacemi najdete v tématu Souhlas uživatele a správce.

Požadavky

Pokud chcete zkontrolovat oprávnění udělená aplikacím, potřebujete:

  • Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
  • Jedna z následujících rolí: Globální Správa istrator, Cloud Application Správa istrator, Application Správa istrator.
  • Vlastník instančního objektu, který není správcem, může zneplatnit obnovovací tokeny.

Obnovení oprávnění

Informace o tom, jak obnovit nebo odstranit oprávnění, která byla odvolána nebo odstraněna, najdete v tématu Obnovení oprávnění udělená aplikacím .

Kontrola a odvolání oprávnění

Tip

Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.

K Centru pro správu Microsoft Entra se dostanete a zobrazí se oprávnění udělená aplikaci. Oprávnění udělená správci pro celou organizaci můžete odvolat a můžete získat kontextové skripty PowerShellu pro provádění dalších akcí.

Kontrola oprávnění aplikace udělená pro celou organizaci nebo pro konkrétního uživatele nebo skupinu:

  1. Přihlaste se do Centra pro správu Microsoft Entra jako alespoň cloudová aplikace Správa istrator.
  2. Přejděte k podnikovým aplikacím>Identita>Aplikace>Všechny aplikace.
  3. Vyberte aplikaci, ke které chcete omezit přístup.
  4. Vyberte oprávnění.
  5. Pokud chcete zobrazit oprávnění, která platí pro celou organizaci, vyberte kartu Správa souhlasu. Pokud chcete zobrazit oprávnění udělená konkrétnímu uživateli nebo skupině, vyberte kartu Souhlas uživatele.
  6. Pokud chcete zobrazit podrobnosti o daném oprávnění, vyberte oprávnění ze seznamu. Otevře se podokno Podrobnosti oprávnění . Po kontrole oprávnění udělených aplikaci můžete odvolat oprávnění udělená správci pro celou organizaci.

    Poznámka:

    Oprávnění na kartě Souhlas uživatele nemůžete odvolat pomocí portálu. Tato oprávnění můžete odvolat pomocí volání rozhraní Microsoft Graph API nebo rutin PowerShellu. Další informace najdete na kartách PowerShellu a Microsoft Graphu v tomto článku.

Odvolání oprávnění na kartě souhlasu Správa:

  1. Zobrazení seznamu oprávnění na kartě Správa souhlasu
  2. Zvolte oprávnění, která chcete odvolat, a pak vyberte ovládací prvek ... pro toto oprávnění. Screenshot shows how to revoke admin consent.
  3. Vyberte Odvolat oprávnění.

Kontrola a odvolání oprávnění

Pomocí následujícího skriptu Azure AD PowerShellu můžete odvolat všechna oprávnění udělená aplikaci. Musíte se přihlásit alespoň jako cloudovou aplikaci Správa istrator.

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
}

Zneplatnění obnovovacích tokenů

Pomocí následujících skriptů odeberte přiřazení appRoleAssignments pro uživatele nebo skupiny do aplikace.

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
}

Kontrola a odvolání oprávnění

Pomocí následujícího skriptu Microsoft Graph PowerShellu můžete odvolat všechna oprávnění udělená aplikaci. Musíte se přihlásit alespoň jako cloudovou aplikaci Správa istrator.

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
 }

Zneplatnění obnovovacích tokenů

Pomocí následujících skriptů odeberte přiřazení appRoleAssignments pro uživatele nebo skupiny do aplikace.

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
  }

Kontrola a odvolání oprávnění

Pokud chcete zkontrolovat oprávnění, přihlaste se k Graph Explorerujako alespoň cloudová aplikace Správa istrator.

Musíte udělit souhlas s následujícími oprávněními:

Application.ReadWrite.All, Directory.ReadWrite.All, DelegatedPermissionGrant.ReadWrite.All, AppRoleAssignment.ReadWrite.All.

Delegovaná oprávnění

Spuštěním následujících dotazů zkontrolujte delegovaná oprávnění udělená aplikaci.

  1. Získejte instanční objekt pomocí ID objektu.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
    

    Příklad:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/00063ffc-54e9-405d-b8f3-56124728e051
    
  2. Získání všech delegovaných oprávnění pro instanční objekt

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
    
  3. Odeberte delegovaná oprávnění pomocí ID oAuth2PermissionGrants.

    DELETE https://graph.microsoft.com/v1.0/oAuth2PermissionGrants/{id}
    

Oprávnění aplikace

Spuštěním následujících dotazů zkontrolujte oprávnění aplikace udělená aplikaci.

  1. Získání všech oprávnění aplikace pro instanční objekt

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
    
  2. Odebrání oprávnění aplikace pomocí ID appRoleAssignment

    DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
    

Zneplatnění obnovovacích tokenů

Spuštěním následujících dotazů odeberte appRoleAssignments uživatelů nebo skupin do aplikace.

  1. Získání instančního objektu pomocí objectID

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
    

    Příklad:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/57443554-98f5-4435-9002-852986eea510
    
  2. Získejte přiřazení rolí aplikace Microsoft Entra pomocí objectID instančního objektu.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo
    
  3. Odvolání obnovovacího tokenu pro uživatele a skupiny přiřazené k aplikaci pomocí ID appRoleAssignment

    DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
    

Poznámka:

Odvolání aktuálního uděleného oprávnění nezabrání uživatelům v opětovném vyjádření souhlasu s aplikací. Pokud chcete uživatelům zablokovat souhlas, přečtěte si informace o tom, jak uživatelé souhlasí s aplikacemi.

Další kroky