Настройка сервиса#
Настройте Selinux и Firewall, чтобы они не блокировали работу сервиса.
Настройка сервиса производится через через сервис Luna Configurator. Для работы сервиса Luna Configurator необходим установленный Postgresql.
1. Запустите Luna Configurator: http://{host}:5070/dashboard/settings.html — адрес сервера, порт 5070, /dashboard/settings.html
2. Укажите lunapass в качестве группы для отображения нужных настроек (Рисунок 9):
3. Выполните настройку соответствии с описанием (Таблицы 11-19 и Рисунки 10-20)
Настройка сервиса в Luna Configurator#
Таблица 11. Выбор режима работы и конфигурация JWT-пакета
|
Параметр |
Описание |
|---|---|
|
Режим работы |
|
|
env |
В LUNA PASS предусмотрено два режима работы:
По умолчанию: Режим development позволяет отслеживать корректность работы LUNA PASS и обычно используется в период отладки и тестирования. В промышленном контуре рекомендуется включать режим production. |
|
Параметры конфигурации LUNA_PASS.JWT |
|
|
algorithm |
Алгоритм шифрования успешного кадра По умолчанию: |
|
key |
Секрет шифрования успешного кадра По умолчанию: |
Таблица 12. Параметры сессии
|
Параметр |
Описание |
|---|---|
|
max_attempts |
Максимальное количество кадров, пришедших в рамках 1 сессии. При превышении значения отправляется текущий кадр как есть и соединение прерывается. В случае отсутствия значения кадры проверяются до тех пор, пока не будет успешно пройденного Liveness По умолчанию: |
|
max_liveness_attempts |
Максимальное количество кадров, дошедших до проверки Liveness. При превышении значения отправляется текущий кадр как есть и соединение прерывается. В случае отсутствия значения кадры проверяются до тех пор, пока не будет успешно пройденного Liveness По умолчанию: |
|
aggregate_frames |
Количество кадров, по которым необходимо агрегировать. Значение должно быть не менее 1 По умолчанию: |
|
accept_one_eye_open |
Разрешить прохождение проверки открытости глаз по одному глазу:
По умолчанию: |
|
previous_face_similarity |
Порог схожести. Если значение схожести ниже порогового, то считается, что в кадрах разные
лица и сессия прерывается. Для отключения укажите значение параметра По умолчанию: |
|
multiface_policy |
Политика выбора лица для проверки Liveness. Доступные значения:
По умолчанию: |
Таблица 13. Параметры для зоны распознавания лиц ROI
|
Параметр |
Описание |
|---|---|
|
center_x |
Центр зоны ROI по оси X По умолчанию: Единица измерения координаты по оси Х задаётся параметром
По умолчанию: |
|
center_y |
Центр зоны ROI по оси Y По умолчанию: Единица измерения координаты по оси Y задаётся параметром
По умолчанию: |
|
width |
Ширина зоны ROI По умолчанию: Единица измерения ширины зоны задаётся параметром
По умолчанию: |
|
height |
Высота зоны ROI По умолчанию: Единица измерения высоты зоны задаётся параметром
По умолчанию: |
Таблица 14. Пороги проверки лица
|
Параметр |
Описание |
|---|---|
|
blur |
Смазанность фотоизображения По умолчанию: |
|
light |
Засвеченность фотоизображения По умолчанию: |
|
dark |
Затемненность фотоизображения По умолчанию: |
|
illumination |
Равномерность освещения изображения, 0 – равномерно, 1 – есть пересветы По умолчанию: |
|
specularity |
Наличие бликов на изображении, 0 – бликов нет, 1 – есть блики По умолчанию: |
|
face_width |
Ширина рамки лица По умолчанию: |
|
face_height |
Высота рамки лица По умолчанию: |
|
yaw |
Поворот вокруг вертикальной оси головы По умолчанию: |
|
pitch |
Поворот вокруг поперечной оси головы По умолчанию: |
|
roll |
Поворот вокруг продольной оси головы По умолчанию: |
|
mouth |
Требуемая точность оценки статуса рта По умолчанию: Тип агрегации результата Количество кадров подряд для подсчёта результата, по умолчанию:
|
|
glasses |
Наличие очков. Доступные значения:
По умолчанию: [ Тип агрегации результата Количество кадров подряд для подсчёта результата, по умолчанию:
|
|
deepfake |
Требуемая точность оценки Deepfake. По-умолчанию проверка включена.
Для отключения укажите значение параметра По умолчанию: Тип агрегации результата Количество кадров подряд для подсчёта результата, по умолчанию:
|
|
liveness |
Пороговое значение результата проверки OneShot Liveness, при котором человек будет считаться «живым»; По умолчанию: Тип агрегации результата Количество кадров подряд для подсчёта результата, по умолчанию:
|
|
image_modification |
Пороговое значение результата проверки на факт модификации/редактирования
изображения по наличию характерных артефактов. Для отключения укажите значение
параметра По умолчанию: Тип агрегации результата Количество кадров для подсчёта результата, по умолчанию:
|
|
eyes |
Оценка статуса глаз; По умолчанию: Тип агрегации результата Количество кадров подряд для подсчёта результата, по умолчанию:
|
Стратегия агрегации определяется индивидуально в конфигурации системы для:
- Deepfake, Liveness, ImageModification (может быть применена агрегация типа
fail_setилиsliding_window_avg); - Оценки состояний глаз, рта , очков (может быть применена только агрегация типа
sliding_window_avg).
Стратегия агрегации определяется индивидуально в конфигурации системы для:
- Deepfake;
- Liveness;
- ImageModification;
- Оценки состояний глаз, рта , очков (может быть применена только агрегация типа sliding_window_avg).
Таблица 15. Параметры ActiveLiveness
|
Параметр |
Описание |
|---|---|
|
is_enabled |
Включение проверки активного Liveness По умолчанию: |
|
cooldown_frames_count |
Минимальное количество кадров, после прохождения активного Liveness По умолчанию: |
|
interaction_list |
Используемые проверки:
По умолчанию: [ |
|
interaction_count |
Количество используемых взаимодействий с пользователем. Максимальное количество
не должно превышать количество проверок, указанных в По умолчанию: |
|
interaction_order |
Порядок взаимодействия проверок:
По умолчанию: |
|
yaw_start_deg |
Начальный угол поворота, при котором возможно начать взаимодействие на повороты головы По умолчанию: |
|
yaw_threshold_deg |
Порог угла поворота, при котором взаимодействие на повороты головы считается выполненным По умолчанию: |
|
pitch_start_deg |
Начальный угол запрокидывания головы, при котором возможно начать взаимодействие на запрокидывание головы По умолчанию: |
|
pitch_threshold_deg |
Порог угла запрокидывания головы, при котором взаимодействие на запрокидывание головы считается выполненным По умолчанию: |
Таблица 16. Настройка проверки повторяющихся кадров
Проверка сравнивает перцептивные хэши последовательных кадров. Настройте её следующими параметрами:
| Параметр | Описание |
|---|---|
is_enabled |
Включает или выключает проверку повторяющихся кадров. |
distance |
Максимальное расстояние между хэшами, при котором кадры считаются повторяющимися. Чем меньше значение, тем выше схожесть. Значение по умолчанию: 0.01. |
Таблица 17. Настройка контроля фокуса focus_loss
| Параметр | Описание |
|---|---|
is_enabled |
Включает или выключает весь контроль фокуса: сбор событий, применение порогов и запись данных в файлы сессий. По умолчанию: false. |
path |
Каталог файлов сессий. По умолчанию: ./LOGS. |
max_blur_count |
Порог количества событий потери фокуса. |
max_total_away_ms |
Порог суммарного времени отсутствия фокуса, мс. |
max_away_ms |
Порог длительности одного периода отсутствия фокуса, мс. |
max_blur_during_recording |
Порог количества событий потери фокуса во время записи биометрической сессии. |
min_first_blur_elapsed_ms |
Порог для момента первого события относительно начала сессии, мс. |
Значение 0 отключает соответствующий порог. При значении N больше либо равно 1 сессия завершается как неуспешная, если фактическое значение больше либо равно N.
Проверку нельзя применять в промышленном контуре без данных о количестве, частоте и длительности потерь фокуса у реальных пользователей. Системные уведомления и обычные действия пользователя также могут приводить к потере фокуса.
Таблица 18. Параметры VirtualCameraChecker, FileLogger, VideoRedis
|
Параметр |
Описание |
|---|---|
|
Параметры VirtualCameraChecker |
|
|
is_enabled |
Включить проверку на использование виртуальной камеры По умолчанию: |
|
Параметры FileLogger |
|
|
is_enabled |
Сохраняет в файл все входящие фотографии и результаты их эстимации в рамках одной сессии По умолчанию: |
|
path |
Путь для сохранения файловых логов По умолчанию: |
|
Параметры VideoRedis |
|
|
is_enabled |
Включить плагин для склейки видео и отправки кадров сессии в Redis По умолчанию: |
Таблица 19. Параметры LUNAPASS_VIDEO
|
Параметр |
Описание |
|---|---|
|
codec |
Алгоритм шифрования успешного видео По умолчанию: |
|
frames_limit |
Ограничение на максимальное количество кадров в видео:
По умолчанию: |
|
expires |
Время в секундах, в течение которого Redis хранит кадры, которые не были
использованы для склейки видео. Информация стирается по исчении времени По умолчанию: |
|
result_ttl |
Время в секундах, в течение которого Redis хранит информацию об успешности задач и их результатах По умолчанию: |
|
session_timeout |
Количество секунд для старта сборки видео после завершения сессии при отсутствии bestshot По умолчанию: |
Таблица 20. Параметры LUNAPASS_REDIS_DB_ADDRESS
|
Параметр |
Описание |
|---|---|
|
host |
IP-адрес БД Redis По умолчанию: |
|
port |
Номер порта, на котором Redis ожидает входящие сетевые соединения и прослушивает их для выполнения команд от клиентов По умолчанию: |
|
user |
Имя пользователя БД Redis Значение по умолчанию не задано |
|
password |
Пароль БД Redis Значение по умолчанию не задано |
|
master_name |
Имя мастера базы данных Redis, который контролируется и управляется системой Sentinel По умолчанию: |
|
sentinels |
Список адресов и портов серверов Sentinel, которые будут использоваться клиентами для обнаружения и мониторинга БД Redis. По умолчанию: [] |
|
user |
Имя пользователя сервера Sentinel Значение по умолчанию не задано |
|
password |
Пароль пользователя сервера Sentinel Значение по умолчанию не задано |
|
number |
Номер базы данных По умолчанию: |
Таблица 21. Параметры LUNAPASS_VIDEO_LOGGER
Логирование
|
Параметр |
Описание |
|---|---|
|
log_level |
Уровень отладочной печати, по приоритету: "ERROR", "WARNING", "INFO", "DEBUG" По умолчанию: |
|
folder_with_logs |
Папка, в которой хранятся логи (относительный путь начинается с каталога с приложением) По умолчанию: |
|
max_log_file_size |
Максимальный размер файла лога в МБ перед выполнением его ротации (0 - не использовать ротацию) По умолчанию: |
|
log_time |
Формат времени, используемый в записях лога: "LOCAL" или "UTC" По умолчанию: |
|
log_to_stdout |
Отправлять лог на стандартный вывод По умолчанию: |
|
log_to_file |
Отправлять лог в файл По умолчанию: |
|
multiline_stack_trace |
Разрешить многострочную трассировку стека в логах По умолчанию: |
|
format |
Формат логов По умолчанию: |
Таблица 22. Параметры LUNAPASS_VIDEO_HTTP_SETTINGS
|
Параметр |
Описание |
|---|---|
|
request_timeout |
Продолжительность времени между моментом, когда новое открытое x TCP-соединение передается на сервер (в секундах) По умолчанию: |
|
response_timeout |
Продолжительность времени между моментом, когда сервер передает HTTP-запрос приложению, и моментом, когда HTTP-ответ отправляется клиенту (в секундах) По умолчанию: |
|
request_max_size |
Максимальный размер запроса в байтах По умолчанию: |
|
keep_alive_timeout |
Тайм-Аут поддержания активности HTTP По умолчанию: |
Таблица 23. Параметры LUNA_REMOTE_SDK_ADDRESS
|
Параметр |
Описание |
|---|---|
|
origin |
Протокол, IP адрес и порт сервиса Remote SDK По умолчанию: |
|
api_version |
Версия API сервиса Remote SDK. Доступная версия API — "1". По умолчанию: |
Таблица 24. Параметры LUNAPASS_CALLBACKS_ADDRESS
|
Параметр |
Описание |
|---|---|
|
host |
Хост сервиса callbacks По умолчанию: |
|
port |
Порт сервиса callbacks По умолчанию: |
Таблица 25. Параметры LUNAPASS_CALLBACKS_CLIENTS — параметры конфигурации способа отправки в сторонние сервисы информации о результатах прохождения проверки, а также детали передаваемой информации
[
{
"client_id": "partner_service",
"is_enabled": true,
"format": "jwt",
"host": "partner.example.com",
"port": 443,
"urn": "/liveness-hook",
"enabled_ssl": 1,
"events": ["frame", "success"],
"key": "very-secret-key",
"algorithm": "HS256",
"include_verdict": true,
"include_stats": true
},
{
"client_id": "monitoring",
"is_enabled": true,
"format": "json",
"host": "monitoring.internal",
"port": 8080,
"urn": "",
"enabled_ssl": 0,
"events": ["session_start", "frame", "session_close", "success"],
"key": "secret",
"algorithm": "HS256",
"include_verdict": false,
"include_stats": false
}
]
Запуск сервисов с разной конфигурацией#
С помощью тегированных настроек можно запустить несколько одинаковых сервисов, которые будут использовать различные настройки из LUNA PLATFORM Configurator. Добавление тегированных настроек возможно двумя способами:
- через передачу аргументов в команду запуска сервиса;
- через переменную окружения
EXTEND_CMD.
1. Передача аргументов в команду запуска
1. Продублируйте существующую или создайте новую настройку и укажите тег для неё. Например, можно дублировать настройку lunapass_video и присвоить ей тег lunapass_video_tagname.
2. Передайте соответствующие аргументы в командуrun.py соответствующего контейнера:
--luna-config — флаг с адресом сервиса Luna Configurator
--<configuration_name> — флаг с именем настройки и её тегом
Например, для настройки lunapass_video с тегом lunapass_video_tagname команда запуска контейнера будет выглядеть следующим образом:
docker run \
...
dockerhub.visionlabs.ru/luna/luna/lunapass_video:v.3.2.2
python3 /srv/lunapass_video/run.py --luna-config http://{host}:{port} --lunapass_video lunapass_video_tagname
2. Использование переменной окружения EXTEND_CMD
В переменной окружения EXTEND_CMD указываются необходимые аргументы с именем настройки и её тегом. Например, запуск двух экземпляров LUNAPASS_API с разными тегами может выглядеть так:
services:
api:
container_name: lunapass-api
image: registry.dev.vlabs/lunapass-api:PASS-49_configurator-tags
restart: always
network_mode: ${NETWORK_MODE}
environment:
- EXTEND_CMD=--LUNAPASS_API=tagname --LUNAPASS_API_LOGGER=tagname2
- RELOAD_CONFIG=1
- RELOAD_CONFIG_INTERVAL=10
- CONFIGURATOR_HOST=${CONFIGURATOR_HOST}
- CONFIGURATOR_PORT=${CONFIGURATOR_PORT}
- PORT=${LUNAPASSAPI_PORT}
Описание значений:
CONFIGURATOR_HOSTиCONFIGURATOR_PORT— адрес и порт сервиса Luna Configurator;LUNAPASSAPI_PORT— порт, на котором работает API LUNA PASS;NETWORK_MODE— сетевой режим контейнера.