Pull to refresh

Права доступа к почтовым ящикам и группам Exchange 2010/13

За время работы с Exchange сервером очень часто от пользователей получали запросы на предоставление различного доступа к почтовым ящикам пользователей, к общим почтовым ящикам или к группам рассылки. Ну про легитимность данной процедуры поговорим как-нибудь отдельно, а вот техническая сторона иногда вызывала затруднения.

Часто запросы звучали так: «Хочу чтобы пользователь мог читать, но не мог удалять письма в почтовом ящике!» Или так: «Хочу отправлять сообщения от имени группы!»

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


Рис.1. Права доступа к ящику пользователя в консолях Exchange 2010/2013

Как мы видим из рис.1, к почтовому ящику пользователей через консоль могут быть предоставлены: полный доступ и/или доступ отправки от имени. Эти же права распространяется и на общие почтовые ящики (mailbox type=shared).


Рис.2. Права доступа к группе рассылки в консолях Exchange 2010/2013

Для групп рассылки (рис.2) все немного проще и хуже одновременно. В консоли 2010 даже нет возможности выдачи прав. В консоли 2013 такая возможность присутствует.

Теперь давайте отбросим «костыли» консолей Exchange и обратимся непосредственно к Powershell'у и к Active Directory, которые позволят нам поиграться с правами намного гибче.

1. Предоставление прав «Отправить как»


Предоставление прав «отправить как» — это даже не функция «Exchange» — это целиком права Active Directory. Так что мы можем спокойно использовать закладку Security в AD для выдачи таких прав.


Рис.3. Права на отправку от имени пользователя и от имени группы рассылки

То же самое можно сделать и используя Powershell с подключенным модулем ActivDirectory. К примеру: предоставление пользователю с логином IvanovVV прав отправлять сообщения как «Поддержка пользователей».

Add-ADPermission "Поддержка пользователей" -user "IvanovVV" -ExtendedRights Send-As


Данный способ подходит как для предоставления прав на почтовые ящики, так и для предоставления права на группы рассылки.

2. Предоставление прав на почтовые ящики пользователей и на общие почтовые ящики, кроме прав «Отправить как».


Предоставление прав на почтовые ящики затрагивает непосредственно базы Exchange сервера, поэтому для данного действия будем использовать консоль PowerShell с подключенным модулем Exchnage. К примеру: предоставим полные права пользователю IvanovVV к почтовому ящику, который имеет alias (синоним) «Service.Desk».

Add-MailboxPermission -Identity "Service.Desk" -user "IvanovVV" -AccessRights FullAccess -InheritanceType All


В данном случае мы предоставили пользователю полные права. Полные права мы могли бы предоставить и через консоль Exchange, но через Powershell мы можем немного расширить свои возможности по уровню предоставления прав: AcessRights: FullAccess, ExternalAccount, DeleteItem, ReadPermission, ChangePermission, ChangeOwner.

Параметр InheritanceType позволяет указывать, будут ли разрешения наследоваться папками в почтовом ящике.

Более подробно с примерами и описанием все параметров можно прочитать тут: Add-MailboxPermission

3. Предоставление «Глобальных» прав к почтовым ящикам.


Предположим что вы крутой админ и вам нужен полный доступ к ящикам всех пользователей. Или у вас есть крутой сервис, который лазает по ящикам пользователей. Тогда для вас протоптан путь в консоль ADSI — Configuration — туда, где хранятся настройки и права самого Exchange. Смотрим Рис.4. Все выставленные там права наследуются всеми почтовыми базами и, как следствие, наследуются всеми, вновь создаваемыми почтовыми, ящиками. К уже созданным почтовым ящикам права необходимо будет выставлять вручную (ну или через PS скрипт).


Рис.4. Глобальные права на все почтовые ящики

P.S.: Я специально в статье не учитывал такую функцию как «Отправить от имени» (Send on behalf) — данная функция, в силу российского менталитета, в России почти не используется, по крайней мере я ни разу этого не видел и не слышал о таком. Но такая функция тоже присутствует и нам стоит о ней помнить.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.