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 identifierar ett skadligt program eller ett program som har 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 kostnadsfritt.
- En av följande roller: Molnprogramadministratör, programadministratör.
- En ägare av tjänstens huvudnamn som inte är administratör kan ogiltigförklara uppdateringstoken.
Granska och återkalla behörigheter i administrationscentret för Microsoft Entra
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.
Information om hur du återställer återkallade eller borttagna behörigheter finns i Återställa behörigheter som beviljats till program.
Så här granskar du ett programs behörigheter som beviljats för hela organisationen eller till en specifik användare eller grupp:
- Logga in på administrationscentret för Microsoft Entra som minst molnprogramadministratör.
- Bläddra till Identity>Applications Enterprise-program>>Alla program.
- Välj det program som du vill begränsa åtkomsten till.
- Välj Behörigheter.
- 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 .
- 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 ett program kan du återkalla behörigheter som beviljats av administratörer för hela organisationen.
Not
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 :
- Visa listan över behörigheter på fliken Administratörsmedgivande .
- Välj den behörighet som du vill återkalla och välj sedan ... kontrollen för den behörigheten.
- Välj Återkalla behörighet.
Granska och återkalla behörigheter med Azure AD PowerShell
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 med Azure AD PowerShell
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 med Hjälp av Microsoft Graph PowerShell
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 "<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
}
Ogiltigförklara uppdateringstoken med hjälp av Microsoft Graph PowerShell
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 "<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
}
Granska och återkalla behörigheter med hjälp av Microsoft Graph
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.
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/00001111-aaaa-2222-bbbb-3333cccc4444
Hämta alla delegerade behörigheter för tjänstens huvudnamn
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
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.
Hämta alla programbehörigheter för tjänstens huvudnamn
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
Ta bort programbehörigheter med appRoleAssignment-ID
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
Ogiltigförklara uppdateringstoken med hjälp av Microsoft Graph
Kör följande frågor för att ta bort appRoleAssignments för användare eller grupper till programmet.
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/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
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
Å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}
Not
Om du återkallar den aktuella beviljade behörigheten hindras inte användare från att godkänna programmets begärda behörigheter igen. Du måste stoppa programmet från att begära behörigheter via dynamiskt medgivande. Om du vill blockera användare från att godkänna helt och hållet läser du Konfigurera hur användarna godkänner program.
Annan auktorisering att överväga
Delegerade behörigheter och programbehörigheter är inte de enda sätten att bevilja program och användare åtkomst till skyddade resurser. Administratörer bör känna till andra auktoriseringssystem som kan ge åtkomst till känslig information. Exempel på olika auktoriseringssystem på Microsoft är inbyggda Microsoft Entra-roller, Exchange RBAC och Teams resursspecifika medgivande.