пятница, 20 мая 2016 г.

Office365, гибрид, миграция и RecipientsLimits

На моей работе очень большой оборот персонала и в некоторых случаях вместо того, чтобы бить по рукам и учить как делать правильно, экономнее делать технический запрет на определённые действия. Одним из таких запретов является ограничений на число получателей письма. Да, звучит глупо, но было достаточно идиотов, которые отправляли по всем контактам "Привет, я Ваш новый менеджер" или "Участвуйте в нашем супер-пупер вебинаре".

Для блокировки такой возможности были использованы лимиты на число получателей, которые работали замечательно ... до момента построения гибрида с O365

Итак было выработано и одобрено решение ограничить число получателей. Всего число получателей можно ограничить в трёх местах (а не двух, как думают многие): на уровне организации(Set-OrganizationConfig), на уровне отдельного ящика и на отдельном сервере (Set-TransportService -PickupDirectoryMaxRecipientsPerMessage). С последним лимитом мне пришлось познакомиться при починке проблемы с использованием большой группы рассылки в O365, в которой много получателей было на одном сервере: из-за описанной ниже особенности в значении по умолчанию этот лимит блокирует сообщения с большим числом получателей в транспортном заголовке. Наиболее гибким решением проблемы будет использование "гранулярного" лимита на отдельные ящики, но при работе гибрида с O365 всё не так просто.

Какие технические ограничения в данном сценарии есть в O365?

  • Нельзя задавать лимиты на высоком уровне (сервера, коннектора)
  • Нельзя задавать лимит на число получателей на уровне ящика (в ECP светится серый 500)
  • O365 делает раскрытие групп на своей стороне и отправляет письмо в OnPrem с указанием только конечных получателей (если отправка происходит на синхронизируемую группу)

Как видно, с тонкой настройкой лимитов на число получателей сложно. Только выкрутить до максимума, только хардкор. Последний пункт означает, что в onPrem письмо поступает с уже раскрытыми получателями и огромным заголовком, и, как было сказано выше, это влияет на PickupDirectory aka спулер, который может заблокировать письмо, если на одном из Mailbox серверов слишком много ящиков от большой группы рассылки.

Но есть ещё один момент, который (я не нашел, надеюсь его добавят) не освящён в официальной документации. И пока я случайно не встретился с ним сам, техподдержка тупо гоняла меня по "проверьте, что все настройки по умолчанию и корректные". Проблема, с которой я обратился в техподдержку (и с которой мне не смогли помочь, пока не додумался сам) звучала так:

"Сообщение сотрудника в O365, отправленное на группу с большим числом получателей на земле отбивается с указанием на превышение лимита получателей".

Как я говорил, в O365 лимит на число получателей на ящик поставить нельзя, а на OnPrem можно. А что происходит, когда ящик мигрируется в O365? Лимит остаётся локально. И если письма отправляются (в т.ч. наружу) через OnPrem, то лимит успешно применяется в OnPrem. Казалось бы "Ну и что? В OnPrem же работает и отправка на группы тоже происходит корректно, одна группа-один получатель", но так как O365 раскрывает группы у себя и отправляет письмо в OnPrem с раскрытыми получателями, одна группа-получатели все участники.

Если попробовать применить логику, то можно предположить, что после миграции ящика лимит перестанет применяться (нет), сбросится(нет) или его можно поправить через Set-RemoteMailbox (тоже нет). Сценарий ограничения числа получателей, судя по всему, не был предусмотрен разработчиками O365 совсем, по этому есть два способа починить проблему:

  • До миграции сделать Set-Mailbox -RecipientsLimit unlimited
  • После миграции править настройки через Set-RemoteMailbox нельзя... зато можно через AD: Set-ADUser -Remove @{MsExchRecipLimit=XX}

На этом всё

Комментариев нет:

Отправить комментарий