Správa zásad souhlasu pro aplikace

Zásady souhlasu aplikací představují způsob, jak spravovat oprávnění, která aplikace mají pro přístup k datům ve vaší organizaci. Používají se k řízení toho, s jakými aplikacemi můžou uživatelé souhlasit, a k zajištění toho, aby aplikace splňovaly určitá kritéria předtím, než budou mít přístup k datům. Tyto zásady pomáhají organizacím udržovat kontrolu nad svými daty a zajistit, aby udělovaly přístup jenom důvěryhodným aplikacím.

V tomto článku se dozvíte, jak spravovat předdefinované a vlastní zásady souhlasu aplikací, které řídí, kdy je možné udělit souhlas.

Pomocí Microsoft Graphu a Microsoft Graph PowerShellu můžete zobrazit a spravovat zásady souhlasu aplikací.

Zásada souhlasu aplikace se skládá z jedné nebo několika sad podmínek include a nulových nebo více sad podmínek pro vyloučení. Aby byla událost považována za v zásadách souhlasu aplikace, musí odpovídat alespoň jedné sadě podmínek "include" a nesmí odpovídat žádné sadě podmínek vyloučení.

Každá sada podmínek se skládá z několika podmínek. Aby událost odpovídala sadě podmínek, musí být splněny všechny podmínky v sadě podmínek.

Zásady souhlasu aplikace, kde ID začíná na "microsoft-" jsou integrované zásady. Některé z těchto předdefinovaných zásad se používají v existujících předdefinovaných rolích adresáře. Zásady souhlasu microsoft-application-admin aplikace například popisují podmínky, za kterých mají role správce Správa istrator a Cloud Application Správa istrator oprávnění udělit souhlas správce v rámci celého tenanta. Předdefinované zásady se dají použít ve vlastních rolích adresáře a ke konfiguraci nastavení souhlasu uživatele, ale nedají se upravovat ani odstraňovat.

Požadavky

  • Uživatel nebo služba s jednou z následujících rolí:
    • Role privilegované role Správa istrator adresáře
    • Vlastní role adresáře s potřebnými oprávněními ke správě zásad souhlasu aplikace
    • Role aplikace Microsoft Graph (oprávnění aplikace) Policy.ReadWrite.PermissionGrant při připojování jako aplikace nebo služby

Pokud chcete spravovat zásady souhlasu aplikací pro aplikace pomocí Microsoft Graph PowerShellu, připojte se k Microsoft Graph PowerShellu.

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

Je vhodné začít tím, že se seznámíte se stávajícími zásadami souhlasu aplikace ve vaší organizaci:

  1. Výpis všech zásad souhlasu aplikace:

    Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
    
  2. Zobrazení sad podmínek include zásady:

    Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
    
  3. Zobrazení sad podmínek pro vyloučení:

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

Pokud chcete vytvořit vlastní zásady souhlasu aplikace, postupujte takto:

  1. Vytvořte novou prázdnou zásadu souhlasu aplikace.

    New-MgPolicyPermissionGrantPolicy `
        -Id "my-custom-policy" `
        -DisplayName "My first custom consent policy" `
        -Description "This is a sample custom app consent policy."
    
  2. Přidejte sady podmínek "include".

    # Include delegated permissions classified "low", for apps from verified publishers
    New-MgPolicyPermissionGrantPolicyInclude `
        -PermissionGrantPolicyId "my-custom-policy" `
        -PermissionType "delegated" `
        -PermissionClassification "low" `
        -ClientApplicationsFromVerifiedPublisherOnly
    

    Opakujte tento krok a přidejte další sady podmínek include.

  3. Volitelně můžete přidat sady podmínek vyloučení.

    # 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
    

    Tento krok opakujte, pokud chcete přidat další sady podmínek vyloučení.

Po vytvoření zásady souhlasu aplikace je potřeba ji přiřadit k vlastní roli v Microsoft Entra ID. Pak musíte přiřadit uživatele k této vlastní roli, která je připojená k zásadám souhlasu aplikace, které jste vytvořili. Další informace o tom, jak přiřadit zásady souhlasu aplikace k vlastní roli, najdete v tématu Oprávnění souhlasu aplikace pro vlastní role.

Následující rutina ukazuje, jak můžete odstranit vlastní zásady souhlasu aplikace.

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

Pokud chcete spravovat zásady souhlasu s aplikacemi, přihlaste se k Graph Exploreru pomocí jedné z rolí uvedených v části předpokladů.

Musíte udělit souhlas s oprávněním Policy.ReadWrite.PermissionGrant .

Je vhodné začít tím, že se seznámíte se stávajícími zásadami souhlasu aplikace ve vaší organizaci:

  1. Výpis všech zásad souhlasu aplikace:

    GET /policies/permissionGrantPolicies?$select=id,displayName,description
    
  2. Zobrazení sad podmínek include zásady:

    GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/includes
    
  3. Zobrazení sad podmínek pro vyloučení:

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

Pokud chcete vytvořit vlastní zásady souhlasu aplikace, postupujte takto:

  1. Vytvořte novou prázdnou zásadu souhlasu aplikace.

    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. Přidejte sady podmínek "include".

    Zahrnout delegovaná oprávnění klasifikovaná jako nízká pro aplikace od ověřených vydavatelů

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-policy }/includes
    Content-Type: application/json
    
    {
      "permissionType": "delegated",
      "PermissionClassification": "low",
      "clientApplicationsFromVerifiedPublisherOnly": true
    }
    

    Opakujte tento krok a přidejte další sady podmínek include.

  3. Volitelně můžete přidat sady podmínek vyloučení. Vyloučení delegovaných oprávnění pro rozhraní API pro správu Azure (appId 46e6adf4-a9cf-4b60-9390-0ba6fb00bf6b)

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/my-custom-policy /excludes
    Content-Type: application/json
    
    {
      "permissionType": "delegated",
      "resourceApplication": "46e6adf4-a9cf-4b60-9390-0ba6fb00bf6b "
    }
    

    Tento krok opakujte, pokud chcete přidat další sady podmínek vyloučení.

Po vytvoření zásady souhlasu aplikace je potřeba ji přiřadit k vlastní roli v Microsoft Entra ID. Pak musíte přiřadit uživatele k této vlastní roli, která je připojená k zásadám souhlasu aplikace, které jste vytvořili. Další informace o tom, jak přiřadit zásady souhlasu aplikace k vlastní roli, najdete v tématu Oprávnění souhlasu aplikace pro vlastní role.

  1. Následující informace ukazují, jak můžete odstranit vlastní zásady souhlasu aplikace.

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

Upozorňující

Odstraněné zásady souhlasu aplikace nelze obnovit. Pokud omylem odstraníte vlastní zásady souhlasu aplikace, budete muset zásadu znovu vytvořit.

Podporované podmínky

Následující tabulka obsahuje seznam podporovaných podmínek pro zásady souhlasu aplikace.

Podmínka Popis
PermissionClassification Klasifikace oprávnění pro udělené oprávnění nebo "vše" odpovídající jakékoli klasifikaci oprávnění (včetně oprávnění, která nejsou klasifikovaná). Výchozí hodnota je vše.
Typ oprávnění Typ oprávnění uděleného oprávnění. Pro oprávnění aplikace (například role aplikací) nebo delegovaná oprávnění použijte "aplikaci".

Poznámka: Hodnota "delegatedUserConsentable" označuje delegovaná oprávnění, která nejsou nakonfigurovaná vydavatelem rozhraní API tak, aby vyžadovala souhlas správce. Tuto hodnotu je možné použít v předdefinovaných zásadách udělení oprávnění, ale nedá se použít ve vlastních zásadách udělení oprávnění. Povinný:
ResourceApplication AppId aplikace prostředků (například rozhraní API), pro které se uděluje oprávnění, nebo "jakýkoli" odpovídající aplikaci prostředků nebo rozhraní API. Výchozí hodnota je any.
Oprávnění Seznam IDoprávněních Výchozí hodnota je jedna hodnota "all".
– ID delegovaných oprávnění najdete ve vlastnosti OAuth2Permissions objektu ServicePrincipal rozhraní API.
– ID oprávnění aplikace lze najít ve vlastnosti AppRoles objektu ServicePrincipal rozhraní API.
ClientApplicationIds Seznam hodnot AppId pro klientské aplikace, které se mají shodovat, nebo seznam s jedinou hodnotou "all" odpovídající libovolné klientské aplikaci. Výchozí hodnota je jedna hodnota "all".
ClientApplicationTenantIds Seznam ID tenanta Microsoft Entra, ve kterých je klientská aplikace zaregistrovaná, nebo seznam s jedinou hodnotou "all", která odpovídá klientským aplikacím registrovaným v libovolném tenantovi. Výchozí hodnota je jedna hodnota "all".
ClientApplicationPublisherIds Seznam ID programu Microsoft Partner Network (MPN) pro ověřené vydavatele klientské aplikace nebo seznam s jednou hodnotou "all" (vše) odpovídající klientským aplikacím od libovolného vydavatele. Výchozí hodnota je jedna hodnota "all".
ClientApplicationsFromVerifiedPublisherOnly Tento přepínač nastavte tak, aby odpovídal pouze klientským aplikacím s ověřenými vydavateli. Zakažte tento přepínač (-ClientApplicationsFromVerifiedPublisherOnly:$false) tak, aby odpovídal v libovolné klientské aplikaci, i když nemá ověřeného vydavatele. Výchozí hodnota je $false.
scopeType Typ oboru prostředku, na který se vztahuje předběžné použití. Možné hodnoty: group pro skupiny a týmy, chat pro chaty nebo tenant pro přístup na úrovni tenanta. Povinný:
citlivostiLabels Popisky citlivosti, které se vztahují k typu oboru, a nejsou předem schváleny. Umožňuje chránit citlivá data organizace. Přečtěte si o popiscích citlivosti. Poznámka: Prostředek chatu zatím nepodporuje citlivostLabels.

Další kroky

Pokud chcete získat nápovědu nebo najít odpovědi na své otázky: