diff options
Diffstat (limited to 'doc/ru_RU/ldap-authentication.markdown')
-rw-r--r-- | doc/ru_RU/ldap-authentication.markdown | 327 |
1 files changed, 327 insertions, 0 deletions
diff --git a/doc/ru_RU/ldap-authentication.markdown b/doc/ru_RU/ldap-authentication.markdown new file mode 100644 index 00000000..a94d8f89 --- /dev/null +++ b/doc/ru_RU/ldap-authentication.markdown @@ -0,0 +1,327 @@ +Аутентификация LDAP +=================== + + +Требования[¶](#requirements "Ссылка на этот заголовок") +------------------------------------------------------- + + + +- Включенное в PHP раширение LDAP + + + +- Сервер LDAP: + + + + - OpenLDAP + + - Microsoft Active Directory + + - Novell eDirectory + + + +Рабочий процесс[¶](#workflow "Ссылка на этот заголовок") +-------------------------------------------------------- + + + +Когда активирована аутентификация LDAP, процесс входа выглядит следующим образом: + + + +1. Выполняется попытка аутентификации пользователя в базе данных Канборда + +2. Если пользователь не найден в базе Канборда, выполняется аутентификация LDAP + +3. Если аутентификация LDAP выполнена успешно, по умолчанию, локальный пользователь (в Канборде) создается автоматически без пароля и помечается как пользователь LDAP. + + + +Полное имя и email адрес автоматически подгружаются из сервера LDAP. + + + +Типы аутентификации[¶](#authentication-types "Ссылка на этот заголовок") +------------------------------------------------------------------------ + + +| Тип | Описание | +|--------------|-------------------------------------------------------------| +| Proxy User | Использовать специального пользователя для просмотра директории LDAP | +| User | Использовать учетные данные конечного пользователя для просмотра директории LDAP | +| Anonymous | Не надо выполнять аутентификацию для доступа к каталогу LDAP | + + +**Рекомендуемый метод аутентификации - “Proxy”**. + + + +### Анонимный (Anonymous) метод[¶](#anonymous-mode "Ссылка на этот заголовок") + + + + define('LDAP_BIND_TYPE', 'anonymous'); + + define('LDAP_USERNAME', null); + + define('LDAP_PASSWORD', null); + + + +Этот метод используется по умолчанию, но некоторые сервера LDAP не поддерживают доступ анонимам, из соображений безопасности. + + + +### Proxy метод[¶](#proxy-mode "Ссылка на этот заголовок") + + + +Специальный пользователь используется для доступа к директории LDAP: + + + + define('LDAP_BIND_TYPE', 'proxy'); + + define('LDAP_USERNAME', 'my proxy user'); + + define('LDAP_PASSWORD', 'my proxy password'); + + + +### Пользовательский метод (user)[¶](#user-mode "Ссылка на этот заголовок") + + + +Этот метод используется для доступа под учетной записью конечного пользователя. + + + +Например, Microsoft Active Directory не разрешает подключение под анонимным пользователем и если вы не хотите использовать пользователя proxy, то используйте этот метод. + + + + define('LDAP_BIND_TYPE', 'user'); + + define('LDAP_USERNAME', '%s@kanboard.local'); + + define('LDAP_PASSWORD', null); + + + +В этом методе, константа `LDAP_USERNAME` использутся как шаблон для пользователя ldap, например: + + + +- `%s@kanboard.local` будет заменен `my_user@kanboard.local` + + + +- `KANBOARD\\%s` будет заменен на `KANBOARD\my_user` + + + +Фильтр пользователей LDAP[¶](#user-ldap-filter "Ссылка на этот заголовок") +-------------------------------------------------------------------------- + + +Параметр конфигурации `LDAP_USER_FILTER` используется для поиска пользователей по директории LDAP. + + + +Например: + + + +- `(&(objectClass=user)(sAMAccountName=%s))` будет заменено на `(&(objectClass=user)(sAMAccountName=указанный_пользователь))` + + +- `uid=%s` is replaced by `uid=указанный_пользователь` + + + +Другие примеры [фильтров для Active Directory](http://social.technet.microsoft.com/wiki/contents/articles/5392.active-directory-ldap-syntax-filters.aspx) + + + +Пример фильра доступа в Канборд: + + + +`(&(objectClass=user)(sAMAccountName=%s)(memberOf=CN=Kanboard Users,CN=Users,DC=kanboard,DC=local))` + + + +Этот пример разрешает подключатся к Канборду только пользователям участникам группы “Kanboard Users” + + + +Пример для Microsoft Active Directory[¶](#example-for-microsoft-active-directory "Ссылка на этот заголовок") +------------------------------------------------------------------------------------------------------------ + + + +Предположим, что мы имеем домен `KANBOARD` (kanboard.local) и контролер домена `myserver.kanboard.local`. + + + +Первый пример для метода прокси (proxy): + + + + <?php + + + + // Enable LDAP authentication (false by default) + + define('LDAP_AUTH', true); + + + + define('LDAP_BIND_TYPE', 'proxy'); + + define('LDAP_USERNAME', 'administrator@kanboard.local'); + + define('LDAP_PASSWORD', 'my super secret password'); + + + + // LDAP server hostname + + define('LDAP_SERVER', 'myserver.kanboard.local'); + + + + // LDAP properties + + define('LDAP_USER_BASE_DN', 'CN=Users,DC=kanboard,DC=local'); + + define('LDAP_USER_FILTER', '(&(objectClass=user)(sAMAccountName=%s))'); + + + +Второй пример с пользовательским методом (user): + + + + <?php + + + + // Enable LDAP authentication (false by default) + + define('LDAP_AUTH', true); + + + + define('LDAP_BIND_TYPE', 'user'); + + define('LDAP_USERNAME', '%s@kanboard.local'); + + define('LDAP_PASSWORD', null); + + + + // LDAP server hostname + + define('LDAP_SERVER', 'myserver.kanboard.local'); + + + + // LDAP properties + + define('LDAP_USER_BASE_DN', 'CN=Users,DC=kanboard,DC=local'); + + define('LDAP_USER_FILTER', '(&(objectClass=user)(sAMAccountName=%s))'); + + + +Пример для OpenLDAP[¶](#example-for-openldap "Ссылка на этот заголовок") +------------------------------------------------------------------------ + + + +Наш сервер LDAP - `myserver.example.com` и все пользователи хранятся в `ou=People,dc=example,dc=com`. + + + +Для этого примера мы использовали анонимное подключение. + + + + <?php + + + + // Enable LDAP authentication (false by default) + + define('LDAP_AUTH', true); + + + + // LDAP server hostname + + define('LDAP_SERVER', 'myserver.example.com'); + + + + // LDAP properties + + define('LDAP_USER_BASE_DN', 'ou=People,dc=example,dc=com'); + + define('LDAP_USER_FILTER', 'uid=%s'); + + + +Выключение автоматического создания учетных записей[¶](#disable-automatic-account-creation "Ссылка на этот заголовок") +---------------------------------------------------------------------------------------------------------------------- + + + +По умолчанию, Канборд автоматически создает учетную запись пользователя, если такой пользователь не найден. + + + +Вы можете выключить это поведение, если вы предпочитаете создавать учетные записи вручную. + + + +Для этого установите значение `LDAP_ACCOUNT_CREATION` в `false`: + + + + // Automatically create user account + + define('LDAP_ACCOUNT_CREATION', false); + + + +Устранение неисправностей[¶](#troubleshooting "Ссылка на этот заголовок") +------------------------------------------------------------------------- + +Если включен SELinux, вы должны разрешить Apache доступ к вашему серверу LDAP. + + + +- Вы должны переключить SELinux в разрешающий режим (permissive mode) или совсем выключить (не рекомендуется) + +- Вы должны разрешить все сетевые подключения, например `setsebool -P httpd_can_network_connect=1` или назначить более ограничивающие правила + + + +В любом случае, ознакомтесь с официальной документацией Redhat/Centos. + + + +Если вам не удается настроить аутентификацию LDAP, то вы можете [включить режим отладки](config.markdown) и посмотреть файлы событий. + + + + + + +[Русская документация Kanboard](http://kanboard.ru/doc/) + |