Exchange Server

Deep Dive – Entendendo Send As Permission

  • O que é Send As permission?

R: É uma permissão concedida a um usuário para que ele envie um e-mail como se fosse uma outra pessoa. Em outras palavras, se eu Denis, concedo permissão de Send As no meu usuário, delegando o usuário “John” a enviar como se fosse eu, ele poderá enviar mensagens a qualquer destinatário apenas alterando o campo De/From do Outlook ou OWA, e os destinatários que receberem verão que o envio foi realizado pelo Denis.

  • Como conceder a permissão?

R: No Exchange 2007/2010/2013 e 2016 nós temos a opção de configurar no próprio usuário através da interface gráfica. É possível também configurar pelo powershell. Após a permissão concedida, basta alterarmos o campo De/From do Outlook. Vejamos o passo a passo abaixo:

Exchange 2010

Send As Exchange 2010

Exchange 2013/2016

Send As Exchange 2013/2016

Powershell

Add-ADPermission -Identity "Denis Signorelli" -User John -AccessRights ExtendedRight -ExtendedRights "Send As"

 

  • Alterar o campo De/From do Outlook:

Outook Campo De

Ao abrir o campo De/From, selecione em alguma Address List o endereço de quem fara o Send As. Não escreva o endereço diretamente no campo, isso não é recomendado pela Microsoft. 

Outook Campo De

  • Alterar campo De/From no OWA

OWA Campo De

OWA Campo De

OWA Campo De

O ponto crucial para entendermos é que o Send As permission não é uma permissão a nível de mailbox ou Exchange. Essa é uma permissão de Active Directory. Essa permissão é dada diretamente dentro do objeto do usuário no AD, especificamente no AD Security Descriptor. O entendimento desse conceito é fundamental para entendermos como o Exchange lida com essa permissão. 

O Exchange Server através do ADAccess, realiza no intervalo de 120 minutos uma cópia de alguns atributos do AD. Alguns exemplos são o atributo de quota, Send On Behalf e também o AD Security Descriptor (no qual contem a permissão de Send As. Essa cópia é mantida em um cache pelo Information Store, e toda vez que é necessário realizar um Send As check, o Store Driver é acionado para fazer a verificação em base ao cache mantido pelo Information Store.

Um segundo ponto importante a se atentar é a resolução do nome do usuário. É uma boa pratica que se pesque o usuário de uma Address List para poder fazer o Send As. O Exchange necessita de um nome resolvido no campo “De/FROM” para poder fazer o Send As. Podem se perguntar; como funciona então mesmo quando não pescamos o usuário da GAL? Simples, o Outlook sempre tenta resolver o nome utilizando a GAL, mesmo quando não o fazemos. Notem que ao enviar um e-mail, por mais que escrevemos manualmente no campo “Para/To”, ao clicar em enviar o Outlook resolve o nome colocando-o sublinhado. Por isso mesmo sem pescar o usuário da GAL, muitas vezes funciona. O porém dessa história é quando o usuário que faremos o Send As não está na GAL. Logo após o Exchange ver que o nome não foi resolvido, o Send As já será recusado.

O Outlook pode ter duas reações diferentes em caso consulta retornada com falha. Ambas dependeram de como o Outlook esta configurado, se o mesmo está em modo cache ou modo online. Exemplificamos ambas as opções:

  • Modo cache.

Será retornada uma NDR, dizendo que o usuário não tem permissão de envio:

Send As NDR error

  • Modo Online

Logo após inserir o emitente no campo De/From, o outlook mostrará um pop-up dizendo que o usuário não tem permissão para realizar o Send As:

Send As policy type

Essa diferença se dá pelo simples fato de o Outlook em modo Online nada mais é que a sua mailbox aberta “em tempo real”. Dessa forma, o Exchange faz o Send As check em tempo real.

Igualmente o Outlook em modo online, o OWA também é como sua própria mailbox aberta, dessa forma o Exchange fara o controle então em tempo real se o usuário pode ou não realizar o Send As. No caso do OWA, a única diferença será que ao invés de um pop-up, será mostrada uma Policy Tip:

Send As policy type OWA

  • Enviar cópia da mensagem para os itens enviados da mailbox com Send As no Exchange 2010:

Imaginem o seguinte cenário:

1 – Usuário “Ricardo” cede permissão de Send As para a usuária “Flavia”.

2 – Flavia envia e-mails em nome do “Ricardo” através da permissão de Send As.

3 – E-mail é enviado, porem “Ricardo” não sabe que aquele e-mail foi enviado, porque a mensagem permanece apenas nos itens enviados da “Flavia”.

Por padrão, um usuário com Send As não recebe uma mensagem que foi enviada através de outro usuário. O usuário que enviou a mensagem em nome de outro, permanece com o e-mail na pasta “Itens Enviados”. Entretanto o usuário que cede o Send As não possui essas mensagens nos “Itens Enviados”. É possível alterar isso realizando o comando abaixo no mailbox que possui Send As:

Set-MailboxSentItemsConfiguration "Ricardo" -SendAsItemsCopiedTo:SenderAndFrom

Dessa forma, os itens enviados por qualquer pessoa que tenha permissão de Send As no usuário do “Ricardo”, serão também enviados a pasta “Itens Enviados” do usuário “Ricardo”, assim como na pasta “Itens Enviados” de quem enviou a mensagem em nome do “Ricardo”.

  • Enviar cópia da mensagem para os itens enviados da mailbox com Send As no Exchange 2013/2016 e Exchange Online:

Da mesma forma que o Exchange 2010, podemos fazer isso também no Exchange 2013/2016 e Exchange Online. A Microsoft veio a introduzir essa função apenas a partir do CU9 do Exchange 2013. Portanto por obrigação devemos possuir uma versão igual ou superior. Além das versões on-premises, podemos realizar também essa configuração no Exchange Online. No passado, essa feature era apenas disponível no Exchange Online para Shared Mailbox. Recentemente a Microsoft abrangeu a funcionalidade para mailbox de usuários. Para ativar o envio da cópia, utilizar o seguinte comando:

Set-Mailbox “Ricardo” -MessageCopyForSentAsEnabled $true

OBS: A feature funciona tambem em modo coexistente da seguinte forma:

Mailbox Flavia Mailbox Ricardo Itens Enviados
Exchange 2010 Exchange 2010 Funciona normalmente conforme o KB2632409
Exchange 2010 Exchange 2013 (Qualquer Versao) Funciona normalmente conforme o KB2632409
Exchange 2013 CU9 (ou superiores) e Office 365 Exchange 2010 A mensagem será enviada para a “Caixa de Entrada” do Ricardo como um e-mail em anexo*, e para a Flavia será gerada a cópia em “Itens Enviados”.
Exchange 2013 CU9 (ou superiores) e Office 365 Exchange 2013 CU9 (ou superiores) e Office 365 A mensagem será enviada para os “Itens Enviados” de ambos os usuários.

*Segue um exemplo do anexo citado:

Send As copy attachment

Uma vez entendido o que é Send As Permission, como funciona, e como os clientes lidam com essa permissão, é hora de saber alguns possíveis erros e comportamentos.

  • Send As funciona em modo Cross-premises – um usuário no Exchange Online e outro On-Premises?

R: A Microsoft é sucinta em dizer que não funciona. Porém se o Send As foi aplicado antes da mailbox ser movida ao Exchange Online, a permissão continuará funcionando. O problema na maioria dos casos são as permissões concedias quando ambos os usuários (quem recebe e quem garante) estão já em modo Cross-premises.

Um workaround para esse problema instruído pela própria Microsoft é aplicar o Send As no Exchange Online, e aplicar também manualmente no usuário do AD local.

  • Existe alguém que possui Send As por padrão no Exchange?

R: Sim, qualquer Domain Admin, Enterprise Admin ou Recipient Menegement terá permissão de Send As.

  • Posso utilizar Send As e Send On Behalf juntos para o mesmo usuário?

R: Não, pode até ser possível adicionar o usuário com ambas as permissões. Todavia o Send As sempre terá a preferência no caso, o que torna uma configuração sem sentido.

  • É possível utilizar Outlook delegates e Send As juntos para o mesmo usuário?

R: Não, você enfrentara problemas de conflito. Remova qualquer permissão de Outlook Delegate, depois conceda a permissão de Send As.

  • Um usuário pode conceder Send As através do Outlook?

R: Nao, apenas os administradores através do Exchange, Powershell ou AD podem conceder.

  • É possível adicional um alias SMTP e enviar como Send As através do alias?

R: Não, nunca cometam o erro de associar alias SMTP a envio. O alias SMTP será sempre vinculado a recebimento, jamais para envio. Caso deseje uma solução como ciar um alias e enviar e-mails através do alias, crie um Distribuition Group e de permissão de Send As no grupo, essa é uma possível solução de contorno.

  • Posso utilizar Send As para uma mailbox que está escondida na GAL (Hidden Mailbox) ?

R: A Microsoft diz que não é suportado. Entretanto existem sim um modo de conseguir fazer isso. Basta que se adicione como contato do Outlook o usuário no qual quer fazer o Send As antes de esconde-lo na GAL. Após isso, pesque o endereço do usuário somente dos seus contatos locais.

  • O Send As funciona a nível de relay SMTP, por exemplo uma aplicação que precise enviar e-mail como se fosse um usuário?

R: Sim, o Send As funciona a nível de relay SMTP. Nesse caso pode-se dar permissão de Send As ao usuário da aplicação, adiciona-lo como um Domain Admin, ou utilizar um relay não autenticado.

Para finalizar, informo que eu pesquisei o máximo que pude em todas as documentações oficiais da Microsoft sobre tudo que se refere a Send As. Infelizmente existem muitas coisas que não são ao público, e fui descobrindo na pratica e tirando minhas conclusões. Portanto que fique claro que podem existir alguma informação equivocada; e agradeço também caso alguém queira a me sinalar alguma eventual correção 🙂

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *