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:
- Přihlaste se do Centra pro správu Microsoft Entra jako alespoň cloudová aplikace Správa istrator.
- Přejděte k podnikovým aplikacím>Identita>Aplikace>Všechny aplikace.
- Vyberte aplikaci, ke které chcete omezit přístup.
- Vyberte oprávnění.
- 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.
- 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:
- Zobrazení seznamu oprávnění na kartě Správa souhlasu
- Zvolte oprávnění, která chcete odvolat, a pak vyberte ovládací prvek ... pro toto oprávnění.
- 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.
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
Získání všech delegovaných oprávnění pro instanční objekt
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
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.
Získání všech oprávnění aplikace pro instanční objekt
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
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.
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
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
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.