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 wanneer aan de toepassing meer machtigingen zijn verleend 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.

Vereisten

Als u de aan toepassingen verleende machtigingen wilt controleren, hebt u het volgende nodig:

  • Een Azure-account met een actief abonnement. Gratis een account maken
  • Een van de volgende rollen: Globale beheerder, Cloudtoepassingsbeheerder, Toepassingsbeheerder.
  • Een Service-principal-eigenaar die geen beheerder is, kan vernieuwingstokens ongeldig maken.

Machtigingen herstellen

Zie Machtigingen herstellen die aan toepassingen zijn verleend voor informatie over het herstellen van machtigingen die zijn ingetrokken of verwijderd.

Machtigingen controleren en intrekken

Tip

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.

Als u de machtigingen van een toepassing wilt bekijken die zijn verleend voor de hele organisatie of aan een specifieke gebruiker of groep:

  1. Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een cloudtoepassing Beheer istrator.
  2. Blader naar Bedrijfstoepassingen voor identiteitstoepassingen>>>Alle toepassingen.
  3. Selecteer de toepassing waartoe u de toegang wilt beperken.
  4. Selecteer Machtigingen.
  5. Als u machtigingen wilt weergeven die van toepassing zijn op uw hele organisatie, selecteert u het tabblad Beheer toestemming. Als u machtigingen wilt weergeven die zijn verleend aan een specifieke gebruiker of groep, selecteert u het tabblad Gebruikerstoestemming.
  6. 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 Beheer toestemming:

  1. Bekijk de lijst met machtigingen op het tabblad Beheer toestemming.
  2. Kies de machtiging die u wilt intrekken en selecteer vervolgens het besturingselement ... voor die machtiging. Screenshot shows how to revoke admin consent.
  3. Selecteer De machtiging Intrekken.

Machtigingen controleren en intrekken

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 cloudtoepassing Beheer 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
}

De vernieuwingstokens ongeldig maken

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

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 cloudtoepassing Beheer 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
 }

De vernieuwingstokens ongeldig maken

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

Machtigingen controleren en intrekken

Als u machtigingen wilt controleren, meldt u zich aan bij Graph Explorer als ten minste een cloudtoepassing Beheer istrator.

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.

  1. 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/00063ffc-54e9-405d-b8f3-56124728e051
    
  2. Alle gedelegeerde machtigingen voor de service-principal ophalen

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
    
  3. Verwijder gedelegeerde machtigingen met behulp van de id oAuth2PermissionGrants.

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

Toepassingstoestemming

Voer de volgende query's uit om toepassingsmachtigingen te controleren die aan een toepassing zijn verleend.

  1. Alle toepassingsmachtigingen voor de service-principal ophalen

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

Voer de volgende query's uit om appRoleAssignments van gebruikers of groepen te verwijderen naar de toepassing.

  1. 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/57443554-98f5-4435-9002-852986eea510
    
  2. 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
    
  3. 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 intrekt, kunnen gebruikers niet opnieuw toestemming geven voor de toepassing. Als u wilt voorkomen dat gebruikers toestemming geven, leest u Configureren hoe gebruikers toestemming geven voor toepassingen.

Volgende stappen