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 de Exchange Online recursos 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. Estas aplicaciones suelen ser servicios en segundo plano o aplicaciones de demonio que se ejecutan en un servidor sin la presencia de un usuario que ha iniciado sesión. Estas aplicaciones usan el flujo de concesión de credenciales de cliente de OAuth 2.0 para autenticarse y se configuran con permisos de aplicación, lo que de forma predeterminada permite que estas aplicaciones accedan a todos los buzones de una organización en 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 Exchange Online buzones 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 Permisos admitidos y otros recursos , la directiva de acceso a aplicaciones restringe el acceso al buzón de correo para las aplicaciones a las que se concede cualquiera de los ámbitos de permisos de Microsoft Graph o Exchange Web Services compatibles con la directiva.
Configurar ApplicationAccessPolicy
Para configurar una directiva de acceso de aplicación y limitar el ámbito de los permisos de la aplicación:
Conéctese a Exchange Online PowerShell. Para obtener instrucciones, consulte Conexión a Exchange Online PowerShell.
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.
- Identifique el identificador de aplicación (cliente) de la aplicación en la página Centro de administración Microsoft Entra > registros de aplicaciones.
- Cree un nuevo grupo de seguridad habilitado para correo, o bien use uno existente e identifique la dirección de correo electrónico del grupo.
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."
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 indica 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 otros recursos
Los administradores pueden usar cmdlets ApplicationAccessPolicy para controlar el acceso al buzón de una aplicación a la que se concede cualquiera de los siguientes permisos de aplicación de Microsoft Graph o permisos de Exchange Web Services.
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.