Автоматическое создание аккаунтов из AD в Zimbra Collaboration Suite

В одной из наших прошлых статей мы рассказывали о том, как можно «подружить» Zimbra и MS Active Directory, которая используется на большинстве российских предприятий для менеджмента учетных записей пользователей. В ней мы предлагали пользователям Zimbra воспользоваться наиболее простым и безопасным способом создания почтовых ящиков в Zimbra на основании данных из AD под названием LAZY Mode. Этот режим работы позволяет автоматически создавать нового пользователя Zimbra с именем и паролем из AD прямо в момент его первого входа в веб-клиент Zimbra. Впрочем, благодаря развернувшейся в комментариях дискуссии, стало понятно, что далеко не всем администраторам подходит такой способ автонастройки пользователей Zimbra из AD. Поэтому сейчас мы расскажем об альтернативном способе автоматизации создания учетных записей пользователей на основании данных из AD под названием EAGER Mode.

Автоматическое создание аккаунтов из AD в Zimbra Collaboration Suite

LAZY и EAGER Mode отличаются подходами к созданию новых аккаунтов. Если в случае с LAZY система ждет, когда пользователь сам зайдет в веб-клиент Zimbra, чтобы создать нового пользователя, то в случае c EAGER система периодически опрашивает сервер с AD на предмет появления новых пользователей, и, в случае утвердительного ответа, самостоятельно создает новую учетную запись на основании данных, предоставленных Active Directory. Незначительное, на первый взгляд отличие, может сделать совершенно неприемлемым использование LAZY Mode для ряда ИТ-менеджеров.

Одним из таких кейсов может стать прямой запрет на использование веб-клиента Zimbra. Причиной этому может служить экономия вычислительных мощностей сервера (при использовании веб-клиента сервер с Zimbra может обеспечить качественный сервис для 2500 пользователей, а при использовании десктопных и мобильных клиентов до 5-6 тысяч пользователей), либо политика безопасности предприятия, которая прямо запрещает использование веб-клиента для работы с почтой. Отсутствие веб-клиента приводит к невозможности использования режима LAZY Mode, который работает только в нем, а значит у ИТ-менеджеров таких предприятий не остается выбора, кроме как использовать режим EAGER Mode.

В первую очередь нам потребуется подключить AD в качестве внешнего LDAP к Zimbra. Для этого следует зайти в консоль администрирования, которая находится по адресу mail.company.ru:7071/zimbraAdmin/, после чего в левой боковой панели выбрать пункт Configure, а затем и подпункт Domains. В списке доменов теперь надо выбрать тот, который мы будем использовать в связке с AD и, нажав на выбранном домене правую кнопку мыши, выбрать пункт «Configure Authentification». После этого на экране появится диалог настройки внешнего LDAP, в котором мы введем все необходимые данные для интеграции Zimbra с AD.

После ввода всех необходимых данных, следует создать конфигурационный файл, например touch ~/Documents/autoprov.cfg, в который мы введем серию команд, которые необходимо ввести для активации автонастройки аккаунтов из AD в режиме EAGER Mode. В отличие от LAZY Mode, где процесс настройки предельно прост и все настройки можно ввести в качестве команд в CLI, в случае с EAGER Mode лучше перестраховаться и все настройки хранить именно в отдельном файле. Так будет проще вносить в них изменения в том случае, если что-то вдруг пойдет не так.

Итак, после создания файла ~/Documents/autoprov.cfg, в него следует вписать следующие строки, предварительно адаптировав их под вашу инфраструктуру:

md company.ru zimbraAutoProvAccountNameMap "samAccountName"
md company.ru +zimbraAutoProvAttrMap description=description
md company.ru +zimbraAutoProvAttrMap displayName=displayName
md company.ru +zimbraAutoProvAttrMap givenName=givenName
md company.ru +zimbraAutoProvAttrMap cn=cn
md company.ru +zimbraAutoProvAttrMap sn=sn
md company.ru zimbraAutoProvAuthMech LDAP
md company.ru zimbraAutoProvBatchSize 40
md company.ru zimbraAutoProvLdapAdminBindDn "CN=Administrator,CN=Users,DC=company,DC=ru"
md company.ru zimbraAutoProvLdapAdminBindPassword *********
md company.ru zimbraAutoProvLdapBindDn "[email protected]"
md company.ru zimbraAutoProvLdapSearchBase "CN=Users,dc=company,dc=ru"
md company.ru zimbraAutoProvLdapSearchFilter "(cn=%u)"
md company.ru zimbraAutoProvLdapURL "ldap://192.168.0.1:389"
md company.ru zimbraAutoProvMode EAGER
md company.ru zimbraAutoProvNotificationBody "Ваша учетная запись была создана автоматически. Адрес вашей электронной почты ${ACCOUNT_ADDRESS}."
md company.ru zimbraAutoProvNotificationFromAddress [email protected]
md company.ru zimbraAutoProvNotificationSubject "Новая учетная запись была создана автоматически"
ms mail.company.ru zimbraAutoProvPollingInterval "1m"
ms mail.company.ru +zimbraAutoProvScheduledDomains "company.ru"

Благодаря этим настройкам, мы заставляем сервер Zimbra ежеминутно обращаться к AD и получать информацию о появлении в базе данных новых пользователей, а в случае их обнаружения создавать для них учетную запись и отправлять приветственное сообщение.

После того, как все изменения в файле будут сохранены, необходимо будет применить прописанные в нем настройки при помощи команды zmprov < ~/Documents/autoprov.cfg. Все внесенные изменения заработают сразу, необходимости в перезагрузке сервера возникнуть не должно.

В том случае, если автонастройка аккаунтов из AD в EAGER Mode заработает, в файле /opt/zimbra/log/mailbox.log будет отображаться ход автонастройки аккаунтов в следующем виде:

[AutoProvision] [] autoprov - Auto provisioning accounts on domain company.ru
[AutoProvision] [] autoprov - 1 external LDAP entries returned as search result
[AutoProvision] [] autoprov - auto creating account in EAGER mode: [email protected], dn="CN=example,OU=zimbrausers,DC=company,DC=ru"

Если же автонастройка аккаунтов не работает, то проблема, скорее всего, на стороне сервера AD. В этом случае необходимо смотреть на код возникающей ошибки. Мы приводим наиболее распространенные из них:

525 — Пользователь не найден
52e — Неверные учетные данные
530 — Нет разрешения на вход в настоящее время
531 — Нет разрешения на вход с этого компьютера
532 — Срок жизни пароля истек
533 — Действие учетной записи остановлено
534 — У пользователя недостаточно прав для входа с данного компьютера
701 — Срок жизни учетной записи истек
773 — Пользователь должен сбросить пароль
775 — Действие учетной записи временно ограничено
8350 — неверный формат Distinguished Name

Источник: habr.com