Перейти к содержанию

Двухфакторная аутентификация для Ansible AWX

Последнее обновление 17 сентября 2026Открыть как Markdown

Описание

Ansible AWX умеет аутентифицировать пользователей в каталоге по протоколу LDAP. Если указать в настройках адрес локального инстанса Simple2FA вместо адреса контроллера домена, вход в веб-интерфейс AWX получит второй фактор: пользователь подтверждает вход на своём устройстве, и только после этого AWX открывает сессию.

Метод подключения — LDAP-прокси. Второй фактор подтверждается push-уведомлением в мобильном приложении, в Telegram или в MAX.

Схема работы:

  1. Пользователь открывает AWX и вводит логин и пароль.
  2. AWX обращается по LDAP к локальному инстансу Simple2FA.
  3. Инстанс проверяет логин и пароль в каталоге организации.
  4. Инстанс запрашивает у пользователя подтверждение вторым фактором.
  5. Пользователь подтверждает вход, и AWX открывает сессию.

Перед началом работы

  • В глобальных настройках инстанса включён LDAP-прокси, порты опубликованы на хосте — шаги 1 и 2 общей инструкции.
  • С сервера AWX открыт доступ к инстансу по порту LDAP (1389) или LDAPS (1636).
  • DN сервисной учётной записи добавлен в список сервисных в глобальных настройках Simple2FA.
  • Сохранён доступ под локальным администратором AWX — он не зависит от настроек LDAP.

Подготовка в Simple2FA

В панели администратора создайте ресурс:

Поле Значение
Название Ansible AWX
Протокол LDAP
CIDR клиентов LDAP IP-адрес сервера AWX, например 10.0.0.40/32
Проверять первый фактор Включить
Поставщики учётных записей Каталог, в котором проверяется пароль

Добавьте ресурс в группу пользователей, которым разрешён вход в AWX.

Настройка Ansible AWX

Войдите в AWX под администратором и откройте Settings → Authentication → LDAP settings. Заполните параметры:

  • LDAP Server URI — адрес инстанса Simple2FA: ldap://simple2fa.example.local:1389 или ldaps://simple2fa.example.local:1636;
  • LDAP Bind DN — DN сервисной учётной записи, например CN=ldapbind,CN=Users,DC=example,DC=local;
  • LDAP Bind Password — её пароль из каталога;
  • LDAP Group Type — ActiveDirectoryGroupType для Active Directory;
  • LDAP User Search — область и фильтр поиска пользователей в вашем каталоге:

    [
      "CN=Users,DC=example,DC=local",
      "SCOPE_SUBTREE",
      "(sAMAccountName=%(user)s)"
    ]
    
  • LDAP Group Search — область и фильтр поиска групп:

    [
      "DC=example,DC=local",
      "SCOPE_SUBTREE",
      "(objectClass=group)"
    ]
    
  • LDAP User Attribute Map — сопоставление атрибутов каталога с полями пользователя AWX:

    {
      "first_name": "givenName",
      "last_name": "sn",
      "email": "mail"
    }
    
  • LDAP Connection Options — параметры соединения. Увеличьте сетевой таймаут, чтобы пользователь успел подтвердить вход:

    {
      "OPT_REFERRALS": 0,
      "OPT_NETWORK_TIMEOUT": 90
    }
    

При необходимости заполните LDAP Organization Map или LDAP Team Map — они определяют, в какую организацию и команду попадают пользователи каталога. Нажмите Save.

Таймаут должен превышать время ожидания подтверждения

По умолчанию Simple2FA ждёт ответа пользователя 60 секунд. Если сетевой таймаут AWX меньше, соединение оборвётся раньше подтверждения, и вход не пройдёт. Значение 90 секунд даёт запас; при другом значении «Таймаута ожидания подтверждения» пересчитайте его.

Проверка работы

  1. Откройте страницу входа AWX в приватном окне браузера.
  2. Введите логин и пароль тестового пользователя каталога.
  3. Дождитесь запроса подтверждения и подтвердите вход.
  4. Убедитесь, что AWX открыл сессию, а в журнале «Попытки авторизации» появилась успешная попытка на ресурсе Ansible AWX.

Смотрите также

Связаться с нами

Подберём сценарий под вашу инфраструктуру, рассчитаем стоимость и запустим бесплатный пилот на 30 дней.

Отправляя заявку, вы соглашаетесь на обработку персональных данных.