Управление пользователями и группами через LDAP
Вы можете подключить управляемый кластер Ключ-АСТРОМ к каталогу LDAP для аутентификации, управления пользователями и группами.
Благодаря интеграции LDAP пользователи внешнего ресурса LDAP могут получить доступ к Ключ-АСТРОМ. Затем вы можете назначать пользователей в группы в Ключ-АСТРОМ, или группы могут быть назначены пользователям на основе информации LDAP.
- 1 Начало
- 2 Конфигурация подключения
- 3 Конфигурация запросов групп
- 4 Конфигурация запросов пользователей
- 5 Соответствие пользователей и групп
- 5.1 Пример соответствия 1
- 5.2 Пример соответствия 2
- 5.3 Пример соответствия 3
Начало
1. В меню Ключ-АСТРОМ перейдите в меню «Аутентификация пользователя»> «Репозиторий пользователя».
2. Выберите Внешний сервер LDAP из списка.
Откроется страница конфигурации LDAP.
- Пример страницы «Конфигурация LDAP»
- Локальные учетные записи (кроме учетной записи администратора) перестанут работать: будет невозможно войти в систему с локальной учетной записью.
- Учетная запись администратора, созданная вами во время установки, будет продолжать работать независимо от выбранного провайдера аутентификации.
3. На странице конфигурации LDAP отображается трехэтапный процесс настройки.
- Конфигурация подключения
- Конфигурация запросов групп
- Конфигурация запросов пользователей
См. ниже подробные сведения о конфигурации.
Конфигурация подключения
Пример раздела «Конфигурация подключения»
1. Введите адрес вашего хоста LDAP.
- Чтобы включить шифрованную связь с сервером LDAP, выберите «Использовать SSL». Это приведет к автоматическому изменению номера порта, но затем вы можете настроить его на другое значение по мере необходимости.
2. При необходимости измените номер порта:
- 389 — это номер порта по умолчанию для стандартного соединения LDAP, но убедитесь, что ваш сервер LDAP действительно его использует.
- 636 — это номер порта по умолчанию для безопасного соединения LDAPS (LDAP через SSL).
3. Укажите Bind DN (отличительное имя) для учетной записи пользователя LDAP, например, в формате:
или любая другая допустимая строка LDAP.
Примечание: Bind DN обычно используется системным пользователем (а не физическим лицом) для подключения к серверу LDAP. С точки зрения сервера LDAP, это просто пользователь, который читает данные и, следовательно, не нуждается в доступе для записи, но ему нужен доступ для чтения ко всем данным, которые будут извлечены из LDAP сервером Ключ-АСТРОМ.
4. Введите пароль, используемый пользователем LDAP, указанным в DN привязки.
5. [опционально] Если вы настроили рефералы на своем сервере LDAP, установите Максимальное количество переходов.
6. Выберите «Проверить соединение», чтобы проверить, может ли Ключ-АСТРОМ Managed подключиться к вашему серверу LDAP. Во время проверки подключения
- Ключ-АСТРОМ пытается распознать тип используемого вами LDAP-сервера.
- На основе предыдущего шага Ключ-АСТРОМ предоставляет вам настройки по умолчанию для групповых и пользовательских запросов.
Когда соединение установлено, вы готовы к настройке групп и пользователей.
- Группы должны создаваться администратором вручную.
- Пользователи создаются автоматически, но только после успешной попытки аутентификации.
Конфигурация запросов групп
После успешного тестирования соединения становится активным шаг запроса Группы. Если вы хотите использовать интеграцию LDAP только для аутентификации (для управления группами и назначения разрешений в Ключ-АСТРОМ Managed), снимите флажок «Назначать пользователей группам автоматически на основе запроса LDAP» и перейдите к настройке запроса пользователей. В противном случае выполните следующие действия.
Пример раздела «Запрос групп»
1. Введите строки запроса в соответствующие поля, чтобы получить группы, которые вы хотите интегрировать с Ключ-АСТРОМ.
- Каталог LDAP имеет древовидную структуру. Базовое DN для запроса групп — это запись, содержащая поддерево, в котором существуют ваши группы. В приведенном ниже примере изображения есть два поддерева, содержащие группы пользователей OU=Groups,DC=org и OU=Lab,DC=org :
Если вы хотите распределить пользователей по группам в обоих поддеревьях, вы должны указать базовое DN для запроса групп как DC=org (родительская запись). Чтобы назначать пользователей только в группы поддерева OU=Lab,DC=org , укажите это поддерево в качестве базового DN.
- Вы можете ввести строку фильтра LDAP, чтобы сократить количество возвращаемых групп. Фильтр должен содержать информацию о том, какой класс объектов имеет записи группы. Например, для Active Directory фильтр по умолчанию:
(objectClass=group)
а для OpenLDAP фильтр по умолчанию:
(objectClass=groupOfNames)
Чтобы сузить количество используемых групп, вы можете расширить фильтр с помощью ограничений имени группы. Например, фильтр (&(objectClass=group)(CN=PL_*)) сужает группы, используемые системой, до групп, которые имеют group как атрибут objectClass и атрибут CN (общее имя), начинающийся с PL_ . Вы можете вставить сюда любой другой действительный запрос LDAP. Помните, что LDAP нечувствителен к регистру.
- Настройте атрибут Group Id. Этот атрибут используется только в особых случаях. Чтобы узнать больше, проверьте раздел «Соответствие пользователей и групп» ниже. Если не применимо, установите для него то же значение, что и для атрибута имени группы.
- Настройте атрибут имени группы. Это атрибут, содержащий имя группы, обычно называемое name (например, для Active Directory) или cn (например, для OpenLDAP). Значения атрибутов имени группы в вашем каталоге LDAP должны совпадать с именами групп LDAP на странице Группы пользователей. Помните, что LDAP нечувствителен к регистру.
- В Ключ-АСТРОМ, Аутентификация пользователя> Репозиторий пользователей (страница конфигурации LDAP), на шаге запроса групп установите для атрибута имени группы значение name (имя атрибута).
- В Ключ-АСТРОМ, Проверка подлинности пользователя> Группы пользователей, отредактируйте или добавьте группу и добавьте My_TestGroup1 (значение атрибута) в группы LDAP.
Примечание: Имя группы LDAP на странице «Группы пользователей» по умолчанию соответствует имени группы, которое вы указываете при создании группы.
- Настройте атрибут «Члены группы». Этот атрибут подробно рассматривается в разделе «Сопоставление пользователей и групп» ниже.
2. Выберите Протестировать запрос, чтобы проверить свои настройки и убедиться, что запрос работает.
Конфигурация запросов пользователей
После успешного тестирования соединения становится активным шаг запроса Пользователи.
Пример раздела «Пользовательский запрос»
1. Введите строки запроса в соответствующие поля, чтобы получить пользователей, которых вы хотите интегрировать с Ключ-АСТРОМ.
- Каталог LDAP имеет древовидную структуру. Базовое DN для запроса пользователей — это запись, содержащая поддерево, в котором существуют ваши пользователи. Например, на изображении ниже есть два поддерева, содержащие пользователей:
OU=Functional,OU=Accounts,DC=org и OU=Primary,OU=Accounts,DC=org
Ссылаясь на пример дерева выше:
- Чтобы аутентифицировать пользователей из обоих поддеревьев ( OU=Functional и OU=Primary ), установите Base DN для родительской записи этих поддеревьев:
- Чтобы аутентифицировать пользователей только из OU = Primary subtree of OU = Accounts, установите для Base DN значение:
- Чтобы еще больше ограничить пользователей системы поддеревом OU = EU из OU = Primary, установите для Base DN значение:
- Вы можете ввести строку фильтра LDAP, чтобы сократить количество возвращаемых пользователей. Фильтр должен содержать информацию о том, какой класс объектов имеет записи группы. Например, для Active Directory и OpenLDAP фильтр по умолчанию:
(objectClass=person)
Чтобы сузить количество аутентифицированных пользователей, вы можете расширить фильтр с помощью любого допустимого запроса LDAP. Например, фильтр
(&(objectClass=user)(|(department=101)(department=102)(department=103)))
сужает количество прошедших аутентификацию пользователей до тех, у которых атрибут user as objectClass и атрибут department установлены на одно из указанных значений.
Помните, что LDAP нечувствителен к регистру.
- Настройте атрибут входа в систему. Этот атрибут используется для входа в систему.
- Если указанные атрибуты вам не подходят, настройте атрибуты «Имя», «Фамилия» и «Электронная почта».
- Настройте атрибут членства в группе. Этот атрибут подробно рассматривается в разделе «Сопоставление пользователей и групп» ниже.
2. Выберите Тестовый запрос, чтобы проверить свои настройки и убедиться, что запрос работает.
Параметры тестового запроса (как для групп, так и для пользователей) проверяют только правильность базовых DN, фильтров и обязательных атрибутов — атрибута имени группы для групп и атрибута входа в систему для пользователей.
- Тестовые запросы не вызывают ошибок, если необязательные атрибуты настроены неправильно.
- Тестовые запросы не проверяют, правильно ли распределены пользователи по группам.
Соответствие пользователей и групп
Есть несколько способов сопоставить пользователей с группами на серверах каталогов LDAP. Просмотрите эти примеры, чтобы найти решение, которое лучше всего подходит для вас.
Пример соответствия 1
Если атрибут участников группы (например, member или uniqueMember ) в записи группы LDAP содержит DN пользователя:
- Настраивать атрибут Group Id не нужно. Вы можете настроить атрибут Group Id на то же значение, что и атрибут Group name.
Пример соответствия 2
Если атрибут членства в группе (например, memberOf или isMemberOf ) в записи пользователя содержит DN группы:
- Настройка атрибута Group Id также не требуется, поскольку DN группы используется для сопоставления пользователей и групп. Вы можете настроить атрибут Group Id на то же значение, что и атрибут Group name.
Пример соответствия 3
Если атрибут членства в группе (например, gid или group ) в записи пользователя содержит идентификатор группы:
- Атрибут Group Id должен быть настроен для атрибута, который хранит указанное значение.
Пример групповой записи в каталоге LDAP:
Атрибут Значение gidNumber 6380 Пример записи пользователя в каталоге LDAP:
Атрибут Значение gid 6380 - Атрибут Group Id (в запросе групп) должен быть настроен на gidNumber
- Атрибут членства в группе (в запросе пользователей) должен быть настроен на gid
Сопоставьте управляемые группы Ключ-АСТРОМ с группами LDAP
Для получения информации о разрешениях групп пользователей, доступных в Ключ-АСТРОМ Managed, см. Группы пользователей и разрешения.
После того, как вы успешно настроили группы и пользователей из LDAP, вам необходимо назначить роли среды мониторинга группам из вашего каталога пользователей. По умолчанию импортированным группам не предоставляются разрешения на среду мониторинга.
Пользователи не смогут получить доступ к среде мониторинга, пока вы не выполните этот шаг.
1. В меню навигации выберите Проверка подлинности пользователя> Группы пользователей.
2. В списке групп, импортированных из LDAP, выберите имена групп, которые вы хотите настроить.
3. Вы можете назначить права администратора кластера любой конкретной группе, включив Предоставить разрешения глобального администратора этой группе. Все учетные записи пользователей в этой группе будут иметь права администратора.
4. В разделе «Разрешения» вручную установите разрешения для каждой среды.
Ограничения
Ключ-АСТРОМ не поддерживает несколько доменов для аутентификации пользователей LDAP.
Поиск всех групп пользователя AD по протоколу LDAP
Мне по роду занятий часто приходится иметь дело с сервисами интегрирующимися с AD. К сожалению в большинстве таких сервисов напрочь отсутствует поддержка такой удобной «фичи» AD как Nested Groups
Неужели организовать перечисление всех вложенных групп пользователя так сложно?На первый взгляд.
На первый взгляд для решения поставленной задачи как минимум потребуется организовать циклический вызов функций для получения групп, в которые входит группа пользователя и так далее. При таком подходе важно не забыть и обработать возможную ситуацию, когда группа A вложена в группу B, а группа B вложена в группу A.
А если проверка членства в группе вызывается достаточно часто, то такой подход может потребовать значительных вычислительных ресурсов.Но выход есть.
Существует прекрасная статья Active Directory: LDAP Syntax Filters
В которой приведён интересный пример LDAP фильтра для получения групп пользователя, включая вложенные:(member:1.2.840.113556.1.4.1941:=cn=Jim Smith,ou=West,dc=Domain,dc=com)
Также на MSDN есть статья Search Filter Syntax, описывающая имеющиеся Matching Rules, которые можно использовать в фильтрах LDAP совместно с Active Directory. В этой статье правило LDAP_MATCHING_RULE_IN_CHAIN описано более подробно:
Это правило применимо только к атрибутам типа distinguishedName. Этот специальный модификатор оператора совпадения позволяет обойти всё дерево вложенных объектов.
Таким образом задача обработки вложенности групп легко переносится на сервер AD.
Чем это знание может быть полезно администраторам?
Некоторые сервисы позволяют администратору при настройке задать LDAP фильтр для поиска групп пользователя — в таком случае администратор без вмешательства в код приложения может менять его поведение в отношении вложенных групп. Достаточно фильтры:
(member=cn=Jim Smith,ou=West,dc=Domain,dc=com) (memberOf=cn=Sales,ou=West,dc=Domain,dc=com)
заменить на
(member:1.2.840.113556.1.4.1941:=cn=Jim Smith,ou=West,dc=Domain,dc=com) (memberOf:1.2.840.113556.1.4.1941:=cn=Sales,ou=West,dc=Domain,dc=com)
Как получить список пользователей LDAP
Ребят не подскажите как из Linux можно получить список пользователей Active Directory в определённой группе?
Установил программу ldap-utils, в ней есть утилита ldapsearch. Пробовал с ней получить список пользователей, там такая ахинея получается.
Может кто сталкивался с таким?
Andrei_IW
19.02.20 19:20:52 MSKЕсли хост уже в домене, в составе samba есть утилита wbinfo. Я бы посмотрел в её сторону
Вручную ты замучаешься с вложенными группами и primary group
router ★★★★★
( 19.02.20 22:58:52 MSK )если ldap настроен в системе, getent passwd
Как посмотреть ldap пользователей
Вы можете добавить соединение с одним или несколькими LDAP-серверами.
Чтобы добавить соединение с LDAP-сервером, выполните следующие действия:
- В главном окне веб-интерфейса программы в дереве консоли управления выберите раздел Параметры , подраздел LDAP .
- Если в рабочей области отобразилось значение параметра Соединение с LDAP-сервером Не используется , выполните следующие действия:
- По ссылке Соединение с LDAP-сервером откройте окно Соединение с LDAP-сервером .
- В списке LDAP-сервер выберите Active Directory или generic LDAP .
- Если вы хотите ограничить время ожидания ответа сервера, установите флажок рядом с названием параметра Ограничить время ожидания ответа сервера.
- Если вы установили флажок рядом с названием параметра Ограничить время ожидания ответа сервера , в поле Время ожидания ответа сервера в секундах укажите максимальное время, в течение которого должен быть получен ответ от LDAP-сервера в секундах. Значение по умолчанию: 20 сек.
- Нажмите на кнопку Применить . Окно Соединение с LDAP-сервером закроется.
- generic LDAP , если вы хотите добавить соединение с сервером LDAP-совместимой службы каталогов (например, Red Hat Directory Server).
- Active Directory , если вы хотите добавить соединение с сервером Microsoft Active Directory.
- SSL , если вы хотите использовать SSL.
- TLS , если вы хотите использовать TLS.
- Без шифрования , если вы не хотите использовать технологии шифрования данных при подключении к LDAP-серверу. После выхода обновления Microsoft (подробнее см. ADV190023 LDAP Channel Binding and LDAP Signing) необходимо будет использовать SSL- или TLS-шифрование при подключении к Active Directory. Если вы продолжите использовать вариант Без шифрования , программа не сможет подключаться к Active Directory, могут возникнуть ошибки в правилах обработки сообщений, пользователи не смогут подключаться к персональному хранилищу.
- cn=, ou= (если требуется), dc=, dc=, если вы хотите добавить соединение с сервером LDAP-совместимой службы каталогов (например, Red Hat Directory Server). Например, вы можете ввести имя пользователя cn=LdapServerUser, dc=example, dc=com, где LdapServerUser – имя пользователя LDAP-сервера, example – доменное имя каталога, к которому относится учетная запись пользователя, com – имя родительского домена, в котором находится каталог.
- cn=, ou= (если требуется), dc=, dc= или @., если вы хотите добавить соединение с сервером Microsoft Active Directory. Например, вы можете ввести имя пользователя LdapServerUser@example.com, где LdapServerUser – имя пользователя LDAP-сервера, example.com – доменное имя каталога, к которому относится учетная запись пользователя.
Добавленное вами соединение с внешней службой каталогов отобразится в рабочей области раздела LDAP главного окна веб-интерфейса программы.