Limitación del ámbito de los permisos de aplicación en buzones de Exchange Online específicos

Los administradores que quieran limitar el acceso de la aplicación a buzones específicos pueden crear una directiva de acceso a la aplicación mediante el cmdlet de PowerShell New-ApplicationAccessPolicy. Este artículo describe los pasos básicos para configurar un control de acceso. Estos pasos son específicos para los recursos de Exchange Online y no se aplican a otras cargas de trabajo de Microsoft Graph.

Información previa

Algunas aplicaciones realizan llamadas a Microsoft Graph con su propia identidad, en lugar de hacerlo en nombre de un usuario. Por lo general, son servicios en segundo plano o demonios que se ejecutan en un servidor sin que un usuario inicie sesión. Estas aplicaciones usan el flujo de concesión de credenciales de cliente de OAuth 2.0 para la autenticación y están configuradas con permisos de aplicación, lo que permite de forma predeterminada que puedan acceder a todos los buzones de una organización de Exchange Online. Por ejemplo, el permiso de aplicación Mail.Read permite a las aplicaciones leer el correo de todos los buzones sin que un usuario haya iniciado sesión.

Importante

De forma predeterminada, las aplicaciones a las que se han concedido permisos de aplicación para los siguientes conjuntos de datos pueden acceder a todos los buzones de la organización:

  • Calendarios
  • Contactos
  • Correo
  • Configuración del buzón de correo

Los administradores pueden configurar la política de acceso a las aplicaciones para limitar el acceso de las aplicaciones a buzones específicos.

Hay escenarios en los que es posible que los administradores quieran limitar una aplicación solo a buzones específicos y no a todos los buzones de Exchange Online de la organización. Los administradores pueden identificar el conjunto de buzones a los que permitir el acceso mediante su colocación en un grupo de seguridad habilitado para correo. A continuación, los administradores pueden limitar el acceso de aplicaciones de terceros solo a ese conjunto de buzones mediante la creación de una directiva de acceso a la aplicación para acceder a ese grupo.

Como se describe más adelante en la sección siguiente Permisos admitidos y recursos adicionales, la directiva de acceso de aplicaciones restringe el acceso al buzón a aquellas aplicaciones a las que se haya concedido cualquiera de los ámbitos de permisos de Microsoft Graph o servicios Web Exchange que admite la directiva.

Configurar ApplicationAccessPolicy

Para configurar una directiva de acceso de aplicación y limitar el ámbito de los permisos de la aplicación:

  1. Conéctese a Exchange Online PowerShell. Para obtener instrucciones, consulte Conexión a Exchange Online PowerShell.

  2. Identifique el identificador de cliente de la aplicación y un grupo de seguridad habilitado para correo para restringir el acceso de la aplicación.

  3. Cree una directiva de acceso de aplicación.

    Ejecute el siguiente comando, reemplazando los argumentos con AppId, PolicyScopeGroupId y 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. Pruebe la directiva de acceso de aplicación recién creada.

    Ejecute el siguiente comando, reemplazando los argumentos con AppId y Identity.

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

    La salida de este comando indicará si la aplicación tiene acceso al buzón de User1.

Nota:

Los cambios en las directivas de acceso a aplicaciones pueden tardar más de 1 hora en surtir efecto en las llamadas a la API REST de Microsoft Graph, incluso cuando Test-ApplicationAccessPolicy se muestran resultados positivos.

Permisos admitidos y recursos adicionales

Los administradores pueden usar los cmdlets de ApplicationAccessPolicy para controlar el acceso a buzones de una aplicación a la que se le ha concedido uno de los siguientes permisos de aplicación de Microsoft Graph o los permisos de servicios Web Exchange.

Permisos de aplicación de 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

Ámbito de permisos de servicios Web Exchange: full_access_as_app.

Para obtener más información sobre la configuración de la directiva de acceso de aplicación, vea la Referencia de cmdlet de PowerShell para New-ApplicationAccessPolicy.

Administración de errores de API

Es posible que se produzca el siguiente error cuando se deniega el acceso a una llamada de la API debido a una directiva de acceso de aplicación configurada.

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

Si las llamadas desde su aplicación a la API de Microsoft Graph devuelven este error, colabore con el administrador de Exchange Online de la organización para asegurarse de que la aplicación tiene permisos de acceso al recurso de buzón.