Dela via


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

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"

Lär dig hur du kontrollerar om inställningen för gruppägares medgivande har godkänts på andra sätt.

  1. 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 i PermissionGrantPoliciesAssignedkan din gruppägares medgivandeinställning ha auktoriserats på andra sätt.

  2. Kontrollera om principen är begränsad till group.

       Get-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | Select -ExpandProperty AdditionalProperties
    

Om ResourceScopeType == grouphar 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-groupinnebär det dessutom att funktionen för förhandsgodkännande är aktiverad för din klientorganisation.

Det är en bra idé att börja med att bekanta dig med de befintliga principerna för gruppägares medgivande i din organisation:

  1. Visa en lista över alla principer för medgivande för gruppägare:

    Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
    
  2. Visa villkorsuppsättningarna "inkludera" för en princip:

    Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
    
  3. Visa villkorsuppsättningarna "exkludera":

    Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
    

Följ de här stegen för att skapa en princip för anpassad gruppägares medgivande:

  1. 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"}
    
  2. 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".

  3. 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.

  1. 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 .

Lär dig hur du kontrollerar om inställningen för gruppägares medgivande har godkänts på andra sätt.

  1. 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.

  2. Kontrollera om principen är begränsad till group

    GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }
    

    Om resourceScopeType == grouphar 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-groupinnebär det dessutom att funktionen för förhandsgodkännande är aktiverad för din klientorganisation.

Det är en bra idé att börja med att bekanta dig med de befintliga principerna för gruppägares medgivande i din organisation:

  1. Visa en lista över alla principer för appmedgivande:

    GET /policies/permissionGrantPolicies
    
  2. Visa villkorsuppsättningarna "inkludera" för en princip:

    GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/includes
    
  3. Visa villkorsuppsättningarna "exkludera":

    GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/excludes
    

Följ de här stegen för att skapa en princip för anpassad gruppägares medgivande:

  1. 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"
    }
    
  2. 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".

  3. 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.

  1. 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: