Limitation des autorisations d'application à des boîtes aux lettres Exchange Online spécifiques

Les administrateurs qui souhaitent limiter l'accès de l'application à des boîtes aux lettres spécifiques peuvent créer une stratégie d’accès de l’application en utilisant la cmdlet de PowerShell New-ApplicationAccessPolicy. Cet article décrit les étapes de base de la configuration d’un contrôle d’accès. Ces étapes sont spécifiques aux ressources d’Exchange Online et ne s’appliquent pas aux autres charges de travail de Microsoft Graph.

Contexte

Certaines applications appellent Microsoft Graph en utilisant leur propre identité et non au nom d'un utilisateur. Il s'agit généralement de services d'arrière-plan ou d'applications démon qui s'exécutent sur un serveur sans la présence d'un utilisateur connecté. Ces applications utilisent le flux d'autorisation des identifiants de client OAuth 2.0 pour authentifier et sont configurées avec des permissions d'application, ce qui permet par défaut à ces applications d'accéder à toutes les boîtes aux lettres d'une organisation sur Exchange Online. Par exemple, l'autorisation de l'application Mail.Read permet aux applications de lire le courrier dans toutes les boîtes aux lettres sans utilisateur connecté.

Importante

Par défaut, les applications auxquelles des autorisations d’application ont été accordées aux jeux de données suivants peuvent accéder à toutes les boîtes aux lettres dans le organization :

  • Calendriers
  • Contacts
  • Courrier
  • Paramètres de boîte aux lettres

Les administrateurs peuvent configurer la stratégie d’accès des applications pour limiter l’accès des applications à des boîtes aux lettres spécifiques.

Il existe des scénarios dans lesquels des administrateurs veulent limiter une application à des boîtes aux lettres spécifiques uniquement et non à toutes les boîtes aux lettres Exchange Online dans l’organisation. Les administrateurs peuvent identifier le groupe de boîtes aux lettres auquel autoriser l’accès en les plaçant dans un groupe de sécurité à extension messagerie. Les administrateurs peuvent ensuite limiter l’accès aux applications tierces uniquement à cet ensemble de boîtes aux lettres en créant une stratégie d’accès aux applications pour l’accès à ce groupe.

Tel qu’expliqué plus en détail dans la section Autorisations prises en charge et ressources supplémentaires ci-dessous, la stratégie d’accès à l’application limite l’accès de la boîte aux lettres aux applications auxquelles les étendues d’autorisation des services web Exchange ou Microsoft Graph prises en charge par la stratégie ont été accordées.

Configurer ApplicationAccessPolicy

Pour configurer une stratégie d’accès aux applications et limiter l’étendue des autorisations d’application :

  1. Connectez-vous à Exchange Online PowerShell. Pour plus d'informations, consultez la rubrique Se connecter à Exchange Online PowerShell.

  2. Identifiez l’ID client de l’application et un groupe de sécurité à extension messagerie pour restreindre l’accès de l’application.

  3. Créez une stratégie d'accès aux applications.

    Exécutez la commande suivante, en remplaçant les arguments AppId, PolicyScopeGroupId et Description.

    New-ApplicationAccessPolicy -AppId e7e4dbfc-046f-4074-9b3b-2ae8f144f59b -PolicyScopeGroupId EvenUsers@contoso.com -AccessRight RestrictAccess -Description "Restrict this app to members of distribution group EvenUsers."
    
  4. Testez la stratégie d'accès aux applications nouvellement créée.

    Exécutez la commande suivante, en remplaçant les arguments Identité et AppId.

    Test-ApplicationAccessPolicy -Identity user1@contoso.com -AppId e7e4dbfc-046-4074-9b3b-2ae8f144f59b
    

    La sortie de cette commande indique si l’application a accès à la boîte aux lettres de User1.

Remarque

Les modifications apportées aux stratégies d’accès aux applications peuvent prendre plus d’une heure pour prendre effet dans les appels d’API REST Microsoft Graph, même si Test-ApplicationAccessPolicy les résultats sont positifs.

Autorisations prises en charge et ressources supplémentaires

Les administrateurs peuvent utiliser les cmdlets ApplicationAccessPolicy pour contrôler l'accès à la boîte aux lettres d'une application disposant des autorisations d'application Microsoft Graph ou autorisations des services web Exchange suivantes.

Autorisations de l’application Microsoft Graph :

  • Mail.Read
  • Mail.ReadBasic
  • Mail.ReadBasic.All
  • Mail.ReadWrite
  • Mail.Send
  • MailboxSettings.Read
  • MailboxSettings.ReadWrite
  • Calendars.Read
  • Calendars.ReadWrite
  • Contacts.Read
  • Contacts.ReadWrite

Étendue de l’autorisation des services web Exchange : full_access_as_app.

Pour plus d’informations sur la configuration de la stratégie d’accès aux applications, consultez la rubrique Référence de la cmdlet PowerShell pour New-ApplicationAccessPolicy.

Gestion des erreurs API

Il se peut que vous rencontriez l'erreur suivante lorsqu'un appel API se voit refuser l'accès en raison d'une stratégie d'accès à une application configurée.

{
    "error": {
        "code": "ErrorAccessDenied",
        "message": "Access to OData is disabled.",
        "innerError": {
            "request-id": "2f038156-cf40-403d-8e46-831fe42a8229",
            "date": "2019-05-24T10:16:21"
        }
    }
}

Si l'API de Microsoft Graph appelle à partir de votre application pour renvoyer cette erreur, collaborez avec l'administrateur Exchange Online de l'organisation pour vous assurer que votre application a l'autorisation d'accéder à la ressource de la boîte aux lettres.