Двухфакторная аутентификация (2FA)

В KeyStack в качестве второго фактора используется пара сертификат/ключ для защиты аккаунта.

На первом этапе аутентификации пользователь указывает свой сертификат и ключ, на втором — имя пользователя и пароль от своей учетной записи.

Включение двухфакторной аутентификации (2FA)

Для включения двухфакторной аутентификации выполните следующие действия:

  1. Откройте файл globals.d/REGION.yml и настройте параметры следующим образом:

    kolla_enable_mtls_external: yes
    kolla_enable_tls_external: yes
    
  2. Запустите пайплайн с тегами haproxy и horizon. Подробнее о запуске пайплайна см. в разделе Развёртывание компонентов.

Для дополнительного включения внутреннего mTLS обратитесь к статье Настройка mTLS в регионе.

Отключение двухфакторной аутентификации (2FA)

Для отключения двухфакторной аутентификации выполните следующие действия:

  1. Откройте файл globals.d/REGION.yml и настройте параметры следующим образом:

    kolla_enable_mtls_external: no
    kolla_enable_tls_external: no
    
  2. Запустите пайплайн с тегами haproxy и horizon. Подробнее о запуске пайплайна см. в разделе Развёртывание компонентов.

Сертификат клиента для использования c 2FA

Клиентский сертификат должен соответствовать следующим требованиям:

  • Клиентский сертификат подписан центром сертификации, выпускающим сертификаты для региона KeyStack.

  • Заданы назначения сертификата (OID):

    • Проверка подлинности сервера (1.3.6.1.5.5.7.3.1)

    • Проверка подлинности клиента (1.3.6.1.5.5.7.3.2)

  • Задан Subject, совпадающий с основным доменом региона KeyStack.

Использование OpenStack CLI c 2FA

Для использования OpenStack CLI c двухфакторной аутентификацией выполните команду:

$ openstack --os-cacert <CA_CERT> --os-cert <CLIENT_CERT> --os-key <CLIENT_KEY> <commands>

Параметры команды:

  • [--os-cacert <ca-cert>] — корневой сертификат или цепочка,

  • [--os-cert <client-cert>] — сертификат клиента,

  • [--os-key <client-key>] — ключ к сертификату клиента.

Использование Horizon и AdminUI c 2FA

  1. Сохраните созданный сертификат, ключ и корневой сертификат в операционную систему Linux и выполните команду:

    $ openssl pkcs12 -export -in CLIENT_CERT -inkey CLIENT_KEY -certfile CA_CERT -out client01.p12 -passout pass:password
    
  2. Импортируйте получившийся сертификат в формате p12 в используемый браузер.

    Пример для Chrome: Настройки > Конфиденциальность и безопасность > Безопасность > Настроить сертификаты > Сертификаты > Личные.

  3. Перейдите по адресу портала самообслуживания Horizon или Портала администратора и выберите сертификат для авторизации в всплывающем окне.

  4. Используйте данные от своего аккаунта (имя пользователя и пароль) для авторизации в Horizon или Портале администратора.