7

Авторизация пользователей Active Directory в Zimbra

Кроме авторизации в собственном LDAP каталоге в Zimbra есть возможность авторизовывать пользователей во внешнем каталоге. В моем случае в качестве внешнего каталога используется Active Directory. Разберу сданный кейс.

Для настройки авторизации захожу: Настройка -> Домены -> Выбираю нужный домен. Далее в правом верхнем углу выбираю Настройки -> Настроить проверку подлинности
gal_rightMenu

Из предложенных вариантов выбираю «Внешний Active Directory»
auth_step_1

Затем прописываю имя домена в Active Directory и сервер
auth_step_2

Далее указываю необходимость авторизации и данные авторизации
auth_step_3

На следующем этапе можно проверить, что авторизация проходит
auth_step_4

Затем интереснее. Нужно указать корень каталога для поиска и условие поиска

External Group LDAP Search Base: OU=Employees,OU=MyOrgUnit,DC=MyDomain,DC=local  
External Group LDAP Search Filter: (&(objectClass=user)(objectClass=person)(!objectClass=computer)(!userAccountControl:1.2.840.113556.1.4.803:=2))  

auth_step_5

Финальный шаг — подтверждение настроек
auth_step_6

После этого можно заводить пользователя и проверять, что авторизация проходит через Active Directory. А как же быть, если пользователей 1k? Не заводить же их руками! Решение есть. При авторизации пользователя во внешней системе можно автоматически создавать пользователя в LDAP Zimbra. Об этом в следующей заметке.

Alexey Egorychev

Alexey Egorychev

FreeBSD and Linux sysadmin. Know many systems like mailsystems, DB, WWW stack. Automation with salt, ansible. Monitoring with nagios, zabbix.

  • Sem D.

    есть ли решения для смены пароля через веб ???
    ADPassword не хочет работать
    в логах пишет
    com.zimbra.common.soap.SoapFaultException: permission denied:

    javax.naming.OperationNotSupportedException: [LDAP: error code 53 — 00002035: modify forbidden on global catalog port

    у мене Samba4 в роли АД

  • Aleksei

    Я сделал так
    su zimbra
    zmprov
    md zimbra.domain zimbraAutoProvMode LAZY
    md zimbra.domain zimbraAutoProvAuthMech LDAP
    md zimbra.domain zimbraAutoProvLdapURL «ldap:/XXX.XXX.XXX.XXX:389»
    md zimbra.domain zimbraAutoProvLdapStartTlsEnabled FALSE
    md zimbra.domain zimbraAutoProvLdapAdminBindDn «CN=ADMINACCOUNT,CN=Users,DC=domain,DC=local»
    md zimbra.domain zimbraAutoProvLdapAdminBindPassword «PASSWORD»
    md zimbra.domain zimbraAutoProvLdapSearchFilter (sAMAccountName=%u)
    md zimbra.domain zimbraAutoProvLdapSearchBase «dc=domain,dc=local»
    md zimbra.domain zimbraAutoProvLdapBindDn «%u@%d»
    md zimbra.domain zimbraAutoProvAccountNameMap sAMAccountName
    md zimbra.domain zimbraAutoProvNotificationFromAddress
    md zimbra.domain +zimbraAutoProvAttrMap sn=sn +zimbraAutoProvAttrMap description=description +zimbraAutoProvAttrMap title=title +zimbraAutoProvAttrMap mobile=mobile +zimbraAutoProvAttrMap telephoneNumber=telephoneNumber +zimbraAutoProvAttrMap givenName=givenName +zimbraAutoProvAttrMap displayName=displayName

  • Aleksei

    Коррекция

    zmprov
    md zimbra.domain zimbraAutoProvMode LAZY
    md zimbra.domain zimbraAutoProvAuthMech LDAP
    md zimbra.domain zimbraAutoProvLdapURL «ldap:/XXX.XXX.XXX.XXX:389»
    md zimbra.domain zimbraAutoProvLdapStartTlsEnabled FALSE
    md zimbra.domain zimbraAutoProvLdapAdminBindDn «CN=ADMINACCOUNT,CN=Users,DC=domain,DC=local»
    md zimbra.domain zimbraAutoProvLdapAdminBindPassword «PASSWORD»
    md zimbra.domain zimbraAutoProvLdapSearchFilter (sAMAccountName=%u)
    md zimbra.domain zimbraAutoProvLdapSearchBase «dc=domain,dc=local»
    md zimbra.domain zimbraAutoProvLdapBindDn «%u@%d»
    md zimbra.domain zimbraAutoProvAccountNameMap sAMAccountName
    md zimbra.domain zimbraAutoProvNotificationFromAddress
    md zimbra.domain +zimbraAutoProvAttrMap sn=sn +zimbraAutoProvAttrMap description=description +zimbraAutoProvAttrMap title=title +zimbraAutoProvAttrMap mobile=mobile +zimbraAutoProvAttrMap telephoneNumber=telephoneNumber +zimbraAutoProvAttrMap givenName=givenName +zimbraAutoProvAttrMap displayName=displayName

  • ext0r

    Как правильно подсказывает Aleksei у Zimbra есть несколько вариантов auto provovisioning.

    Я достал заметку об этом из закромов — выкладываю:
    http://jnotes.ru/zimbra-auto-provisioning.html

  • Aleksei

    Я сделал так
    su zimbra
    zmprov
    md домен.зимбра zimbraAutoProvMode LAZY
    md домен.зимбра zimbraAutoProvAuthMech LDAP
    md домен.зимбра zimbraAutoProvLdapURL «ldap://XXX.XXX.XXX.XXX:389»
    md домен.зимбра zimbraAutoProvLdapStartTlsEnabled TRUE
    md домен.зимбра zimbraAutoProvLdapAdminBindDn «CN=Учёткаадмина,CN=Users,DC=domain,DC=local»
    md домен.зимбра zimbraAutoProvLdapAdminBindPassword «PASSWORD»
    md домен.зимбра zimbraAutoProvLdapSearchFilter «(objectClass=user)»
    md домен.зимбра zimbraAutoProvLdapSearchBase «dc=domain,dc=local»
    md домен.зимбра zimbraAutoProvLdapBindDn «%u@%d»
    md домен.зимбра zimbraAutoProvAccountNameMap sAMAccountName
    md домен.зимбра zimbraAutoProvNotificationFromAddress
    md
    домен.зимбра +zimbraAutoProvAttrMap sn=sn +zimbraAutoProvAttrMap
    description=description +zimbraAutoProvAttrMap title=title
    +zimbraAutoProvAttrMap mobile=mobile +zimbraAutoProvAttrMap
    telephoneNumber=telephoneNumber +zimbraAutoProvAttrMap
    givenName=givenName +zimbraAutoProvAttrMap displayName=displayName

  • Aleksei

    Я сделал так
    su zimbra
    zmprov
    md домен.зимбра zimbraAutoProvMode LAZY
    md домен.зимбра zimbraAutoProvAuthMech LDAP
    md домен.зимбра zimbraAutoProvLdapURL «ldap://XXX.XXX.XXX.XXX:389»
    md домен.зимбра zimbraAutoProvLdapStartTlsEnabled TRUE
    md домен.зимбра zimbraAutoProvLdapAdminBindDn «CN=doctor,CN=Users,DC=domain,DC=local»
    md домен.зимбра zimbraAutoProvLdapAdminBindPassword «PASSWORD»
    md домен.зимбра zimbraAutoProvLdapSearchFilter «(objectClass=user)»
    md домен.зимбра zimbraAutoProvLdapSearchBase «dc=domain,dc=local»
    md домен.зимбра zimbraAutoProvLdapBindDn «%u@%d»
    md домен.зимбра zimbraAutoProvAccountNameMap sAMAccountName
    md домен.зимбра zimbraAutoProvNotificationFromAddress
    md домен.зимбра +zimbraAutoProvAttrMap sn=sn +zimbraAutoProvAttrMap description=description +zimbraAutoProvAttrMap title=title +zimbraAutoProvAttrMap mobile=mobile +zimbraAutoProvAttrMap telephoneNumber=telephoneNumber +zimbraAutoProvAttrMap givenName=givenName +zimbraAutoProvAttrMap displayName=displayName

  • sid

    «…А как же быть, если пользователей 1k? Не заводить же их руками! Решение
    есть. При авторизации пользователя во внешней системе можно
    автоматически создавать пользователя в LDAP Zimbra. Об этом в следующей
    заметке…»
    — Появилась заметка? Очень надо, Пользователей конечно не 1К но в день до сотни в АД приходится регистрировать и отключать. Синхронизация крайне нужна. Спасибо за Ваш труды.