Autenticación y EWS en Exchange

Encuentre información que le ayude a elegir el estándar de autenticación adecuado para su aplicación EWS que dirigida a Exchange.

La autenticación es una parte clave de la aplicación de servicios Web Exchange (EWS). Exchange Online, Exchange Online como parte de Office 365 y las versiones locales de Exchange a partir de Exchange Server 2013 admiten protocolos de autenticación web estándar para ayudar a proteger la comunicación entre la aplicación y el servidor de Exchange.

Si está dirigido a Exchange Online, el método de autenticación que elija debe usar HTTPS para cifrar las solicitudes y respuestas que envía la aplicación. Aunque se puede usar HTTP con servidores locales de Exchange, se recomienda usar HTTPS para cualquier solicitud que la aplicación envíe a un punto de conexión de EWS para ayudar a proteger la comunicación entre la aplicación y un servidor de Exchange.

Exchange ofrece las siguientes opciones de autenticación entre las que elegir:

  • OAuth 2.0 (solo Exchange Online)

  • NTLM (solo Exchange local)

  • Básica (ya no se recomienda)

El método de autenticación que elija dependerá de los requisitos de seguridad de su organización, si usa Exchange Online o Exchange local, y si tiene acceso a un proveedor de terceros que pueda emitir tokens de OAuth. Este artículo proporciona información que le ayudará a seleccionar el estándar de autenticación adecuado para su aplicación.

Autenticación OAuth

Se recomienda que todas las aplicaciones nuevas usen el estándar de OAuth para conectarse a los servicios de Exchange Online. La ventaja de la seguridad sobre la autenticación básica compensa el trabajo adicional que se necesita para implementar OAuth en la aplicación. No obstante, en el caso de los registros también se deben tener en cuenta algunas desventajas.

Tabla 1. Ventajas y desventajas del uso de OAuth

Ventajas Desventajas
OAuth es un protocolo de autenticación estándar de la industria.

La autenticación la administra un proveedor de terceros. La aplicación no tiene que recopilar ni almacenar las credenciales de Exchange.

Menos preocupaciones para usted, ya que la aplicación solo recibe un token opaco del proveedor de autenticación. Por lo tanto, una vulneración de seguridad de la aplicación solo puede revelar el token, no las credenciales de Exchange del usuario.
OAuth se basa en un proveedor de autenticación de terceros. Esto puede suponer un coste adicional a su organización o a sus clientes.

El estándar OAuth es más difícil de implementar que la autenticación básica.

Para implementar OAuth, debe integrar la aplicación tanto con el proveedor de autenticación como con el servidor de Exchange.

Para ayudar a minimizar las desventajas, puede usar la Biblioteca de autenticación de Microsoft Microsoft Entra (ADAL) para autenticar a los usuarios en Servicios de dominio de Active Directory (AD DS) en la nube o en el entorno local y, a continuación, obtener tokens de acceso para proteger las llamadas a un servidor exchange. Exchange Online requiere tokens emitidos por el servicio Microsoft Entra, que es compatible con ADAL; sin embargo, puede usar cualquier biblioteca de terceros.

Para más información sobre el uso de la autenticación OAuth en la aplicación EWS, vea los recursos siguientes:

Autenticación NTLM

La autenticación NTLM solo está disponible para los servidores de Exchange local. En el caso de las aplicaciones que se ejecutan en el firewall corporativo, la integración entre la autenticación NTLM y .NET Framework proporciona un medio integrado para autenticar su aplicación.

Tabla 2. Ventajas y desventajas del uso de la autenticación NTLM

Ventajas Desventajas
Está preparado para funcionar con su servidor Exchange. Puede configurar el acceso a los servicios de Exchange con un cmdlet del Shell de administración de Exchange.

Usa el objeto CredentialCache de .NET Framework para obtener automáticamente las credenciales del usuario.

Hay ejemplos de código disponibles que utilizan las credenciales del usuario que inició sesión para la autenticación en un servidor de Exchange local.
Los usuarios tienen que haber iniciado sesión en un dominio para usar la autenticación NTLM.

Puede resultar difícil acceder a las cuentas de correo electrónico que no están asociadas a la cuenta de dominio del usuario.

Las aplicaciones de servicio deben tener una cuenta de dominio para poder aprovechar la autenticación NTLM.

Autenticación básica

La autenticación básica proporciona un nivel de seguridad bueno y básico para la aplicación cliente. Se recomienda que todas las aplicaciones nuevas usen el protocolo NTLM o el protocolo OAuth para la autenticación; sin embargo, la autenticación básica puede ser la elección adecuada para la aplicación en algunas circunstancias.

Tabla 3. Ventajas y desventajas del uso de la autenticación básica

Ventajas Desventajas
Está preparado para funcionar con su servidor Exchange. Puede configurar el acceso a los servicios de Exchange con un cmdlet del Shell de administración de Exchange.

Las aplicaciones de Windows pueden usar las credenciales predeterminadas del usuario que ha iniciado sesión.

Hay disponibles varios ejemplos de código que muestran cómo se llama a EWS con la autenticación básica.
Requiere que la aplicación recopile y almacene las credenciales del usuario.

Debe desactivar la autenticación NTLM si quiere obligar a todos los usuarios a usar la autenticación básica.

Si se produce una vulneración en la seguridad de la aplicación, puede mostrar la dirección de correo electrónico y la contraseña del usuario al atacante.

Debe decidir si la autenticación básica cumple con los requisitos de seguridad de su organización y clientes. La autenticación básica puede ser la opción adecuada si quiere evitar tareas de configuración extensas, por ejemplo, para aplicaciones de demostración o de pruebas simples.

Nota:

La autenticación básica ya no es compatible con EWS para conectarse a Exchange Online. Use la autenticación OAuth en todas las aplicaciones de EWS nuevas o existentes para conectarse a Exchange Online. La autenticación OAuth para EWS solo está disponible en Exchange como parte de Microsoft 365. Las aplicaciones EWS que usan OAuth deben registrarse primero con Microsoft Entra.

Consulte también