Аутентификация и мониторинг сессии пользователя

В этом разделе:

Типы аутентификации

В FindFace Multi возможны следующие типы аутентификации:

  • password: стандартная аутентификация посредством логина и пароля. Включена по умолчанию.

  • face: аутентификация возможна только по лицу пользователя.

  • face_or_password: аутентификация возможна по лицу или с логином/паролем.

  • face_and_password: двухфакторная аутентификация. После успешного распознавания лица пользователь должен ввести свои логин и пароль.

Важно

Для всех типов аутентификации, основанных на распознавании лиц, необходима следующая конфигурация:

  • автономный сервис liveness (findface-liveness-api)

  • HTTPS

Важно

Перед использованием распознавания лиц для аутентификации прикрепите фотографии к профилям пользователей и оборудуйте их рабочие места вебкамерами.

Примечание

Вы можете включить мониторинг рабочей сессии для типов аутентификации face и face_or_password. В этом случае система будет периодически возобновлять сессию после проверки, что лицо человека на рабочем месте совпадает с лицом вошедшего в систему пользователя (подробнее см. в Настройка аутентификации и мониторинга сессии).

Совет

FindFace Multi также предоставляет независимо настраиваемую аутентификацию на основании сертификата. Обратитесь к нашим экспертам за консультацией (support@ntechlab.com).

Настройка аутентификации и мониторинга сессии

Для настройки аутентификации и мониторинга сессии пользователя выполните следующие действия:

  1. Откройте файл конфигурации /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py. Найдите секции FFSECURITY и FFSECURITY_AUTH_CONFIG.

    sudo vi /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py
    
    FFSECURITY = {
        # auth config
        # available options: face, password, face_and_password, face_or_password
        'AUTH_TYPE': 'face_or_password',
        # 180 days by default
        'MAXIMUM_SESSION_LENGTH': 15552000,
        ...
        }
    
    ...
    # - FindFace Security authorization configuration dictionary -
    
    FFSECURITY_AUTH_CONFIG = {
        'FACE_AUTH_CONFIDENCE': 0.740,  # FAR = 2.5E-09  # model: [kiwi_320]
        # 3 settings below are for front-end only
        # session renew works only with face or face_or_password authorization type
        'NEED_SESSION_RENEW': False,
        'RENEW_SESSION_INTERVAL': 0,
        'MAXIMUM_RENEW_ATTEMPTS': 2,
    }
    
  2. В разделе FFSECURITY задайте следующие параметры аутентификации:

    • AUTH_TYPE: тип аутентификации. Доступные варианты: face, password, face_and_password, face_or_password.

    • MAXIMUM_SESSION_LENGTH: максимальная продолжительность сессии пользователя в секундах. По истечении времени сессии происходит принудительный вывод пользователя из системы при условии, что сессия не была предварительно возобновлена.

  3. В разделе FFSECURITY_AUTH_CONFIG задайте следующие параметры аутентификации и мониторинга сессии:

    • FACE_AUTH_CONFIDENCE: после того как лицо на видео с вебкамеры распознано как живое, система сравнивает его с фотографиями пользователей, используя для верификации данную пороговую степень схожести.

    • NEED_SESSION_RENEW: если True, сессия пользователя может быть возобновлена и продлена на время, равное MAXIMUM_SESSION_LENGTH, после проверки, что лицо человека на рабочем месте совпадает с лицом вошедшего в систему пользователя.

    • RENEW_SESSION_INTERVAL: период в секундах до ожидаемого времени завершения сессии, в течение которого система попытается возобновить сессию, активировав вебкамеру для верификации лица пользователя.

    • MAXIMUM_RENEW_ATTEMPTS: количество попыток верификации пользователя. Попытки выполняются одна за другой в течение интервала возобновления сессии.

    Примечание

    Попытка верификации занимает приблизительно 3 секунды.

    Совет

    Мы рекомендуем настроить параметры мониторинга таким образом, что величина MAXIMUM_RENEW_ATTEMPTS, умноженная на продолжительность попытки, была меньше значения RENEW_SESSION_INTERVAL. В противном случае система увеличит интервал возобновления сессии в 2, 3 и более раз, в зависимости от количества попыток.

  4. Выполните перезапуск контейнеров FindFace Multi.

    cd /opt/findface-multi
    
    sudo docker-compose restart
    

Принудительный вывод всех пользователей из системы

Для того чтобы принудительно вывести всех пользователей из системы, выполните следующую команду в консоли центрального сервера FindFace Multi:

sudo docker container exec -it findface-multi-findface-multi-identity-provider-1 /opt/findface-security/bin/python3 /tigre_prototype/manage.py logout_all_users

Совет

Данная команда пригодится при массовом переходе к другому типу аутентификации.