Перейти к основному содержимому

Настройка двухфакторной аутентификации Ansible AWX

В статье описывается настройка Ansible AWX для защиты пользовательского входа в систему двухфакторной аутентификацией.

Возможные способы аутентификации:

  • Мобильное приложение MultiFactor
  • Telegram
  • Звонок (нужно принять вызов и нажать #)

Для настройки второго фактора аутентификации вам потребуется установить и настроить MultiFactor LDAP Adapter.

Схема работы

  1. Пользователь подключается к Ansible AWX, вводит логин и пароль на странице входа;
  2. LDAP клиент Ansible AWX по протоколу LDAP подключается к компоненту MultiFactor LDAP Adapter;
  3. Компонент проверяет логин и пароль пользователя в Active Directory или OpenLDAP и запрашивает второй фактор аутентификации;
  4. Пользователь подтверждает запрос доступа выбранным способом аутентификации.

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

Убедитесь, что на сервере с Ansible AWX открыты порт 389 TCP (LDAP) и 636 TCP (LDAPS) для отправки запросов компоненту MultiFactor LDAP Adapter.

Настройка Мультифактора

  1. Зайдите в систему управления Мультифактором, далее в раздел "Ресурсы" и создайте новое LDAP приложение;
  2. После создания вам будут доступны два параметра: NAS Identifier и Shared Secret, они потребуются для последующих шагов;
  3. Загрузите и установите MultiFactor LDAP Adapter.

Настройка Ansible AWX

Зайдите в панель управления Ansible AWX с правами администратора.

В разделе Settings > Authentication > LDAP settings нажмите Edit.

  • LDAP Server URI: адрес и порт компонента MultiFactor LDAP Adapter в формате ldap-url

  • LDAP Bind Password: пароль сервисного пользователя

  • LDAP Group Type: Выберите "ActiveDirectoryGroupType" для Active Directory

  • LDAP Bind DN: учётная запись сервисного пользователя (например, CN=binduser,DC=domain,DC=com)

  • LDAP User Search

    LDAP-запрос для поиска пользователей

    [
    "CN=Users,DC=domain,DC=local",
    "SCOPE_SUBTREE",
    "(sAMAccountName=%(user)s)"
    ]
  • LDAP Group Search

    LDAP-запрос для поиска групп

    [
    "DC=domain,DC=local",
    "SCOPE_SUBTREE",
    "(objectClass=group)"
    ]
  • LDAP User Attribute Map

    Сопоставление схемы пользователей LDAP с атрибутами пользователей Ansible AWX

    {
    "first_name": "givenName",
    "last_name": "sn",
    "email": "email"
    }
  • LDAP Organization Map

    Настройка автоматического создания организации "LDAP Organization" с регистрацией пользователей в качестве "team member" при первом подключении

    {
    "LDAP Organization": {
    "remove_users": false,
    "users": true,
    "remove_admins": false
    }

}

Нажмите Save.

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