Share via


Granska behörigheter som beviljats företagsprogram

I den här artikeln får du lära dig hur du granskar behörigheter som beviljats för program i din Microsoft Entra-klientorganisation. Du kan behöva granska behörigheter när du har identifierat ett skadligt program eller om programmet har beviljats fler behörigheter än vad som är nödvändigt. Du lär dig hur du återkallar behörigheter som beviljats programmet med hjälp av Microsoft Graph API och befintliga versioner av PowerShell.

Stegen i den här artikeln gäller för alla program som har lagts till i din Microsoft Entra-klient via användar- eller administratörsmedgivande. Mer information om medgivande till program finns i Användar- och administratörsmedgivande.

Förutsättningar

Om du vill granska behörigheter som beviljats program behöver du:

  • Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
  • En av följande roller: Molnprogramadministratör, programadministratör.
  • En ägare av tjänstens huvudnamn som inte är administratör kan ogiltigförklara uppdateringstoken.

Återställa behörigheter

Mer information om hur du återställer behörigheter som har återkallats eller tagits bort finns i Återställa behörigheter som beviljats program.

Granska och återkalla behörigheter

Dricks

Stegen i den här artikeln kan variera något beroende på vilken portal du börjar från.

Du kan komma åt administrationscentret för Microsoft Entra för att visa de behörigheter som beviljats till en app. Du kan återkalla behörigheter som beviljats av administratörer för hela organisationen och du kan hämta kontextuella PowerShell-skript för att utföra andra åtgärder.

Så här granskar du ett programs behörigheter som har beviljats för hela organisationen eller till en specifik användare eller grupp:

  1. Logga in på administrationscentret för Microsoft Entra som minst molnprogramadministratör.
  2. Bläddra till Identity>Applications Enterprise-program>>Alla program.
  3. Välj det program som du vill begränsa åtkomsten till.
  4. Välj Behörigheter.
  5. Om du vill visa behörigheter som gäller för hela organisationen väljer du fliken Administratörsmedgivande . Om du vill visa behörigheter som beviljats en viss användare eller grupp väljer du fliken Användarmedgivande .
  6. Om du vill visa information om en viss behörighet väljer du behörigheten i listan. Fönstret Behörighetsinformation öppnas. När du har granskat de behörigheter som beviljats till ett program kan du återkalla behörigheter som beviljats av administratörer för hela organisationen.

    Kommentar

    Du kan inte återkalla behörigheter på fliken Användarmedgivande med hjälp av portalen. Du kan återkalla dessa behörigheter med hjälp av Microsoft Graph API-anrop eller PowerShell-cmdletar. Gå till flikarna PowerShell och Microsoft Graph i den här artikeln om du vill ha mer information.

Så här återkallar du behörigheter på fliken Administratörsmedgivande :

  1. Visa listan över behörigheter på fliken Administratörsmedgivande .
  2. Välj den behörighet som du vill återkalla och välj sedan ... kontrollen för den behörigheten. Skärmbild som visar hur du återkallar administratörsmedgivande.
  3. Välj Återkalla behörighet.

Granska och återkalla behörigheter

Använd följande Azure AD PowerShell-skript för att återkalla alla behörigheter som beviljats till ett program. Du måste logga in som minst molnprogramadministratör.

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
}

Ogiltigförklara uppdateringstoken

Ta bort appRoleAssignments för användare eller grupper till programmet med hjälp av följande skript.

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
}

Granska och återkalla behörigheter

Använd följande Microsoft Graph PowerShell-skript för att återkalla alla behörigheter som beviljats till ett program. Du måste logga in som minst molnprogramadministratör.

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
 }

Ogiltigförklara uppdateringstoken

Ta bort appRoleAssignments för användare eller grupper till programmet med hjälp av följande skript.

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
  }

Granska och återkalla behörigheter

Om du vill granska behörigheter loggar du in på Graph Explorer som minst molnprogramadministratör.

Du måste godkänna följande behörigheter:

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

Delegerade behörigheter

Kör följande frågor för att granska delegerade behörigheter som beviljats till ett program.

  1. Hämta tjänstens huvudnamn med hjälp av objekt-ID:t.

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

    Exempel:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/00063ffc-54e9-405d-b8f3-56124728e051
    
  2. Hämta alla delegerade behörigheter för tjänstens huvudnamn (SP)

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
    
  3. Ta bort delegerade behörigheter med hjälp av oAuth2PermissionGrants-ID.

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

Programbehörigheter

Kör följande frågor för att granska programbehörigheter som beviljats till ett program.

  1. Hämta alla programbehörigheter för tjänstens huvudnamn (SP)

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
    
  2. Ta bort programbehörigheter med appRoleAssignment-ID

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

Ogiltigförklara uppdateringstoken

Kör följande frågor för att ta bort appRoleAssignments för användare eller grupper till programmet.

  1. Hämta tjänstens huvudnamn med hjälp av objectID.

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

    Exempel:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/57443554-98f5-4435-9002-852986eea510
    
  2. Hämta rolltilldelningar för Microsoft Entra-appen med hjälp av objectID för tjänstens huvudnamn.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo
    
  3. Återkalla uppdateringstoken för användare och grupper som tilldelats till programmet med appRoleAssignment-ID.

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

Kommentar

Om du återkallar den aktuella beviljade behörigheten hindras inte användare från att godkänna programmet igen. Om du vill blockera användare från att samtycka läser du Konfigurera hur användarna godkänner program.

Nästa steg