Machtigingen controleren die zijn verleend aan bedrijfstoepassingen
In dit artikel leert u hoe u machtigingen controleert die zijn verleend aan toepassingen in uw Microsoft Entra-tenant. Mogelijk moet u machtigingen controleren wanneer u een schadelijke toepassing detecteert of een toepassing met meer machtigingen dan nodig is. U leert hoe u machtigingen kunt intrekken die aan de toepassing zijn verleend met behulp van Microsoft Graph API en bestaande versies van PowerShell.
De stappen in dit artikel zijn van toepassing op alle toepassingen die zijn toegevoegd aan uw Microsoft Entra-tenant via gebruikers- of beheerderstoestemming. Zie Gebruikers- en beheerderstoestemming voor meer informatie over het verlenen van toestemming voor toepassingen.
Voorwaarden
Als u machtigingen wilt controleren die zijn verleend aan toepassingen, hebt u het volgende nodig:
- Een Azure-account met een actief abonnement. Maak gratis een account.
- Een van de volgende rollen: Cloudtoepassingsbeheerder, Toepassingsbeheerder.
- Een eigenaar van een service-principal die geen beheerder is, kan vernieuwingstokens ongeldig maken.
Machtigingen controleren en intrekken in het Microsoft Entra-beheercentrum
Fooi
Stappen in dit artikel kunnen enigszins variƫren op basis van de portal waaruit u begint.
U hebt toegang tot het Microsoft Entra-beheercentrum om de machtigingen weer te geven die aan een app zijn verleend. U kunt machtigingen intrekken die zijn verleend door beheerders voor uw hele organisatie en u kunt contextuele PowerShell-scripts krijgen om andere acties uit te voeren.
Zie Machtigingen herstellen die zijn verleend aan toepassingen voor informatie over het herstellen van ingetrokken of verwijderde machtigingen.
Ga als volgt te werk om de machtigingen van een toepassing te bekijken die zijn verleend voor de hele organisatie of aan een specifieke gebruiker of groep:
- Meld u als cloudtoepassingsbeheerder aan bij het Microsoft Entra-beheercentrum.
- Blader naar Bedrijfstoepassingen voor identiteitstoepassingen>>>Alle toepassingen.
- Selecteer de toepassing waartoe u de toegang wilt beperken.
- Selecteer Machtigingen.
- Als u machtigingen wilt weergeven die van toepassing zijn op uw hele organisatie, selecteert u het tabblad Beheerderstoestemming . Als u machtigingen wilt weergeven die zijn verleend aan een specifieke gebruiker of groep, selecteert u het tabblad Gebruikerstoestemming .
- Als u de details van een bepaalde machtiging wilt weergeven, selecteert u de machtiging in de lijst. Het deelvenster Machtigingsgegevens wordt geopend.
Nadat u de machtigingen hebt bekeken die aan een toepassing zijn verleend, kunt u machtigingen intrekken die zijn verleend door beheerders voor uw hele organisatie.
Notitie
U kunt machtigingen niet intrekken op het tabblad Gebruikerstoestemming via de portal. U kunt deze machtigingen intrekken met behulp van Microsoft Graph API-aanroepen of PowerShell-cmdlets. Ga naar de tabbladen PowerShell en Microsoft Graph van dit artikel voor meer informatie.
Machtigingen intrekken op het tabblad Beheerderstoestemming :
- Bekijk de lijst met machtigingen op het tabblad Beheerderstoestemming .
- Kies de machtiging die u wilt intrekken en selecteer vervolgens het besturingselement ... voor die machtiging.
- Selecteer De machtiging Intrekken.
Machtigingen controleren en intrekken met behulp van Azure AD PowerShell
Gebruik het volgende Azure AD PowerShell-script om alle machtigingen in te trekken die aan een toepassing zijn verleend. U moet zich aanmelden als ten minste een cloudtoepassingsbeheerder.
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
}
De vernieuwingstokens ongeldig maken met behulp van Azure AD PowerShell
Verwijder appRoleAssignments voor gebruikers of groepen aan de toepassing met behulp van de volgende scripts.
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
}
Machtigingen controleren en intrekken met Microsoft Graph PowerShell
Gebruik het volgende Microsoft Graph PowerShell-script om alle machtigingen in te trekken die aan een toepassing zijn verleend. U moet zich aanmelden als ten minste een cloudtoepassingsbeheerder.
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
}
De vernieuwingstokens ongeldig maken met Microsoft Graph PowerShell
Verwijder appRoleAssignments voor gebruikers of groepen aan de toepassing met behulp van de volgende scripts.
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
}
Machtigingen controleren en intrekken met Microsoft Graph
Als u machtigingen wilt controleren, meldt u zich aan bij Graph Explorer als ten minste een cloudtoepassingsbeheerder.
U moet toestemming geven voor de volgende machtigingen:
Application.ReadWrite.All
, , Directory.ReadWrite.All
DelegatedPermissionGrant.ReadWrite.All
, . AppRoleAssignment.ReadWrite.All
Gedelegeerde machtigingen
Voer de volgende query's uit om gedelegeerde machtigingen te controleren die zijn verleend aan een toepassing.
Haal de service-principal op met behulp van de object-id.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Voorbeeld:
GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444
Alle gedelegeerde machtigingen voor de service-principal ophalen
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
Verwijder gedelegeerde machtigingen met behulp van de id oAuth2PermissionGrants.
DELETE https://graph.microsoft.com/v1.0/oAuth2PermissionGrants/{id}
Toepassingsmachtigingen
Voer de volgende query's uit om toepassingsmachtigingen te controleren die aan een toepassing zijn verleend.
Alle toepassingsmachtigingen voor de service-principal ophalen
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
Toepassingsmachtigingen verwijderen met behulp van appRoleAssignment-id
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
De vernieuwingstokens ongeldig maken met Microsoft Graph
Voer de volgende query's uit om appRoleAssignments van gebruikers of groepen te verwijderen naar de toepassing.
Service-principal ophalen met behulp van objectID.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Voorbeeld:
GET https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
Haal roltoewijzingen van Microsoft Entra-apps op met behulp van objectID van de service-principal.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo
Het vernieuwingstoken intrekken voor gebruikers en groepen die zijn toegewezen aan de toepassing met behulp van appRoleAssignment-id.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
Notitie
Als u de huidige verleende machtiging inroept, kunnen gebruikers niet meer opnieuw toestemming geven voor de aangevraagde machtigingen van de toepassing. U moet voorkomen dat de toepassing de machtigingen aanvraagt via dynamische toestemming. Als u wilt voorkomen dat gebruikers helemaal toestemming geven, leest u Configureren hoe gebruikers toestemming geven voor toepassingen.
Andere autorisatie om rekening mee te houden
Gedelegeerde en toepassingsmachtigingen zijn niet de enige manieren om toepassingen en gebruikers toegang te verlenen tot beveiligde resources. Beheerders moeten zich bewust zijn van andere autorisatiesystemen die toegang kunnen verlenen tot gevoelige informatie. Voorbeelden van verschillende autorisatiesystemen bij Microsoft zijn ingebouwde rollen van Microsoft Entra, Exchange RBAC en Teams-resourcespecifieke toestemming.