Gérer les politiques de consentement des applications pour les propriétaires de groupes

Les stratégies de consentement des applications permettent de gérer les autorisations dont disposent les applications pour accéder aux données de votre organisation. Elles sont utilisées pour contrôler les applications auxquelles les utilisateurs peuvent consentir et pour s’assurer que les applications répondent à certains critères avant de pouvoir accéder aux données. Ces politiques aident les organisations à garder le contrôle de leurs données et à garantir qu'elles ne sont accessibles qu'aux applications fiables.

Dans cet article, vous apprendrez à gérer les politiques de consentement des applications intégrées et personnalisées pour contrôler quand le consentement du propriétaire du groupe peut être accordé.

Avec Microsoft Graph et Microsoft Graph PowerShell, vous pouvez afficher et gérer les stratégies de consentement des propriétaires de groupe.

Une stratégie de consentement du propriétaire de groupe se compose de zéro ou plusieurs ensembles de conditions « d’inclusion » et de zéro ou plusieurs ensembles de conditions « d’exclusion ». Pour qu'un événement soit pris en compte dans une stratégie de consentement du propriétaire de groupe, l'ensemble de conditions « inclure » ne doit correspondre à aucun ensemble de conditions « exclure ».

Chaque ensemble de conditions est constitué de plusieurs conditions. Pour qu’un événement corresponde à un ensemble de conditions, toutes les conditions de l’ensemble de conditions doivent être remplies.

Les stratégies de consentement du propriétaire de groupe dont l’ID commence par « Microsoft- » sont des stratégies intégrées. Par exemple, la stratégie de consentement des propriétaires de groupe microsoft-pre-approval-apps-for-group décrit les conditions dans lesquelles les propriétaires de groupe sont autorisés à accorder leur consentement aux applications de la liste pré-approuvée par l'administrateur pour accéder aux données des groupes qu'ils possèdent. Les stratégies intégrées peuvent être utilisées dans des rôles d’annuaire personnalisés et pour configurer les paramètres de consentement de l’utilisateur, mais elles ne peuvent pas être modifiées ou supprimées.

Prérequis

  • Un utilisateur ou un service avec l’un des rôles suivants :
  • Pour autoriser le consentement du propriétaire du groupe sous réserve des politiques de consentement de l'application, le paramètre de consentement du propriétaire du groupe doit être désactivé. Une fois désactivée, votre politique actuelle est lue à partir de la politique de consentement de l'application. Pour savoir comment désactiver le consentement du propriétaire du groupe, consultez Désactiver le paramètre de consentement du propriétaire du groupe

Pour gérer les stratégies de consentement des propriétaires de groupe pour les applications avec Microsoft Graph PowerShell, connectez-vous à Microsoft Graph PowerShell et connectez-vous avec l'un des rôles répertoriés dans la section des conditions préalables. Vous devez également consentir à l’autorisation Policy.ReadWrite.PermissionGrant.

# change the profile to beta by using the `Select-MgProfile` command
Select-MgProfile -Name "beta"
Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"

Découvrez comment vérifier si le paramètre de consentement du propriétaire de votre groupe a été autorisé par d'autres moyens.

  1. Récupérer la valeur actuelle du paramètre de consentement du propriétaire du groupe

      Get-MgPolicyAuthorizationPolicy | select -ExpandProperty DefaultUserRolePermissions | ft PermissionGrantPoliciesAssigned
    

    Si ManagePermissionGrantPoliciesForOwnedResource est renvoyé dans PermissionGrantPoliciesAssigned, le paramètre de consentement du propriétaire de votre groupe a peut-être été autorisé d'une autre manière.

  2. Vérifiez si la stratégie s’étend à group.

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

Si ResourceScopeType == group, le paramètre de consentement du propriétaire de votre groupe a été autorisé par d'autres moyens. De plus, si la stratégie de consentement de l'application pour les groupes a été attribuée microsoft-pre-approval-apps-for-group, cela signifie que la fonctionnalité de pré-approbation est activée pour votre locataire.

C'est une bonne idée de commencer par vous familiariser avec les politiques de consentement des propriétaires de groupe existantes dans votre organisation :

  1. Répertoriez toutes les politiques de consentement des propriétaires de groupe :

    Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
    
  2. Affichez les ensembles de conditions « include » d’une stratégie :

    Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
    
  3. Affichez les ensembles de conditions « exclude » d’une stratégie :

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

Suivez ces étapes pour créer une stratégie de consentement du propriétaire de groupe personnalisée :

  1. Créez une nouvelle stratégie de consentement du propriétaire de groupe vide.

    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. Ajoutez des ensembles de conditions « include ».

    # 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
    

    Répétez cette étape pour ajouter d’autres ensembles de conditions « include ».

  3. Ajoutez si besoin des ensembles de conditions « exclude ».

    # 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
    

    Répétez cette étape pour ajouter d’autres ensembles de conditions « exclude ».

Une fois la politique de consentement de l'application pour le groupe créée, vous pouvez autoriser le consentement des propriétaires du groupe sous réserve de cette politique.

  1. Ce qui suit montre comment supprimer une stratégie de consentement de propriétaire de groupe personnalisée.

    Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group"
    

Pour gérer les politiques de consentement des propriétaires de groupe, connectez-vous à Graph Explorer avec l'un des rôles répertoriés dans la section des prérequis. Vous devez également consentir à l’autorisation Policy.ReadWrite.PermissionGrant.

Découvrez comment vérifier si le paramètre de consentement du propriétaire de votre groupe a été autorisé par d'autres moyens.

  1. Récupérer la valeur de la stratégie actuelle

    GET /policies/authorizationPolicy
    

    Si ManagePermissionGrantPoliciesForOwnedResource apparaît, le paramètre de consentement du propriétaire de votre groupe a peut-être été autorisé d'une autre manière.

  2. Vérifiez si la stratégie s'étend à group

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

    Si resourceScopeType == group, le paramètre de consentement du propriétaire de votre groupe a été autorisé par d'autres moyens. De plus, si la stratégie de consentement de l'application pour les groupes a été attribuée microsoft-pre-approval-apps-for-group, cela signifie que la fonctionnalité de pré-approbation est activée pour votre locataire.

C'est une bonne idée de commencer par vous familiariser avec les politiques de consentement des propriétaires de groupe existantes dans votre organisation :

  1. Listez des stratégies de consentement d’application :

    GET /policies/permissionGrantPolicies
    
  2. Affichez les ensembles de conditions « include » d’une stratégie :

    GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/includes
    
  3. Affichez les ensembles de conditions « exclude » d’une stratégie :

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

Suivez ces étapes pour créer une stratégie de consentement du propriétaire de groupe personnalisée :

  1. Créez une nouvelle stratégie de consentement du propriétaire de groupe vide.

    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. Ajoutez des ensembles de conditions « include ».

    Inclure des permissions déléguées classées « faible » pour les applications provenant d’éditeurs vérifiés

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-app-consent-policy-for-group }/includes
    
    {
      "permissionType": "delegated",
      "permissionClassification": "low",
      "clientApplicationsFromVerifiedPublisherOnly": true
    }
    

    Répétez cette étape pour ajouter d’autres ensembles de conditions « include ».

  3. Ajoutez si besoin des ensembles de conditions « exclude ». Exclure les autorisations déléguées pour l’API de gestion Azure (appId 46e6adf4-a9cf-4b60-9390-0ba6fb00bf6b)

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-app-consent-policy-for-group }/excludes
    
    {
      "permissionType": "delegated",
      "resourceApplication": "46e6adf4-a9cf-4b60-9390-0ba6fb00bf6b "
    }
    

    Répétez cette étape pour ajouter d’autres ensembles de conditions « exclude ».

Une fois la politique de consentement du propriétaire du groupe créée, vous pouvez autoriser le consentement des propriétaires du groupe sous réserve de cette politique.

  1. Ce qui suit montre comment supprimer une stratégie de consentement de propriétaire de groupe personnalisée.

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

Avertissement

Les stratégies de consentement du propriétaire de groupe supprimées ne peuvent pas être restaurées. Si vous supprimez accidentellement une stratégie de consentement du propriétaire de groupe personnalisée, vous devrez recréer la stratégie.

Conditions prises en charge

Le tableau suivant fournit la liste des conditions prises en charge pour les stratégies de consentement des propriétaires de groupe.

Condition Description
PermissionClassification La classification des autorisations pour l’autorisation accordée, ou « All » pour correspondre à toute classification d’autorisation (y compris les autorisations qui ne sont pas classées). La valeur par défaut est « All ».
PermissionType Type d’autorisation de l’autorisation accordée. Utilisez « application » pour les autorisations de l’application (par exemple, les rôles d’application) ou « delegated » pour les autorisations déléguées.

Remarque : La valeur « delegatedUserConsentable » indique des autorisations déléguées qui n’ont pas été configurées par l’éditeur d’API pour exiger le consentement de l’administrateur. Cette valeur peut être utilisée dans les stratégies d’octroi d’autorisations intégrées, mais elle ne peut pas être utilisée dans les stratégies d’octroi d’autorisations personnalisées. Obligatoire.
ResourceApplication AppId de l’application de ressource (par exemple, l’API) pour laquelle une autorisation est accordée, ou « any » pour correspondre à n’importe quelle application ou API de ressources. La valeur par défaut est « any ».
Autorisations Liste des ID d’autorisation pour les autorisations spécifiques de correspondance ou une liste avec la valeur unique « all » pour toutes les autorisations. La valeur par défaut est la seule valeur « tout ».
– Les ID de permission déléguée se trouvent dans la propriété OAuth2Permissions de l’objet ServicePrincipal de l’API.
– Les ID d’autorisation d’application se trouvent dans la propriété AppRoles de l’objet ServicePrincipal de l’API.
ClientApplicationIds Liste de valeurs AppId auxquelles les applications clientes doivent correspondre ou liste avec la valeur unique « all » pour correspondre à n’importe quelle application cliente. La valeur par défaut est la seule valeur « tout ».
ClientApplicationTenantIds Liste d’identifiants de locataires Microsoft Entra dans lesquels l’application cliente est inscrite, ou liste avec la valeur unique « all » pour correspondre aux applications clientes inscrites dans n’importe quel locataire. La valeur par défaut est la seule valeur « tout ».
ClientApplicationPublisherIds Liste d’ID de partenaires Microsoft Partner Network (MPN) pour les serveurs de publication vérifiés de l’application cliente, ou liste avec la valeur unique « all » pour qu’elle corresponde aux applications clientes de n’importe quel serveur de publication. La valeur par défaut est la seule valeur « tout ».
ClientApplicationsFromVerifiedPublisherOnly Affectez ce commutateur pour qu’il corresponde uniquement aux applications clientes disposant d’un serveur de publication vérifié. Désactivez ce commutateur (-ClientApplicationsFromVerifiedPublisherOnly:$false) pour qu’il corresponde à toute application cliente, même si elle n’a pas de serveur de publication vérifié. La valeur par défaut est $false.

Avertissement

Les stratégies de consentement des propriétaires de groupe supprimées ne peuvent pas être restaurées. Si vous supprimez accidentellement une stratégie de consentement du propriétaire de groupe personnalisée, vous devrez recréer la stratégie.

Pour obtenir de l’aide ou trouver des réponses à vos questions :