Настроить службы каталогов для SaltStack Config с помощью протокола LDAP можно в рабочей области «Проверка подлинности». Этот протокол используется для подключения к таким службам, как Active Directory или Microsoft Azure.
В SaltStack Config для проверки подлинности в системах на основе LDAP используется следующий процесс конечного сервера.
- Предварительный просмотр — при предварительном просмотре параметров подключения SaltStack Config получает от сервера LDAP образец списка пользователей и групп, который позволяет проверить параметры конфигурации.
- Вход — когда пользователь вводит учетные данные в форме входа в SaltStack Config, конечный сервер проверяет соответствие записям в базе данных. Затем инициируется многоэтапная процедура поиска, и после нахождения совпадения подтверждается подлинность пользователя. С учетом этой процедуры поиска отдельные включенные пользователи во включенных группах не отображаются в рабочей области «Роли» до первого входа пользователя.
- Фоновые задачи — SaltStack Config периодически выполняет фоновое задание по поиску всех привязанных групп и пользователей в подключении к службе каталогов, чтобы подтвердить их существование. Если группа или пользователь удалены, конечный сервер деактивирует соответствующую ссылку в базе данных.
- Архивные группы и пользователи — архивными становятся все группы, удаленные из подключения к службе каталогов. Хотя эти группы неактивны и пользователи не могут войти в систему, они по-прежнему отображаются в рабочей области «Роли» и их можно выбрать. Это также верно для всех удаленных пользователей, которые ранее присутствовали в рабочей области «Роли».
- Вложенные группы — если имеются вложенные группы, то при включении родительской группы также по умолчанию включаются все дочерние группы.
Настройка подключения LDAP
Чтобы настроить LDAP, сначала создайте подключение, а затем включите пользователей и группы LDAP, подлинность которых требуется проверять для SaltStack Config. После включения групп или пользователей можно определить их параметры управления доступом на основе ролей (RBAC).
Можно использовать стандартные значения параметров, настроенные для вашей службы каталогов, например Active Directory или OpenLDAP.
Чтобы настроить службу каталогов LDAP, сделайте следующее.
- (Необязательно.) Перед настройкой LDAP целесообразно проверить подключение и выполнение запросов с помощью стороннего инструмента. Пользователи AD могут использовать LDP или ADSI Edit. Пользователям Linux рекомендуется применять инструмент
ldapsearch
.Примечание: Более подробную информацию о проверке с помощью этих инструментов см. в статье Проверка подключения к службе каталогов и устранение его неисправностей в центре поддержки. - В боковом меню выберите Администрирование > Проверка подлинности.
- Щелкните Создать.
- В меню Тип конфигурации выберите LDAP.
- (Необязательно.) В разделе Настройки щелкните Предварительно устанавливать стандартные значения и в раскрывающемся списке выберите службу каталогов.
Стандартные значения устанавливаются в соответствии с вашим выбором. Однако некоторые параметры, например DN для поиска пользователя, остаются незаполненными. Проверьте соответствие записей схеме службы каталогов и замените заполнители значениями для своей службы.
- Введите или проверьте информацию о своем подключении LDAP.
Основные параметры
Поле Описание Имя Имя подключения LDAP. Поскольку это только отображаемое имя, можно использовать любое имя, которое поможет отличать этот конечный сервер проверки подлинности от других. Узел Адрес сервера LDAP в формате полного доменного имени (FQDN) или IP-адреса. Порт Порт, на котором настроен сервер LDAP. По умолчанию используется порт 389
для LDAP без шифрования и порт636
для LDAP по SSL.Фоновая синхронизация SaltStack Config проверяет всех пользователей и группу на конечном сервере проверки подлинности через заданный в этом параметре интервал (в минутах). SSL - Включить SSL
-
Установите этот флажок для подключения к серверу LDAP по протоколу SSL с использованием сертификата, указанного в настройках сервера RaaS. Если конфигурация отсутствует, для проверки SSL-подключения будет использоваться системное хранилище сертификатов. Подробную информацию о настройке сервера RaaS см. в разделе
Настройка сертификатов SSL в руководстве по установке и настройке
SaltStack Config.
Важно!: Рекомендуется установить этот флажок. В противном случае SaltStack Config будет передавать информацию в виде обычного текста через незащищенное подключение.
Проверка подлинности
Поле Описание Базовое DN для проверки подлинности Базовое различающееся имя LDAP. Это местоположение, из которого запрашиваются группы и пользователи, например
DC=sse,DC=example,DC=com
.Примечание: Страница сведений о LDAP содержит отдельные поля ввода для описанных ниже объектов класс лиц, имя атрибута учетной записи, класс групп, имя атрибута группы и расписание синхронизации. Поэтому эти объекты не следует включать в поле «Базовое DN».Привязанное DN администратора DN администратора, настроенное для сервера LDAP. SaltStack Config использует этот параметр для проверки подлинности при доступе к каталогу для поиска пользователей и групп. Введите данные в следующем формате: cn=Administrator,cn=Users,dc=example,dc=com
.Пароль привязанного DN администратора Индивидуальный пароль администратора.
Хранится в зашифрованном виде в базе данных. Не хранится в виде обычного текста.
Фильтр привязанного DN для проверки подлинности Фильтр, используемый для выбора пользователя. Результат поиска — имя DN пользователя, которое SaltStack Config использует для привязки к каталогу и предоставления пользователю доступа к SaltStack Config. Полезно для ограничения количества результатов операции поиска.
Примечание: Так как синтаксис фильтра может быть довольно сложным, перед заполнением этого поля рекомендуется проверить данные с помощью LDP,ldapsearch
или другого подобного инструмента, чтобы при необходимости внести корректировки.В следующем примере фильтр возвращает только ту учетную запись, которая соответствует указанному имени пользователя, принадлежащему группам DevOps или Level II.
(&(objectclass=user)(sAMAccountName={username})(|(memberOf=CN=DevOps,OU=Groups,OU=TestCompanyHQ,DC=adtest,DC=com)(memberOf=LevelII,OU=Groups,DC=adtest,DC=com)))
Если используются предварительно настроенные стандартные значения, замените заполнители правильными значениями для вашей службы каталогов.
Примечание: При настройке структуры леса оставьте это поле пустым.Имя атрибута удаленного уникального идентификатора Имя значения, которое используется для идентификации уникальных записей. Это атрибут уникального идентификатора для всех записей. В AD это ObjectGUID
.Группы
Пользователи
Поле Описание DN поиска пользователя База поиска пользователей, например cn=Users,dc=example,dc=com
в AD илиcn=people,cn=accounts,dc=example,dc=com
в других службах каталогов. Указывает, в каком месте каталога следует искать пользователей. Этот параметр используется вместе с параметром «Область поиска пользователя» ниже.Область поиска пользователя Определяет глубину поиска по каталогу, начиная с базового уровня, указанного в параметре «DN поиска пользователя», и может принимать одно из четырех значений. См. четыре значения, приведенные в описании параметра «Область поиска группы». Фильтр DN поиска пользователя Поисковый фильтр для извлечения пользователей из каталога. Обычно это (objectClass=person)
, но в некоторых конфигурациях AD это может быть(objectCategory=user)
.Класс лиц Имя класса службы каталогов, куда включены пользователи, для которых требуется разрешить вход. В большинстве систем (в том числе и в Active Directory) используется person
, но в некоторых может использоватьсяuser
илиinetOrgPerson
.Атрибут идентификатора пользователя Уникальное имя атрибута учетной записи пользователя. В AD это sAMAccountName
. В других службах это может бытьuid
илиmemberUid
.Атрибут членства пользователя Имя атрибута в записи группы, содержащей имя пользователя. Возможными вариантами могут быть member
иuniquemember
. - Чтобы просмотреть настройки без сохранения, щелкните Предварительный просмотр обновлений.
В окне предварительного просмотра отображаются пользователи и группы, выбранные для подключения. При необходимости можно перейти на вкладку Группы или Пользователи, чтобы увидеть пользователей и группы, которые связаны со службой.
- Нажмите Сохранить.
Конфигурация LDAP сохранена. Чтобы проверить правильность конфигурации, попробуйте войти в SaltStack Config из тестовой учетной записи. Если войти в систему не удалось, см. рекомендации в разделе Устранение неполадок.
Примечание: SaltStack Config сохраняет параметры подключения конфигураций LDAP, включая идентифицированные группы и идентифицированных пользователей. Поиск пользователей и групп осуществляется только в пределах заданной области, при этом весь каталог не синхронизируется.Со временем каталог LDAP может потребоваться обновить или повторно синхронизировать. Например, это следует сделать, когда добавляются новые пользователи, которых требуется включить в SaltStack Config.
Включение групп и пользователей
После настройки подключения LDAP необходимо настроить группы службы каталогов и убедиться, что пользователи могут выполнить вход в SaltStack Config. Чтобы настроить группы службы каталогов, выполните следующее.
- В рабочей области «Проверка подлинности» выберите требуемую конфигурацию LDAP.
- Перейдите на вкладку Группы, чтобы увидеть список групп, найденных в конфигурации LDAP.
Примечание: При наличии большого количества групп загрузка страницы может занимать до 1 минуты.
- Выберите группы, которые необходимо включить в SaltStack Config.
- Перейдите на вкладку Пользователи, чтобы увидеть список пользователей, полученных из конфигурации LDAP.
Примечание: При наличии большого количества пользователей загрузка страницы может занимать до 1 минуты.
- Выберите пользователей, которых необходимо включить в SaltStack Config.
Примечание: Все пользователи, добавленные во включенные группы, уже выбраны, и этот выбор нельзя отменить.
- Нажмите Сохранить.
Теперь можно определить настройки контроля доступа на основе ролей (RBAC) для выбранных групп. Однако рабочая область «Роли» позволяет управлять настройками для отдельных пользователей, добавленных в выбранные группы, только после первого входа пользователя в систему. Чтобы удалить группы или пользователей, отмените выбор группы или пользователя, а затем нажмите кнопку Сохранить.
Дополнительные сведения об RBAC в SaltStack Config см. в разделе Определение ролей пользователей.
Устранение неполадок подключения LDAP
Проблема | Описание | Решение |
---|---|---|
Не удается просмотреть подключение | Если вы не можете просмотреть группы и пользователей, в большинстве случаев это может быть связано с проблемами соединения между сервером LDAP и SaltStack Config или недопустимым значением в форме конфигурации LDAP. |
|
При попытке предварительного просмотра подключения на странице происходит сбой загрузки. | Если процесс загрузки страницы зависает более чем на две минуты, перезапустите службу RaaS, затем удалите конфигурацию и создайте ее снова. |
|
Прочие проблемы | Если подключение LDAP уже настроено и сохранено, но пользователи не могут войти в систему или если обнаружены другие проблемы, проверьте журналы |
Чтобы включить расширенную отладку, выполните следующее.
|
Ниже указаны некоторые типовые ошибки, сообщения о которых могут присутствовать в журналах.
- Неправильные настройки подключения (SSL). Настройте параметры SSL.
[raas.utils.validation.schemas.settings][DEBUG :546 ][Webserver:9096] Error while connecting to AD/LDAP Server. SSL connection issues: socket ssl wrapping error: [Errno 104] Connection reset by peer
- Неправильный пароль привязки DN администратора. Проверьте пароль и введите его снова.
[raas.utils.rpc ][DEBUG :284 ][Webserver:9095] Processed RPC request(129360670417695). Response: {'riq': 129360670417695, 'ret': None, 'error': {'code': 3004, 'message': 'Request validation failure.', 'detail': {'_schema': ['Credentials are not valid']}}, 'warnings': []}
- Конфликт создает предварительно заполненный фильтр проверки подлинности привязки DN по умолчанию. Оставьте поле незаполненным или используйте
{username}
вместо{{username}}
.Примечание:Эта ошибка может происходить, если вы уже сохранили подключение LDAP, но пользователи не могут войти в систему.
[var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG :903 ][Webserver:9096] Running _get_auth_backend_user with this search_filter: (&(objectclass=person)(sAMAccountName={username})) [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG :931 ][Webserver:9096] Could not find any user using '(&(objectclass=person)(sAMAccountName={username}))' as the search filter in the ldap backend under the ad-1 configuration. Trying remote_uid 'None' [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG :963 ][Webserver:9096] Could not find any user using '(&(objectClass=person)(objectGUID=None))' as the search filter in the ldap backend under the ad-1 configuration.