Мультитенантность является одной из наиболее эффективных моделей предоставления почтовых услуг SaaS-провайдерами, кроме того она позволяет крупным компаниям с большим количеством подразделений максимально эффективно использовать свою ИТ-инфраструктуру. Возможность создавать и делегировать обслуживание изолированных друг от друга доменов на одной инфраструктуре изначально заложена в почтовом сервере Carbonio от Zextras. В данной статье мы расскажем о том, как устроена мультитенантность в Carbonio и как эффективно ее использовать.
![](https://habrastorage.org/getpro/habr/upload_files/6c3/a3d/66e/6c3a3d66ec32d2d0359679ce19f97062.png)
Создание новых почтовых доменов поддерживается в Carbonio и в Carbonio Community Edition, однако такие операции как установка квот и лимитов домена, а также делегирование администраторских полномочий доступны только пользователям коммерческой версии Carbonio.
Первый почтовый домен создается в Carbonio при установке, а его имя выбирается на основе mx-записи вашего почтового сервера. К примеру, если вы устанавливаете Carbonio на сервер mail.example.ru, к которому ведет MX-запись с доменного имени company.ru, то ваш почтовый домен по умолчанию будет иметь название company.ru. Если же ваш почтовый сервер не имеет mx-записи в DNS, то название домена по умолчанию будет образовано убавлением одного уровня из доменного имени. То есть если вы устанавливаете Carbonio на сервер с доменным именем mail.example.ru, который не имеет mx-записи в DNS, то имя домена по умолчанию будет example.ru.
Создавать новые домены можно в консоли администратора в разделе "Настройка - Домены". В списке существующих доменов необходимо нажать на кнопку “Свойства” выбрать “Создать”.
![](https://habrastorage.org/getpro/habr/upload_files/fe0/6b7/a6f/fe06b7a6f97121f5b6b03f4ef5d4b106.png)
В открывшемся меню из обязательных пунктов следует выбрать имя создаваемого домена, почтовый сервер, на котором будут находится почтовые ящики пользователей создаваемого домена, а также имя адресной книги, содержащей в себе GAL.
![](https://habrastorage.org/getpro/habr/upload_files/995/843/7e3/9958437e343444884a59a0f5f20788cb.png)
![](https://habrastorage.org/getpro/habr/upload_files/af7/aaf/2bb/af7aaf2bb1c8f00dbc2ae879fcb19527.png)
Помимо этого прямо на этапе создания нового домена можно настроить его интеграцию с Active Directory, использование SMTP-релея, использование Kerberos для Single Sign-On и многое другое.
Кстати, в Carbonio поддерживается технология SNI - виртуальных хостов для входа пользователей различных почтовых доменов. К примеру, если на сервере mail.example.ru есть почтовый домен domain.ru, то можно настроить виртуальный узел mail.domain.ru, при заходе на который пользователь сможет войти в веб-клиент Carbonio, вводя при этом только первую часть своей учетной записи, тогда как при входе на сервер через адрес mail.example.ru ему пришлось бы вводить в качестве имени учетной записи user@domain.ru.
![](https://habrastorage.org/getpro/habr/upload_files/ee5/6b5/625/ee56b5625ddc123ab76ed87286a89883.png)
Также при создании домена можно настроить его совокупную квоту и политику ее применения. Так, после превышения выделенной на диске квоты пользователям домена можно запретить или разрешить отправку и получение электронных писем, а также заблокировать отправку и разрешить получение электронной почты.
![](https://habrastorage.org/getpro/habr/upload_files/c19/358/f3d/c19358f3dd80021112c5a16e243a3bda.png)
В коммерческой версии Carbonio доступно большое количество возможностей для введения различных ограничений доменов. К примеру можно настроить максимальное число пользователей домена, максимальное число пользователей в различных Классах Обслуживания, а также установить максимальный размер почтового ящика для пользователей.
К примеру команда carbonio admin setDomainSettings domain.ru account_limit 100 domain_account_quota 2gb reset_cos_limits managers:30,default:80 - устанавливает общее ограничение для домена в 100 пользователей, максимальный размер почтового ящика в 2 гигабайта, а также ограничения по количеству пользователей в 30 для Класса Обслуживания managers и в 80 для Класса Обслуживания default. Остальные Классы Обслуживания будут недоступны для делегированного администратора
Для того, чтобы менять ограничения на количество пользователей для Классов Обслуживания, необходимо использовать параметр add_cos_limits. К примеру, команда carbonio admin setDomainSettings domain.ru add_cos_limits managers:40 изменит лимит на количество пользователей для Класса Обслуживания managers и при этом оставит нетронутыми остальные настройки домена.
Как уже было сказано, в Carbonio Community Edition не предусмотрена возможность создания делегированных администраторов, то есть администраторов, которые имеют доступ к настройкам отдельного почтового домена, а также к настройкам его пользователей, ресурсов и списков рассылки. Такая возможность имеется в коммерческой версии Carbonio. В настоящее время данная функция доступна в командной строке, в будущем она также появится в консоли администратора Carbonio.
В полномочия делегированного администратора входит создание, удаление и редактирование пользователей почтового домена и брендирование веб-клиента. В числе настраиваемых возможностей делегированного администратора просмотр почты пользователей, назначение квот почтовых ящиков, а также возможность включать и отключать те или иные функции у пользователей домена.
Для создания делегированного администратора используйте команду вида:
carbonio admin doAddDelegationSettings admin@domain.ru domain.ru
Для настройки возможностей администратора домена добавьте к этой команде параметры viewMail, adminQuota и editFeatures.
К примеру:
carbonio admin doAddDelegationSettings admin@domain.ru domain.ru viewMail true adminQuota -1 editFeatures false - позволит создать делегированного администратора домена, который сможет просматривать почту пользователей, но не сможет создавать новых пользователей, а также не сможет включать и выключать у них те или иные функции.
carbonio admin doAddDelegationSettings admin@domain.ru domain.ru viewMail false adminQuota 0 editFeatures true - позволит создать делегированного администратора домена, который не сможет просматривать почту пользователей, но при этом сможет создавать пользователей и назначать для их почтовых ящиков любую квоту, не превышающую общий лимит домена, а также сможет включать и выключать у них те или иные функции.
carbonio admin doAddDelegationSettings admin@domain.ru domain.ru viewMail true adminQuota 5gb editFeatures true - позволит создать делегированного администратора домена, который сможет просматривать почту пользователей, сможет включать и выключать у них те или иные функции, а также создавать пользователей и назначать квоту для их почтовых ящиков в размере не превышающем 5 гигабайт.
Как и для глобальных администраторов, для делегированных администраторов доступна консоль администратора с усеченным набором функций. В ней администраторы доменов могут управлять пользователями и вносить изменения в настройки своих доменов.
![](https://habrastorage.org/getpro/habr/upload_files/8ee/c4a/333/8eec4a333d17850d8f1e1ed970276e84.png)
Так, к примеру, делегированный администратор может самостоятельно устанавливать и менять SSL-сертификаты для своего домена, настраивать внешнюю проверку подлинности и пр.
Для того, чтобы изменить настройки делегированного администратора, используйте команду doEditDelegationSetting
К примеру команда carbonio admin doEditDelegationSettings admin@domain.ru domain.ru viewMail false позволяет отозвать у делегированного администратора возможность просматривать почту пользователей.
Команда doRemoveDelegationSettings позволяет отозвать полномочия у делегированного администратора. К примеру carbonio admin doRemoveDelegationSettings admin@domain.ru domain.ru удалит у пользователя admin@domain.ru права на управление почтовым доменом domain.ru.
Эксклюзивный дистрибьютор Zextras SVZcloud. По вопросам тестирования и приобретения Zextras Carbonio обращайтесь на электронную почту: sales@svzcloud.ru