Права доступа к почтовым ящикам и группам Exchange 2010/13
Invite pending
За время работы с Exchange сервером очень часто от пользователей получали запросы на предоставление различного доступа к почтовым ящикам пользователей, к общим почтовым ящикам или к группам рассылки. Ну про легитимность данной процедуры поговорим как-нибудь отдельно, а вот техническая сторона иногда вызывала затруднения.
Часто запросы звучали так: «Хочу чтобы пользователь мог читать, но не мог удалять письма в почтовом ящике!» Или так: «Хочу отправлять сообщения от имени группы!»
Давайте разберемся по порядку чем нам с этим может помочь родная консоль Exchange.
Рис.1. Права доступа к ящику пользователя в консолях Exchange 2010/2013
Как мы видим из рис.1, к почтовому ящику пользователей через консоль могут быть предоставлены: полный доступ и/или доступ отправки от имени. Эти же права распространяется и на общие почтовые ящики (mailbox type=shared).
Рис.2. Права доступа к группе рассылки в консолях Exchange 2010/2013
Для групп рассылки (рис.2) все немного проще и хуже одновременно. В консоли 2010 даже нет возможности выдачи прав. В консоли 2013 такая возможность присутствует.
Теперь давайте отбросим «костыли» консолей Exchange и обратимся непосредственно к Powershell'у и к Active Directory, которые позволят нам поиграться с правами намного гибче.
Предоставление прав «отправить как» — это даже не функция «Exchange» — это целиком права Active Directory. Так что мы можем спокойно использовать закладку Security в AD для выдачи таких прав.
Рис.3. Права на отправку от имени пользователя и от имени группы рассылки
То же самое можно сделать и используя Powershell с подключенным модулем ActivDirectory. К примеру: предоставление пользователю с логином IvanovVV прав отправлять сообщения как «Поддержка пользователей».
Данный способ подходит как для предоставления прав на почтовые ящики, так и для предоставления права на группы рассылки.
Предоставление прав на почтовые ящики затрагивает непосредственно базы Exchange сервера, поэтому для данного действия будем использовать консоль PowerShell с подключенным модулем Exchnage. К примеру: предоставим полные права пользователю IvanovVV к почтовому ящику, который имеет alias (синоним) «Service.Desk».
В данном случае мы предоставили пользователю полные права. Полные права мы могли бы предоставить и через консоль Exchange, но через Powershell мы можем немного расширить свои возможности по уровню предоставления прав: AcessRights: FullAccess, ExternalAccount, DeleteItem, ReadPermission, ChangePermission, ChangeOwner.
Параметр InheritanceType позволяет указывать, будут ли разрешения наследоваться папками в почтовом ящике.
Более подробно с примерами и описанием все параметров можно прочитать тут: Add-MailboxPermission
Предположим что вы крутой админ и вам нужен полный доступ к ящикам всех пользователей. Или у вас есть крутой сервис, который лазает по ящикам пользователей. Тогда для вас протоптан путь в консоль ADSI — Configuration — туда, где хранятся настройки и права самого Exchange. Смотрим Рис.4. Все выставленные там права наследуются всеми почтовыми базами и, как следствие, наследуются всеми, вновь создаваемыми почтовыми, ящиками. К уже созданным почтовым ящикам права необходимо будет выставлять вручную (ну или через PS скрипт).
Рис.4. Глобальные права на все почтовые ящики
P.S.: Я специально в статье не учитывал такую функцию как «Отправить от имени» (Send on behalf) — данная функция, в силу российского менталитета, в России почти не используется, по крайней мере я ни разу этого не видел и не слышал о таком. Но такая функция тоже присутствует и нам стоит о ней помнить.
Часто запросы звучали так: «Хочу чтобы пользователь мог читать, но не мог удалять письма в почтовом ящике!» Или так: «Хочу отправлять сообщения от имени группы!»
Давайте разберемся по порядку чем нам с этим может помочь родная консоль 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) — данная функция, в силу российского менталитета, в России почти не используется, по крайней мере я ни разу этого не видел и не слышал о таком. Но такая функция тоже присутствует и нам стоит о ней помнить.