Hantera principer för appmedgivande för gruppägare
Principer för appmedgivande är ett sätt att hantera de behörigheter som appar har för att komma åt data i din organisation. De används för att styra vilka appar som användare kan samtycka till och för att säkerställa att appar uppfyller vissa kriterier innan de kan komma åt data. Dessa principer hjälper organisationer att behålla kontrollen över sina data och se till att de endast används av betrodda appar.
I den här artikeln får du lära dig hur du hanterar inbyggda och anpassade appmedgivandeprinciper för att styra när gruppens ägarmedgivande kan beviljas.
Med Microsoft Graph och Microsoft Graph PowerShell kan du visa och hantera principer för gruppägares medgivande.
En princip för gruppägares medgivande består av noll eller fler villkorsuppsättningar för "inkludera" och noll eller fler villkorsuppsättningar för "exkludera". För att en händelse ska beaktas i en princip för gruppägares medgivande får villkorsuppsättningen "inkludera" inte matcha någon "exkluderings"-villkorsuppsättning.
Varje villkorsuppsättning består av flera villkor. För att en händelse ska matcha en villkorsuppsättning måste alla villkor i villkorsuppsättningen vara uppfyllda.
Principer för gruppägares medgivande där ID:t börjar med "microsoft-" är inbyggda principer. Till exempel microsoft-pre-approval-apps-for-group
beskriver principen för gruppägares medgivande de villkor under vilka gruppägarna tillåts bevilja medgivande till program från den förgodkända listan av administratören för att få åtkomst till data för de grupper som de äger. Inbyggda principer kan användas i anpassade katalogroller och för att konfigurera inställningar för användarmedgivande, men kan inte redigeras eller tas bort.
Förutsättningar
- En användare eller tjänst med någon av följande roller:
- Administratör för privilegierad roll
- En anpassad roll med de behörigheter som krävs för att hantera principer för gruppägares medgivande
- Microsoft Graph-approllen (programbehörighet) Policy.ReadWrite.PermissionGrant (när du ansluter som en app eller en tjänst)
- Om du vill tillåta gruppägares medgivande enligt principer för appmedgivande måste inställningen för gruppägares medgivande inaktiveras. När den här principen har inaktiverats läss den från principen för appmedgivande. Information om hur du inaktiverar medgivande för gruppägare finns i Inställningen Inaktivera medgivande för gruppägare
Om du vill hantera principer för gruppägares medgivande för program med Microsoft Graph PowerShell ansluter du till Microsoft Graph PowerShell och loggar in med en av rollerna som anges i avsnittet om förhandskrav. Du måste också godkänna behörigheten Policy.ReadWrite.PermissionGrant
.
# change the profile to beta by using the `Select-MgProfile` command
Select-MgProfile -Name "beta"
Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"
Hämta det aktuella värdet för principen för gruppägares medgivande med hjälp av PowerShell
Lär dig hur du kontrollerar om inställningen för gruppägares medgivande har godkänts på andra sätt.
Hämta det aktuella värdet för inställningen för gruppägarens medgivande
Get-MgPolicyAuthorizationPolicy | select -ExpandProperty DefaultUserRolePermissions | ft PermissionGrantPoliciesAssigned
Om
ManagePermissionGrantPoliciesForOwnedResource
returneras iPermissionGrantPoliciesAssigned
kan din gruppägares medgivandeinställning ha auktoriserats på andra sätt.Kontrollera om principen är begränsad till
group
.Get-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | Select -ExpandProperty AdditionalProperties
Om ResourceScopeType
== group
har inställningen för gruppägarens medgivande auktoriserats på andra sätt. Om principen för appmedgivande för grupper har tilldelats microsoft-pre-approval-apps-for-group
innebär det dessutom att funktionen för förhandsgodkännande är aktiverad för din klientorganisation.
Visa en lista över befintliga principer för gruppägares medgivande med powershell
Det är en bra idé att börja med att bekanta dig med de befintliga principerna för gruppägares medgivande i din organisation:
Visa en lista över alla principer för medgivande för gruppägare:
Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
Visa villkorsuppsättningarna "inkludera" för en princip:
Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
Visa villkorsuppsättningarna "exkludera":
Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
Skapa en princip för medgivande för anpassad gruppägare med hjälp av PowerShell
Följ de här stegen för att skapa en princip för anpassad gruppägares medgivande:
Skapa en ny princip för medgivande för tom gruppägare.
New-MgPolicyPermissionGrantPolicy ` -Id "my-custom-app-consent-policy-for-group" ` -DisplayName "My first custom app consent policy for group" ` -Description "This is a sample custom app consent policy for group." ` -AdditionalProperties @{includeAllPreApprovedApplications = $false; resourceScopeType = "group"}
Lägg till villkorsuppsättningar för "inkludera".
# Include delegated permissions classified "low", for apps from verified publishers New-MgPolicyPermissionGrantPolicyInclude ` -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group" ` -PermissionType "delegated" ` -PermissionClassification "low" ` -ClientApplicationsFromVerifiedPublisherOnly
Upprepa det här steget om du vill lägga till fler villkorsuppsättningar för "inkludera".
Du kan också lägga till villkorsuppsättningar för "exkludera".
# Retrieve the service principal for the Azure Management API $azureApi = Get-MgServicePrincipal -Filter "servicePrincipalNames/any(n:n eq 'https://management.azure.com/')" # Exclude delegated permissions for the Azure Management API New-MgPolicyPermissionGrantPolicyExclude ` -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group" ` -PermissionType "delegated" ` -ResourceApplication $azureApi.AppId
Upprepa det här steget om du vill lägga till fler villkorsuppsättningar för "exkludera".
När principen för appmedgivande för gruppen har skapats kan du tillåta att gruppägare godkänner den här principen.
Ta bort en princip för medgivande för anpassad gruppägare med hjälp av PowerShell
Följande visar hur du kan ta bort en princip för medgivande för anpassad gruppägare.
Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group"
Om du vill hantera principer för gruppägares medgivande loggar du in på Graph Explorer med en av rollerna som anges i avsnittet om förhandskrav. Du måste också godkänna behörigheten Policy.ReadWrite.PermissionGrant
.
Hämta det aktuella värdet för principen för gruppägares medgivande med hjälp av Microsoft Graph
Lär dig hur du kontrollerar om inställningen för gruppägares medgivande har godkänts på andra sätt.
Hämta det aktuella principvärdet
GET /policies/authorizationPolicy
Om
ManagePermissionGrantPoliciesForOwnedResource
det visas kan inställningen för gruppägares medgivande ha godkänts på andra sätt.Kontrollera om principen är begränsad till
group
GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }
Om
resourceScopeType
==group
har inställningen för gruppägarens medgivande auktoriserats på andra sätt. Om principen för appmedgivande för grupper har tilldelatsmicrosoft-pre-approval-apps-for-group
innebär det dessutom att funktionen för förhandsgodkännande är aktiverad för din klientorganisation.
Visa en lista över befintliga principer för medgivande för gruppägare med hjälp av Microsoft Graph
Det är en bra idé att börja med att bekanta dig med de befintliga principerna för gruppägares medgivande i din organisation:
Visa en lista över alla principer för appmedgivande:
GET /policies/permissionGrantPolicies
Visa villkorsuppsättningarna "inkludera" för en princip:
GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/includes
Visa villkorsuppsättningarna "exkludera":
GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/excludes
Skapa en princip för medgivande för anpassad gruppägare med hjälp av Microsoft Graph
Följ de här stegen för att skapa en princip för anpassad gruppägares medgivande:
Skapa en ny princip för medgivande för tom gruppägare.
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies { "id": "my-custom-app-consent-policy-for-group", "displayName": "My first custom app consent policy for group", "description": "This is a sample custom app consent policy for group", "includeAllPreApprovedApplications": false, "resourceScopeType": "group" }
Lägg till villkorsuppsättningar för "inkludera".
Inkludera delegerade behörigheter som klassificeras som "låg" för appar från verifierade utgivare
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-app-consent-policy-for-group }/includes { "permissionType": "delegated", "permissionClassification": "low", "clientApplicationsFromVerifiedPublisherOnly": true }
Upprepa det här steget om du vill lägga till fler villkorsuppsättningar för "inkludera".
Du kan också lägga till villkorsuppsättningar för "exkludera". Undanta delegerade behörigheter för Azure Management API (appId 00001111-aaaa-2222-bbbb-3333cccc4444)
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-app-consent-policy-for-group }/excludes { "permissionType": "delegated", "resourceApplication": "00001111-aaaa-2222-bbbb-3333cccc4444 " }
Upprepa det här steget om du vill lägga till fler villkorsuppsättningar för "exkludera".
När principen för gruppägares medgivande har skapats kan du tillåta att gruppägare godkänner den här principen.
Ta bort en princip för medgivande för anpassad gruppägare med hjälp av Microsoft Graph
Följande visar hur du kan ta bort en princip för medgivande för anpassad gruppägare.
DELETE https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/ my-custom-policy
Varning
Det går inte att återställa borttagna principer för gruppägares medgivande. Om du av misstag tar bort en princip för medgivande för anpassad gruppägare måste du återskapa principen.
Villkor som stöds
Följande tabell innehåller en lista över villkor som stöds för principer för gruppägares medgivande.
Villkor | beskrivning |
---|---|
Behörighetsklassificering | Behörighetsklassificeringen för behörigheten som beviljas, eller "alla" för att matcha med någon behörighetsklassificering (inklusive behörigheter som inte är klassificerade). Standardvärdet är "alla". |
PermissionType | Behörighetstypen för behörigheten som beviljas. Använd "program" för programbehörigheter (till exempel approller) eller "delegerade" för delegerade behörigheter. Obs! Värdet "delegatedUserConsentable" anger delegerade behörigheter som inte har konfigurerats av API-utgivaren för att kräva administratörsmedgivande. Det här värdet kan användas i inbyggda behörighetsbeviljande principer, men kan inte användas i anpassade behörighetsbeviljande principer. Obligatoriskt. |
ResourceApplication | AppId för resursprogrammet (till exempel API:et) som en behörighet beviljas för, eller "någon" för att matcha med ett resursprogram eller API. Standardvärdet är "any". |
Behörigheter | Listan över behörighets-ID:t för de specifika behörigheter som ska matchas med, eller en lista med det enda värdet "alla" som matchar med valfri behörighet. Standardvärdet är "alla". – Delegerade behörighets-ID:n finns i egenskapen OAuth2Permissions för API:ets ServicePrincipal-objekt. – Programbehörighets-ID:n finns i egenskapen AppRoles för API:ets ServicePrincipal-objekt. |
ClientApplicationIds | En lista över AppId-värden för klientprogrammen som ska matchas med, eller en lista med det enda värdet "alla" som matchar alla klientprogram. Standardvärdet är "alla". |
ClientApplicationTenantIds | En lista över Klient-ID:t för Microsoft Entra där klientprogrammet är registrerat, eller en lista med det enda värdet "alla" som matchar klientappar som är registrerade i valfri klientorganisation. Standardvärdet är "alla". |
ClientApplicationPublisherIds | En lista över MPN-ID:n (Microsoft Partner Network) för verifierade utgivare av klientprogrammet, eller en lista med det enda värdet "alla" för att matcha med klientappar från alla utgivare. Standardvärdet är "alla". |
ClientApplicationsFromVerifiedPublisherOnly | Ställ in den här växeln så att den endast matchar klientprogram med verifierade utgivare. Inaktivera den här växeln (-ClientApplicationsFromVerifiedPublisherOnly:$false ) så att den matchar alla klientappar, även om den inte har någon verifierad utgivare. Standard är $false . |
Varning
Det går inte att återställa borttagna principer för gruppägares medgivande. Om du av misstag tar bort en princip för medgivande för anpassad gruppägare måste du återskapa principen.
Så här får du hjälp eller svar på dina frågor: