Настройка Active Directory/LDAP
Обзор
Active Directory (AD) - это служба, которая хранит данные аутентификации и авторизации пользователей в сети вашей организации. Когда вы интегрируете вашу систему AD/LDAP с Loop, пользователи могут входить в Loop без необходимости создания новых учетных данных. Учетные записи пользователей управляются в AD/LDAP, а изменения синхронизируются с Loop.
Преимущества интеграции AD/LDAP с Loop включают:
Единая регистрация. Пользователи могут войти в Loop с помощью своих учетных данных AD/LDAP.
Централизованное управление идентификацией. Учетные записи Loop могут отображать информацию о пользователе из AD/LDAP, такую как имя и фамилия, электронная почта и имя пользователя.
Автоматическое предоставление учетных записей. Учетная запись пользователя Loop автоматически создается при первом входе пользователя с помощью учетных данных AD/LDAP.
Синхронизация групп с предопределенными ролями в Loop. Назначение ролей команд и каналов группам через LDAP Group Sync.
Соответствие нормативным требованиям при управлении администраторами. Управление доступом администратора к Loop в Системной консоли с помощью фильтров LDAP.
Перед установкой
Если вы используете Active Directory с вложенными группами безопасности, вам необходимо написать сценарий PowerShell или аналогичный, чтобы объединить дерево в одну группу безопасности для отображения в Loop.
Начало работы
Существует два способа настройки AD/LDAP:
- Настройте AD/LDAP с помощью пользовательского интерфейса Системной консоли.
Войти в свое рабочее пространство и создать новую учетную запись, используя электронную почту и пароль. Первым созданным пользователем будет назначена роль Системного Администратора.
Далее настроить AD/LDAP, а затем преобразовать учетную запись Системного Администратора для использования метода входа AD/LDAP.
- Настройте AD/LDAP, отредактировав файл
config.json
.
- Отредактировать
config.json
для включения AD/LDAP. в соответствии с документацией по настройкам AD/LDAP. При входе в Loop первому пользователю, вошедшему с действительными учетными данными AD/LDAP, будет присвоена роль Системного Администратора.
Настройка входа в систему AD/LDAP
- Создать учетную запись Системного Администратора, используя аутентификацию по электронной почте.
- Создать новое рабочее пространство и учетную запись с использованием электронной почты и пароля, которой автоматически присваивается роль Системного Администратора, поскольку это первая созданная учетная запись. Вы также можете назначить эту роль другой учетной записи.
- Настроить AD/LDAP.
- Перейти в Системную консоль >Аутентификация > AD/LDAP и заполнить параметры AD/LDAP в соответствии с документацией по настройке параметров конфигурации.
- Подтвердить, что вход в систему AD/LDAP включен.
- После включения AD/LDAP подтвердить, что пользователи могут входить в систему, используя учетные данные AD/LDAP.
- Переключить учетную запись Системного Администратора с электронной почты на аутентификацию AD/LDAP.
- Перейти в Настройки > Безопасность > Метод входа > Переключиться на AD/LDAP и войти в систему с учетными данными AD/LDAP, чтобы завершить переключение.
- (Необязательно) Ограничить аутентификацию AD/LDAP.
Перейти в Системную консоль > Аутентификация > Электронная почта и установить для параметра Разрешить вход с помощью электронной почты и параметра Разрешить вход с помощью имени пользователя значение
false
.Затем выбрать Сохранить, чтобы подтвердить изменения. Это должно оставить AD/LDAP единственным вариантом входа в систему.
- (Необязательно) Если вы настроили
First Name Attribute
иLast Name Attribute
в Системной консоли.
- Перейти в Системную консоль > Конфигурация сайта > Пользователи и Команды и установить для параметра Отображение имени в команде значение Показывать имя и фамилию. Это рекомендуется для удобства пользователей.
Если вы случайно заблокировали себя в системе, то вы можете установить существующей учетной записи статус Системного Администратора с помощью инструмента командной строки.
Настройка синхронизации AD/LDAP
Помимо настройки входа в AD/LDAP, вы также можете настроить синхронизацию AD/LDAP. При синхронизации Loop запрашивает AD/LDAP для получения соответствующей информации об учетной записи и обновляет учетные записи Loop на основе изменений атрибутов (имя, фамилия и псевдоним). Когда учетные записи отключены в AD/LDAP, пользователи становятся неактивными в Loop, а их активные сессии аннулируются, как только Loop синхронизирует обновленные атрибуты.
Синхронизация AD/LDAP зависит от электронной почты. Убедитесь, что все пользователи на вашем сервере AD/LDAP имеют адрес электронной почты, или убедитесь, что их учетная запись деактивирована в Loop.
Когда Loop настроен на использование LDAP для аутентификации пользователей, следующие изменения атрибутов пользователя не могут быть сделаны через API: имя, фамилия, должность, псевдоним, электронная почта, изображение профиля или имя пользователя. LDAP должен быть авторитетным источником для этих атрибутов пользователя.
Чтобы настроить синхронизацию AD/LDAP с входом в систему AD/LDAP:
Перейти в Системную консоль > Аутентификация > AD/LDAP и установить для параметра Включить синхронизацию с AD/LDAP значение
true
.Прокрутить вниз до Интервала синхронизации (в минутах), для указания частоты синхронизации атрибутов учетных записей Loop с AD/LDAP. По умолчанию установлено значение 60 минут. Атрибут изображения профиля синхронизируется только при входе пользователя в системут
Если вы хотите синхронизировать данные сразу после отключения учетной записи, используйте кнопку Синхронизировать с AD/LDAP сейчас в Системной консоли > AD/LDAP.
Чтобы настроить синхронизацию AD/LDAP с реализацией входа через SAML, см. документацию SAML.
Убедитесь, что хотя бы один пользователь LDAP находится в Loop, иначе синхронизация не будет завершена.
Настройка входа в AD/LDAP с использованием фильтров
Использование фильтров назначает роли определенным пользователям при входе в систему. Для доступа к настройкам фильтров AD/LDAP перейдите в Системную консоль > AD/LDAP.
Фильтр пользователей
(Необязательно) Введите фильтр AD/LDAP для использования при поиске объектов пользователей. Только пользователи, выбранные запросом, смогут получить доступ к Loop. Для AD запрос для отсеивания пользователей с ограниченными возможностями имеет вид:
(&(objectCategory=Person)(!(UserAccountControl:1.2.840.113556.1.4.803:=2))
.
Перейти в Системную консоль > Аутентификация > AD/LDAP.
Заполнить поле Фильтр пользователей.
Выбрать Сохранить.
Когда пользователь получает доступ к Loop, он входит в систему с тем же именем пользователя и паролем, которые он использует для входа в систему в организации.
Фильтры также можно использовать для исключения пользователей, принадлежащих к определенным группам. Для AD запрос для фильтрации групп имеет следующий вид:
(&(memberof=cn=ACME_ALL,ou=Users,dc=sademo,dc=com)(!(memberof=cn=DEV_OPS,ou=Users,dc=sademo,dc=com)))
.
Гостевой фильтр
(Необязательно) Если фильтр гостей включен, то в Loop он идентифицирует внешних пользователей, чья роль AD/LDAP является гостевой и которые приглашены присоединиться к пространству Loop. По умолчанию, эти пользователи будут иметь роль Гость сразу при первом входе в систему вместо роли участника. Это избавляет от необходимости вручную назначать роль в Системной консоли.
Если этот фильтр удален/изменен, активные гости не будут повышены до участника и сохранят свою роль Гостя. Роль можно повысить в Системной консоли > Управление пользователями.
Перейти в Системную консоль > Аутентификация > Гостевой доступ (Beta) и установите Гостевой доступ в значение
true
.Перейти в Системную консоль > Аутентификация > AD/LDAP.
Заполнить поле Фильтр гостей.
Выбрать Сохранить.
Когда гость входит в систему в первый раз, ему открывается целевая страница по умолчанию, пока он не будет добавлен в каналы.
Фильтр администраторов
(Необязательно) Введите фильтр AD/LDAP, который будет использоваться для назначения Системных Администраторов. Пользователи, выбранные запросом, будут иметь доступ к пространству Loop в качестве Системных Администраторов. По умолчанию, Системные Администраторы имеют полный доступ к Системной консоли Loop. Существующие пользователи, идентифицированные этим атрибутом, будут переведены из статуса участника в статус Системного Администратора при следующем входе в систему.
Следующий вход основан на длительности сеанса, установленной в Системной консоли > Длительность сеанса. Рекомендуется понижать пользователей до участников вручную в Системной консоли > Управление пользователями, чтобы обеспечить немедленное ограничение доступа.
Перейти в Системную консоль > Аутентификация > AD/LDAP.
Установить для параметра Фильтр администраторов значение
true
.Заполнить поле Фильтр администраторов.
Выбрать Сохранить.
Если для фильтра Фильтр администраторов установлено значение false, роль пользователя как Системного Администратора сохраняется. Однако если этот фильтр удалить/изменить, Системные Администраторы, которые были повышены с помощью этого фильтра, будут понижены до участников и не сохранят доступ к Системной консоли.
Когда этот фильтр не используется, члены могут быть повышены/понижены вручную через Системную консоль > Управление пользователями.
Настройка развертывания AD/LDAP с несколькими доменами
Организации, использующие несколько доменов, могут интегрироваться с Loop, используя модель конфигурации “Лес” для объединения нескольких доменов. Более подробную информацию смотрите в разделе "Модель “Лес”, как совокупность контроллеров домена, которые “доверяют” друг другу"
Для конфигураций модели “Лес”, содержащих несколько доменов, которые НЕ имеют общего корня, вы можете осуществлять поиск по всем доменам с помощью Глобального каталога. Для этого обновите файл config.json
следующим образом:
Установите LdapPort на 3268 (вместо 389)
Установите для BaseDN значение " " (символ одинарного пробела).
Дополнительные сведения см. в разделе Глобальный каталог и система поиска LDAP.
Поиск и устранение неисправностей/FAQ
Ниже приведены часто задаваемые вопросы и рекомендации по устранению неисправностей, связанные с распространенными сообщениями об ошибках и проблемами.
Если кнопка тест AD/LDAP не срабатывает, как я могу устранить неполадки в соединении?
Проверьте правильность настроек соединения AD/LDAP, выполнив запрос пользователя AD/LDAP во внешней системе. Если соединение AD/LDAP проверено на работоспособность вне Loop, попробуйте следующее:
Проверьте систему AD/LDAP для проверки формата Bind Username.
Проверьте настройки AD/LDAP Port и Connection Security в Системной консоли. (AD/LDAP Порт, установленный на 389, обычно использует Безопасность подключения, установленную на Нет. Порт AD/LDAP, установленный на 636, обычно использует безопасность подключения, установленную на TLS).
Если в журналах вы видите
x509: certificate signed by unknown authority
, попробуйте установить промежуточный SSL-сертификат или попросите ваш LDAP-сервер отправить полную цепочку сертификатов.
Если эти варианты не работают, пожалуйста, свяжитесь со службой поддержки Loop по адресу электронной почты, указанному в лицензионном ключе.
Когда я впервые настраиваю и синхронизирую AD/LDAP, создаются ли пользователи в Loop автоматически?
Нет, каждый пользователь создается при первом входе в систему.
Когда я пытаюсь синхронизировать AD/LDAP, почему статус отображается как Pending, а не complete?
Перейдите в Системную консоль > AD/LDAP и убедитесь, что параметр Включить синхронизацию с AD/LDAP установлен на true
.
Если проблема сохраняется, попробуйте выполнить синхронизацию с пустым полем Фильтр Пользователей. Если синхронизация завершится в этом сценарии, значит, общий синтаксис был отформатирован неправильно.
Убедитесь, что у вас есть хотя бы один пользователь LDAP в Loop, иначе синхронизация не будет завершена.
В чем разница между атрибутом имени пользователя, атрибутом ID и атрибутом идентификатора входа?
Есть три атрибута AD/LDAP, которые кажутся похожими, но служат разным целям:
Атрибут имени пользователя: Используется в пользовательском интерфейсе Loop для идентификации и упоминания пользователей. Например, если Атрибут Имени пользователя установлен на
andrey.andreev
, пользователь, набравший@andrey
, увидит@andrey.andreev
в опциях автозаполнения, а публикация сообщения с@andrey.andreev
отправит уведомление этому пользователю, что он был упомянут.Атрибут ID: Используется в качестве уникального идентификатора в Loop. Это должен быть атрибут AD/LDAP со значением, которое не изменяется, например, ObjectGUID. Если ID атрибут пользователя изменится, то будет создан новый аккаунт Loop, не связанный со старым. Если вам нужно изменить это поле после того, как пользователи уже вошли в систему, используйте инструмент консоли.
Атрибут Логин ID: Атрибут в сервере AD/LDAP, используемый для входа в Loop. Обычно этот атрибут такой же, как и поле Атрибут Имени пользователя выше, или другое поле, которое пользователи могут легко запомнить.
Как деактивировать пользователей?
Если пользователь вошел в Loop через AD/LDAP или SAML, вы можете выбрать способ его деактивации, вручную или автоматически.
Существует три основных способа сделать это:
Удаление пользователя: Если пользователь полностью удален с сервера AD/LDAP, он будет деактивирован в Loop при следующей синхронизации.
Фильтр пользователей: Настройте фильтр пользователей, чтобы выбрать только подгруппу пользователей AD/LDAP, которым вы хотите предоставить доступ к Loop. Когда кто-то будет удален из выбранной группы, он будет деактивирован в Loop при следующей синхронизации.
Деактивируйте вручную: Перейти в Системную консоль > Управление пользователями > Пользователи, выберите роль пользователя и выберите Деактивировать. Когда вы вручную деактивируете пользователя, он может снова активировать себя, снова войдя в систему.
Для AD, чтобы отфильтровать деактивированных пользователей, необходимо установить фильтр пользователей на:
(&(objectCategory=Person)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))
.
Фильтры также можно использовать для исключения пользователей, принадлежащих к определенным группам. Для AD запрос для фильтрации групп выглядит следующим образом:
(&(memberof=cn=ACME_ALL,ou=Users,dc=sademo,dc=com)
(!(memberof=cn=DEV_OPS,ou=Users,dc=sademo,dc=com)))
Когда пользователь деактивируется в Loop через функции один или два выше, все текущие сессии пользователя аннулируются, и он не сможет войти в систему или получить доступ к Loop.
Могу ли я подключиться к нескольким серверам AD?
В настоящее время не существует встроенного способа подключения к нескольким серверам AD. Перед подключением к Loop вам нужно будет подключить экземпляры к модели “Лес”.
При попытке входа в систему я вижу ошибку AD/LDAP недоступен на этом сервере.
Это указывает на то, что где-то в вашей конфигурации есть проблема. Мы рекомендуем вам проверить настройки конфигурации Loop, чтобы убедиться, что AD/LDAP включен, и настройки верны.
Если у вас все еще есть проблемы, вы можете связаться со службой поддержки для дополнительного устранения неполадок.
Я вижу ошибку Пользователь не зарегистрирован на сервере AD/LDAP(User not registered on AD/LDAP server)
.
Это означает, что запрос, отправленный на сервер AD/LDAP, не дал результатов. Мы рекомендуем вам:
Проверить, что учетные данные пользователя были введены правильно - вы должны войти в систему с полем, установленным как Атрибут ID.
Проверить, существует ли учетная запись пользователя на сервере AD/LDAP.
Проверьте правильность настроек конфигурации AD/LDAP.
Если у вас все еще возникают проблемы, вы можете обратиться в службу поддержки Loop для дополнительного устранения неполадок.
Я обновил учетную запись пользователя в AD/LDAP, и он больше не может войти в Loop
Если пользователь больше не может войти в Loop со своими учетными данными AD/LDAP - например, он получает сообщение об ошибке An account with that email already exists
, или при попытке входа создается новая учетная запись Loop - это означает, что ID Attribute
для его учетной записи изменился.
Проблему можно исправить, изменив значение поля, используемого для атрибута ID, на старое. Если вы используете поле, которое иногда меняется для ID-атрибута (например, имя пользователя, email, который меняется, когда кто-то женится), мы рекомендуем вам перейти на использование не меняющегося поля, например, GUID.
Для этого вы можете установить атрибут Login ID
на то, что вы хотите, чтобы пользователи входили в систему (например, имя пользователя или email).
В настоящее время значение чувствительно к регистру. Если атрибут ID установлен на имя пользователя и имя пользователя изменится с Andrey.Andreev на andrey.andreev, пользователь столкнется с проблемами при входе в систему.
Я вижу в журнале ошибку LDAP Result Code 4 "Size Limit Exceeded"
.
Это означает, что в конфигурации вашего AD/LDAP сервера установлен максимальный размер страницы, и запрос, поступающий от Loop, возвращает набор результатов, превышающий этот лимит.
Чтобы решить эту проблему, вы можете установить максимальный размер страницы в конфигурации Loop в соответствии с лимитом на вашем AD/LDAP сервере. Это позволит возвращать последовательность наборов результатов, которые не превышают максимальный размер страницы, вместо того, чтобы возвращать все результаты в одном запросе. Рекомендуется установить максимальный размер страницы в 1500, а минимальный 1.
Если ошибка все еще возникает, скорее всего, никто из пользователей AD/LDAP еще не вошел в Loop. Убедитесь, что хотя бы один пользователь AD/LDAP вошел в Loop и повторно запустите синхронизацию. После этого ошибка должна исчезнуть.
Может ли фильтр пользователей AD/LDAP читать группы безопасности?
Да, может, но убедитесь, что:
Разрешения правильно настроены на используемой вами учетной записи службы.
Каждый пользовательский объект является прямым членом группы безопасности.
Как узнать о неудаче задачи по синхронизации AD/LDAP?
Loop предоставляет статус каждого задания синхронизации AD/LDAP в Системной консоли > Аутентификация > AD/LDAP. Здесь вы можете увидеть количество обновленных пользователей, а также успешность или неудачу задания.