Hantera principer för appmedgivande

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 beviljar åtkomst till betrodda appar. Med Microsoft Graph och Microsoft Graph PowerShell kan du visa och hantera principer för appmedgivande.

I den här artikeln får du lära dig hur du hanterar inbyggda och anpassade appmedgivandeprinciper för att kontrollera när medgivande kan beviljas. Principer för appmedgivande kan tilldelas till specifika användare eller grupper med anpassade roller, eller så kan du ange en standardprincip för appmedgivande för slutanvändare i din organisation.

Anmärkning

Det finns andra sätt att ge en användare eller tjänstens huvudnamn möjlighet att bevilja medgivande förutom att använda principer för appmedgivande. Använd inte listan över huvudnamn som tilldelats roller med medgivandeprinciper som bifogas som en fullständig lista över vad som kan bevilja medgivande i din organisation.

En princip för appmedgivande består av en eller flera villkorsuppsättningar för "inkludera" och noll eller fler villkorsuppsättningar för "exkludera". För att en händelse ska kunna beaktas i en appmedgivandeprincip måste den matcha minst en "inkludera"-villkorsuppsättning och får inte matcha någon "exkluderings"-villkorsuppsättning. Exkludering och inkluderingar används för att avgöra om den aktör som påverkas av den angivna principen kan bevilja medgivande eller inte.

Det finns tre huvuddelar av appmedgivandeprinciper:

  • Metadata: Egenskaper för en appmedgivandeprincip innehåller information som ID, beskrivning och visningsnamn för medgivandeprincipen.
  • Inkluderade villkorsuppsättningar: En samling villkorsuppsättningar som en viss appsamtyckesförfrågan måste matcha minst en av för att policyn ska godkännas. Den här samlingen måste ha minst en villkorsuppsättning. Varje villkorsuppsättning innehåller regler som beskriver egenskaperna för en begäran om appmedgivande, till exempel verifierad utgivares status, begärda behörigheter med mera.
  • Undantagna villkorsuppsättningar: En samling villkorsuppsättningar som en viss begäran om appmedgivande inte får matcha någon av för att bli godkänd. Den här samlingen kan vara tom (den kan innehålla noll exkluderade villkorsuppsättningar). Varje villkorsuppsättning innehåller regler som beskriver egenskaperna för en begäran om appmedgivande, till exempel verifierad utgivares status, begärda behörigheter med mera.

Villkor som stöds

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. En villkorsuppsättning kan till exempel ange "Klientprogram som är utgivare verifierade, skapade i den här klientorganisationen och som begär Microsoft Graph delegerad Mail.Read" skulle inte matcha en begäran om medgivande för ett klientprogram som är utgivare verifierat, skapat i klientorganisationen och begär openid- och profilomfång.

Villkorsuppsättningar innehåller en eller flera egenskaper som används för att definiera egenskaper för den begärda appen eller behörigheter. En fullständig lista över egenskaperna finns här.

Varje klientorganisation har en uppsättning principer för appmedgivande som är desamma för alla klienter. Vissa av dessa inbyggda principer används i befintliga inbyggda katalogroller. Principen för appmedgivande beskriver till exempel microsoft-application-admin de villkor under vilka rollerna Programadministratör och Molnprogramadministratör tillåts bevilja administratörsmedgivande för hela klientorganisationen. Inbyggda principer kan användas i anpassade katalogroller eller för att konfigurera en organisations standardprincip för medgivande. Dessa principer kan inte redigeras. En lista över de inbyggda principerna är:

  • microsoft-user-default-low: Alla behörigheter med låg risk kan godkännas av användare av medlemstyp som standard.
  • microsoft-user-default-recommended: Behörigheter som kan godkännas baserat på Microsofts nuvarande rekommendationer.
  • microsoft-user-default-allow-consent-apps: Populära e-postklienter som kan godkännas av användare
  • microsoft-all-application-permissions: Innehåller alla programbehörigheter (approller) för alla API:er för alla klientprogram.
  • microsoft-dynamically-managed-permissions-for-chat: Innehåller dynamiskt hanterade behörigheter som tillåts för chattresursspecifikt medgivande.
  • microsoft-all-application-permissions-for-chat: Innehåller alla chattresursspecifika programbehörigheter för alla API:er för alla klientprogram.
  • microsoft-dynamically-managed-permissions-for-team: Innehåller dynamiskt hanterade behörigheter som tillåts för teamresursspecifikt medgivande.
  • microsoft-pre-approval-apps-for-chat: Innehåller appar som har godkänts i förväg enligt policyn för beviljande av tillstånd och förhandsgodkännande för resurspecifikt medgivande för chatt.
  • microsoft-pre-approval-apps-for-team: Innehåller appar som har godkänts i förväg av principen för förhandsgodkännande av behörighetsbeviljande för gruppspecifikt resursmedgivande.
  • microsoft-all-application-permissions-verified: Innehåller alla programbehörigheter (approller), för alla API:er, för klientprogram från verifierade utgivare eller som har registrerats i den här organisationen.
  • microsoft-application-admin: Behörigheter som kan godkännas av programadministratörer.
  • microsoft-company-admin: Behörigheter som kan godkännas av företagsadministratörer.

Varning

Microsoft-user-default-recommended och Microsoft-user-default-allow-consent-apps är Microsoft-hanterade principer. Villkoren som ingår i principerna uppdateras automatiskt baserat på Microsoft senaste säkerhetsrekommendationerna för slutanvändarens medgivande.

Inställningen "Låt Microsoft hantera dina samtyckesinställningar," den av Microsoft hanterade policyn, kommer att uppdateras med Microsofts senaste rekommenderade standardinställningar för samtycke. Detta är också standardinställningen för en ny hyresgäst. Inställningens regler är för närvarande: Slutanvändare kan samtycka till eventuella delegerade behörigheter som kan delegeras av användaren FÖRUTOM:

  • För Microsoft Graph: Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All, Mail.Read, Mail.ReadWrite, Mail.ReadBasic, Mail.Read.Shared, Mail.ReadBasic.Shared, Mail.ReadWrite.Shared, MailboxItem.Read, Calendars.Read, Calendars.ReadBasic, Calendars.ReadWrite, Calendars.Read.Shared, Calendars.ReadWrite.Shared, Chat.Read, Chat.ReadWrite, OnlineMeetings.Read, OnlineMeetings.ReadWrite, MailBoxFolder.Read, MailBoxFolder.ReadWrite, MailBoxSettings.Read, MailBoxSettings.ReadWrite, Contacts.ReadWrite, Contacts.Read.Shared, Contacts.ReadWrite.Shared, Tasks.Read, Tasks.Read.Shared, Tasks.ReadWrite, Tasks.ReadWrite.Shared, People.Read.
  • För Office 365 Exchange Online: EAS.AccessAsUser.All, EWS.AccessAsUser.All, IMAP.AccessAsUser.All, POP.AccessAsUser.All.

E-postklientpolicy

En ytterligare princip som är aktiverad som standard är principen microsoft-user-allow-default-consent-apps . Med den här principen kan slutanvändare i din organisation godkänna populära e-postprogram för e-postbehörigheter. När den här principen är aktiverad kan slutanvändarna godkänna specifika delegerade e-postbehörigheter (alla Microsoft Graph och Office 365 Exchange Online behörigheter som anges ovan) för följande program:

  • Apple Mail (program-ID: f8d98a96-0999-43f5-8af3-69971c7bb423)
  • Spark Email (applikations-ID:b50c1dbd-1855-4e54-b07c-d3c3029e93d3)
  • eM-klient (program-ID:e9a7fea1-1cc0-4cd9-a31b-9137ca5deedd)
  • Android-Samsung (program-ID:8acd33ea-7197-4a96-bc33-d7cc7101262f)
  • Android-Mail (program-ID:2cee05de-2b8f-45a2-8289-2a06ca32c4c8)
  • Thunderbird (program-ID:9e5f94bc-e8a4-4e73-b8be-63364c29d753)

En användare kan ha fler än en princip som gör att de kan ge sitt medgivande. Varje policy utvärderas separat (det vill säga att ett undantag i en policy inte påverkar inkluderingar i en annan policy), och användaren behöver bara en godkänd policy för att få samtycke till en specifik händelse. En programadministratör kan till exempel samtycka till allt som en vanlig användare kan (tack vare den standardprincip som tillämpas på alla användare) och de har även bredare behörigheter via principen Microsoft-application-admin, vilket gör att de kan godkänna begäranden om api-behörigheter, förutom Microsoft Graph-approller.

På samma sätt kan en användare eller tjänstens huvudprincip ges möjlighet att bevilja medgivande genom andra medel än en appmedgivandeprincip. Till exempel: en användare som har tilldelats som "ägare" till ett huvudnamn för tjänsten kan bevilja medgivande för de approller som tjänstens huvudnamn exponerar, även om användaren inte har tilldelats några roller med kopplade medgivandeprinciper. ett program som tilldelats programbehörigheten Application.ReadWrite.All kan bevilja medgivande för alla approller (förutom de som exponeras av Microsoft Graph). Användaren eller tjänstens huvud behöver bara en auktoriseringsmekanism för att få tillåtelse att ge samtycke för en viss händelse.

Förutsättningar

  • En användare eller tjänst med någon av följande roller:
  • Bekanta dig med (behörighetsbeviljande villkorsuppsättningar)[/graph/api/resources/permissiongrantconditionset?view=graph-rest-1.0]

Om du vill hantera principer för appmedgivande för program med Microsoft Graph PowerShell ansluter du till Microsoft Graph PowerShell.

Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"

Det är en bra idé att börja med att bekanta sig med befintliga principer för appmedgivande i din organisation:

  1. Visa en lista över alla principer för appmedgivande. Detta visar alla inbyggda principer och alla anpassade principer som din organisation har skapat:

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

    Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
    
  3. Visa de "exkludera" villkorsuppsättningarna:

    Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
    

Följ de här stegen för att skapa en princip för anpassat appmedgivande:

  1. Skapa en ny tom appmedgivandepolicy.

    New-MgPolicyPermissionGrantPolicy `
        -Id "my-custom-policy" `
        -DisplayName "My first custom consent policy" `
        -Description "This is a sample custom app consent policy."
    
  2. Lägg till villkorsuppsättningar för "inkludera".

    # Include delegated permissions classified "low", for apps from verified publishers
    New-MgPolicyPermissionGrantPolicyInclude `
        -PermissionGrantPolicyId "my-custom-policy" `
        -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-policy" `
        -PermissionType "delegated" `
        -ResourceApplication $azureApi.AppId
    

    Upprepa det här steget om du vill lägga till fler villkorsuppsättningar för "exkludera".

När du har skapat principen för appmedgivande måste du tilldela den till en anpassad roll i Microsoft Entra ID. Sedan måste du tilldela användare till den anpassade rollen, som är kopplad till principen för appmedgivande som du skapade. Mer information om hur du tilldelar principen för appmedgivande till en anpassad roll finns i Behörigheter för appmedgivande för anpassade roller.

Följande cmdlet visar hur du kan ta bort en princip för anpassat appmedgivande.

   Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-policy"

Om du vill hantera principer för appmedgivande loggar du in på Graph Explorer med en av rollerna som anges i avsnittet om förhandskrav.

Du måste godkänna behörigheten Policy.ReadWrite.PermissionGrant .

Det är en bra idé att börja med att bekanta sig med befintliga principer för appmedgivande i din organisation:

  1. Visa en lista över alla principer för appmedgivande. Detta visar alla inbyggda principer och alla anpassade principer som din organisation har skapat:

    GET /policies/permissionGrantPolicies?$select=id,displayName,description
    
  2. Visa villkorsuppsättningarna "include" för en policy:

    GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/includes
    
  3. Visa de "exkludera" villkorsuppsättningarna:

    GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/excludes
    

Följ de här stegen för att skapa en princip för anpassat appmedgivande:

  1. Skapa en ny tom appmedgivandepolicy.

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies
    Content-Type: application/json
    
    {
      "id": "my-custom-policy",
      "displayName": "My first custom consent policy",
      "description": "This is a sample custom app consent policy"
    }
    
  2. Lägg till villkorsuppsättningar för "inkludera".

    Inkludera delegerade behörigheter som värderas som "låga" för appar från verifierade utgivare

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-policy }/includes
    Content-Type: application/json
    
    {
      "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 API:et Azure Management (appId 00001111-aaaa-2222-bbbb-3333cccc4444)

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/my-custom-policy /excludes
    Content-Type: application/json
    
    {
      "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 du har skapat principen för appmedgivande måste du tilldela den till en anpassad roll i Microsoft Entra ID. Sedan måste du tilldela användare till den anpassade rollen, som är kopplad till principen för appmedgivande som du skapade. Mer information om hur du tilldelar principen för appmedgivande till en anpassad roll finns i Behörigheter för appmedgivande för anpassade roller.

  1. Följande visar hur du kan ta bort en princip för anpassat appmedgivande.

    DELETE https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/ my-custom-policy
    

Varning

Det går inte att återställa borttagna principer för appmedgivande. Om du av misstag tar bort en princip för anpassat appmedgivande måste du återskapa principen.

Nästa steg

Så här får du hjälp eller svar på dina frågor: