Autenticação e EWS no Exchange

Encontre informações para ajudar na escolha do padrão de autenticação correto para o seu aplicativo EWS que visa o Exchange.

A autenticação é uma parte fundamental do aplicativo EWS (Serviços Web do Exchange). O Exchange Online, o Exchange Online como parte do Office 365, e as versões locais do Exchange, a partir do Exchange Server 2013, oferecem suporte a protocolos de autenticação Web padrão para ajudar a proteger a comunicação entre o aplicativo e o servidor Exchange.

Se você estiver usando o Exchange Online, o método de autenticação escolhido deve usar HTTPS para criptografar as solicitações e respostas enviadas pelo aplicativo. Embora seja possível usar HTTP com servidores do Exchange no local, recomendamos o uso de HTTPS para qualquer solicitação que o aplicativo envie a um ponto de extremidade do EWS para ajudar a proteger a comunicação o aplicativo e um servidor Exchange.

O Exchange oferece as seguintes opções de autenticação para você escolher:

  • OAuth 2.0 (somente Exchange Online)

  • NTLM (somente Exchange no local)

  • Básico (não recomendado)

O método de autenticação escolhido depende dos requisitos de segurança da organização, se você está usando o Exchange Online ou o Exchange no local, e se você tem acesso a um provedor de terceiros que emite tokens OAuth. Este artigo fornece informações que ajudarão você a escolher o padrão de autenticação ideal para o seu aplicativo.

Autenticação OAuth

É recomendável que todos os novos aplicativos usem o padrão OAuth para se conectar aos serviços do Exchange Online. O trabalho adicional necessário para implementar o OAuth traz a vantagem de ter maior segurança em relação à autenticação básica. No entanto, há também algumas desvantagens que você deve estar ciente.

Tabela 1. Vantagens e desvantagens de usar o OAuth

Vantagens Desvantagens
O OAuth é um protocolo de autenticação padrão do setor.

A autenticação é gerenciada por um provedor de terceiros. O aplicativo não precisa coletar e armazenar as credenciais do Exchange.

Menos preocupações para você, pois o aplicativo só recebe um token opaco do provedor de autenticação; portanto, uma violação de segurança no aplicativo só expõe o token, e não as credenciais do Exchange do usuário.
O OAuth conta com um provedor de autenticação de terceiros. Isso pode impor custos adicionais à organização ou aos clientes.

O padrão OAuth é mais difícil de implementar do que a autenticação básica.

Para implementar o OAuth, é necessário integrar o aplicativo com o provedor de autenticação e o servidor do Exchange.

Para ajudar a minimizar as desvantagens, você pode usar a Microsoft Microsoft Entra Authentication Library (ADAL) para autenticar usuários para Active Directory Domain Services (AD DS) na nuvem ou local e, em seguida, obter tokens de acesso para proteger chamadas para um servidor exchange. Exchange Online requer tokens emitidos pelo serviço Microsoft Entra, com suporte da ADAL; no entanto, você pode usar qualquer biblioteca de terceiros.

Para saber mais sobre como usar a autenticação OAuth no aplicativo EWS, confira os seguintes recursos:

Autenticação NTLM

A autenticação NTLM está disponível apenas para servidores do Exchange no local. Para aplicativos executados dentro do firewall corporativo, a integração entre a autenticação NTLM e o .NET Framework fornece um meio integrado para autenticar o aplicativo.

Tabela 2. Vantagens e desvantagens do uso da autenticação NTLM

Vantagens Desvantagens
Funciona como pronto para uso com o servidor Exchange. Configure o acesso aos serviços do Exchange usando um cmdlet do Shell de Gerenciamento do Exchange.

Usa o objeto CredentialCache do .NET Framework para obter automaticamente as credenciais do usuário.

Estão disponíveis exemplos de código que usam as credenciais do usuário conectado para autenticação em um servidor do Exchange no local.
Os usuários devem estar conectados a um domínio para usar a autenticação NTLM.

Pode ser difícil acessar as contas de email que não estão associadas à conta de domínio do usuário.

Os aplicativos de serviço devem ter uma conta de domínio para aproveitar a autenticação NTLM.

Autenticação básica

A autenticação básica oferece um nível básico de segurança para o aplicativo cliente. É recomendável que todos os novos aplicativos usem NTLM ou o protocolo OAuth para autenticação; no entanto, a autenticação básica pode ser a escolha ideal para o aplicativo em algumas circunstâncias.

Tabela 3. Vantagens e desvantagens de usar a autenticação básica

Vantagens Desvantagens
Funciona como pronto para uso com o servidor Exchange. Configure o acesso aos serviços do Exchange usando um cmdlet do Shell de Gerenciamento do Exchange.

Os aplicativos do Windows podem usar as credenciais padrão do usuário conectado.

Vários exemplos de código disponíveis que mostram como chamar o EWS usando autenticação básica.
Requer que o aplicativo colete ou armazene as credenciais do usuário.

Será necessário desativar a autenticação NTLM se quiser forçar todos os usuários a usar a autenticação básica.

Se ocorrer uma violação de segurança no aplicativo, ela poderá expor o endereço de email e a senha do usuário ao invasor.

É necessário decidir se a autenticação básica atende aos requisitos de segurança da sua organização e dos seus clientes. A autenticação básica pode ser a escolha certa se você quiser evitar tarefas de configuração demoradas, por exemplo, para aplicativos simples de teste ou de demonstração.

Observação

Não há mais suporte para a autenticação básica no EWS para conectar-se ao Exchange Online. Use a autenticação OAuth em todos os aplicativos novos ou existentes do EWS para se conectar ao Exchange Online. A autenticação OAuth para o EWS só está disponível no Exchange Online como parte do Microsoft 365. Os aplicativos EWS que usam OAuth devem ser registrados com Microsoft Entra primeiro.

Confira também