Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Установка офлайн-сервера для лицензирования
Продукты Oz Forensics имеют гибкие возможности лицензирования. В некоторых случаях необходимо установить офлайн-сервер для лицензирования, и в данном разделе вы узнаете, как это сделать.
Для установки требуется любой стационарный (не виртуальный) сервер с ОС Linux. Свяжитесь с нами, чтобы получить архив с программой, и следуйте инструкции ниже.
На этом серверная установка окончена. Дальнейшая настройка и активация производится через Web-интерфейс на порту 8090
.
Откройте в браузере страницу по адресу http://server:8090
и авторизуйтесь.
Зайдите в раздел Settings
.
Наиболее простой способ активировать сервер лицензирования – выполнить это онлайн.
Для этого достаточно ввести ключ и нажать ACTIVATE
.
При отсутствии интернета на сервере лицензирования вы можете выполнить активацию офлайн-способом.
Для этого нажмите SWITCH TO OFFLINE ACTIVATION
.
Введите ключ и нажмите NEXT
.
Затем нажмите DOWNLOAD REQUEST FILE
.
Передайте нам файл offline_activation_request.txt
. Мы в ответ направим вам код активации.
Введите этот код в окно для offline activation response и нажмите ACTIVATE
.
В этом разделе вы найдете инструкции по установке решений Oz Forensics: как полной версии, так и версии Lite.
В этом разделе перечислены метрики, по которым можно сделать вывод, корректно ли работает система.
Состояние установленной биометрической системы Oz Forensics можно проверить по списку метрик, приведенных ниже. Если эти показатели в норме, система работает корректно. Для запроса показателей вы можете использовать любую систему мониторинга.
С помощью команды ping
убедитесь, что ко всем серверам имеется доступ.
Проверьте наличие свободного пространства на всех дисках – его должно быть 10% или более.
Проверьте, что сервера используют не более 90% оперативной памяти.
Проверьте доступ к сервисам oz-api
с помощью GET `/api/version`
(так называемый health check). В случае успеха вернется код 200.
Проверьте доступ к сервисам oz-bio
с помощью GET `/v1/models/inquisitor`
. В случае успеха вернется код 200.
Проверьте, не истекла ли лицензия наoz-bio
. Запустите в консоли следующий код:
В случае успеха в консоли отобразится 1.
4. Проверьте, нет ли слишком больших задержек в последней серии анализов. Запустите код, указанный ниже, чтобы получить 90-й перцентиль длительность задержек в секундах.
В консоли отобразится результат, он должен быть меньше 20.
5. Проверьте, не растет ли очередь неоконченных анализов. Запустите код, указанный ниже, чтобы получить количество незавершенных анализов в очереди.
В консоли отобразится результат, он должен быть меньше 20.
Если любой из результатов не соответствует заявленному успешному, пожалуйста, свяжитесь с нами по адресу support@ozforensics.com.
Мы рекомендуем предоставлять нашим инженерам доступ как минимум к одному каналу, который вы используете для получения уведомлений от системы мониторинга. Таким образом мы сможем оперативно отреагировать на внештатную ситуацию, связанную с нашей системой.
Инструкция по использованию стационарного установщика
Стационарный установщик – это программа для установки модулей системы Oz Forensics на сервера заказчика с автоматическим внесением всех необходимых настроек с учётом индивидуальной топологии и требований заказчика.
Данный установщик предназначен для развёртывания ПО на сервера напрямую, под учетной записью администратора. Сервера, на которых будет работать ПО, могут иметь или не иметь (с некоторыми оговорками) прямого доступа к Интернету, на них должен быть установлен Linux и к ним должен иметься полный доступ по ssh.
Для установки в OpenShift и других оркестраторах, пожалуйста, обратитесь к нам.
CPU: 16 ядер
RAM: 24 Гб
На диске: 80 Гб
CPU: 8 ядер
RAM: 16 Гб
На диске: 300 Гб
Пожалуйста, обсудите версию ОС с нашими инженерами.
Версия: 1.27.
Обязательные компоненты:
Prometheus (версия Helm-чартов (kube-prometheus-stack) – 45.7.1),
Nginx Ingress Controller (версия Helm-чартов – 4.7.1, репозиторий с чартами здесь),
ClusterIssuers.
Опциональные компоненты:
Любой Storage Class с поддержкой режима ReadWriteMany (RWX).
Требования к ресурсам узлов:
Архитектура CPU: Intel
CPU/RAM: аналогично требованиям к серверам.
Еси вы хотите настроить переменные чарта самостоятельно, обратитесь к нам.
Запросите список клиентских URL с соответствующими им сертификатами SSL.
Проверьте, что все сервера доступны по локальной сети.
Проверьте наличие доступа либо по SSH с авторизацией по паролю, либо с файлом-ключом и sudo без пароля.
Для установки мы рекомендуем использовать Docker или Podman. Если есть доступ в интернет, можно скачать и установить Docker или Podman автоматически.
Docker версии 19.03 и выше и Docker Compose версии 1.27 и выше (необходимо установить в /usr/sbin)
;
или
Podman версии 4.4 и выше (с модулями netavark и aardvark-dns) и podman-compose.
Для установки балансировщика, если он есть в вашем инсталляционном пакете мы рекомендуем установить nginx версии 1.17.5 и выше. Для CentOS и Redhat вместо этого вы можете переключить SELinux в режим Permissive. Еще один вариант – доступ к интернету для скачивания и установки в автоматическом режиме.
Проверьте, что сервера имеют доступ к сервису лицензий https://api.cryptlex.com. Брандмауэр клиента не должен блокировать этот адрес.
Процессор сервера BIO должен поддерживать AVX флаги. Для проверки используйте команду lscpu | grep -E 'avx256|avx512' | wc -l. Ответ должен быть “1”.
Брандмауэр клиента не должен блокировать:
любые запускаемые скрипты или бинарные образы;
любые локальные порты для взаимодействия процессов (сети docker: 192.168.0.1/24, 192.168.10.0/24, 192.168.11.0/24, 192.168.12.0/24, 192.168.13.0/24);
порты 80, 8000, 8080, 8090 на сервере API server и порт 8091 на сервере BIO;
порт 5432 для установки Postgres.
Перед отправкой трафика на сервер API может потребоваться завершить соединение HTTPS и дешифровать трафик. Обычно это делается с помощью брандмауэра или других инструментов безопасности.
Важно: предупредите нас о любых нетипичных и/или неофициальных программах или сервисах, установленных на серверах.
Закажите вашу персональную копию установщика с предварительно согласованным комплектом модулей для тестовой или продуктивной среды.
Для тестовой развертки предусмотрен типовой комплект установщика с ограничениями по использованию.
Вам достаточно подготовить два сервера, отвечающие изложенным выше требованиям, и скачать комплект установки.
Для запуска вам потребуется компьютер с Windows или Linux. Системные требования:
1 Гб ОЗУ, 1 CPU, 3 Гб на диске
Windows 10+ (рекомендовано)
Linux 64-bit (требуется Python 3.7)
Подробную информацию по запуску смотрите ниже (на английском языке):
Убедитесь, что системные характеристики серверов соответствуют рекомендуемым.
Убедитесь, что сервера доступны по локальной сети.
Убедитесь, что к серверам есть доступ по единой учетной записи по SSH c авторизацией по паролю или файлу-ключу и для данной записи доступен sudo без интерактивного ввода пароля.
Для установки модулей системы на серверах должен быть установлен Docker (версии >=19.03) и, желательно, Docker Compose (версии >=1.27) либо доступен Интернет для автоматического скачивания и установки.
Для установки балансировщиков сетевой нагрузки (только если это явно включено в вашу поставку) на серверах должен быть установлен nginx (версии >= 1.17.5), а также SELinux должен быть переведен в состояние permissive (относится только к CentOS и Redhat). Для автоматического скачивания и установки должен быть доступен Интернет.
Скачайте и разархивируйте вашу копию установщика.
Внесите необходимые настройки в файл settings.yml
. Ниже приведено описание некоторых важных настроек. В общем случае при установке требуется только заполнить блок авторизации и переменные.
Пожалуйста, обратите внимание: файл с настройками является вашей персональной копией и не подлежит передаче третьим лицам.
Вызовите командную строку с правами администратора. Перейдите в папку, куда вы до этого поместили разархивированный установщик (команда cd
). Запустите процесс установки.
Для запуска на Windows:
Для запуска на Linux:
Список необязательных параметров:
filename
– имя файла с настройками (по умолчанию 'settings.yml')
private_key
– путь к приватному ssh-ключу (переопределяет соответствующую опцию настроек)
key_password
– пароль к ssh-ключу, если не указан, система попросит ввести его в консоли
ssh_password
– пароль ssh-пользователя
--debug
– выводит и логирует подробную информацию выполнения
Пример использования:
Для Linux необходимо поместить приватный ssh-ключ в папку с установщиком и указать в конфигурации путь к нему: /installer/priv_key
В процессе установки вся информация записывается в файл process.log
. При возникновении нештатных ситуаций при установке прикрепляйте этот файл к обращению.
Если установка была прервана по нештатной ситуации, то после разрешения проблемы она, как правило, может быть продолжена. Если продолжение невозможно, будьте готовы к сбросу серверов в изначальное состояние. Вы можете определить неисправность самостоятельно, если добавите к команде запуска параметр: --debug
. Вы также можете обратиться к нам для уточнения информации.
Для этого необходимо сначала извлечь private-часть ключа, а затем указать путь к этому файлу в разделе auth -> ssh_private_key
Такая ошибка может происходить в том случае, когда программа docker-compose была установлена самостоятельно для запуска установщика и при этом был выбран путь по умолчанию: /usr/local/bin
Для корректной работы создайте символическую ссылку:
Описание порядка установки биометрического процессора Lite.
Связаться с нами и скачать архив Docker-образа по ссылке, которую мы вам пришлем
Загрузить образ в Dockerdocker load -i <path to image tar file>
Запустить docker run -p {port}:80 ozforensics/oz-api-lite:{tag}
Старт контейнера может занять несколько минут.
Параметры задаются переменными окружения при старте Docker-контейнера.
Допустимы следующие параметры:
NUM_WORKERS – максимальное количество одновременно выполняемых анализов, определяется индивидуально. По умолчанию: 16.
TF_ENABLE_ONEDNN_OPTS – ускорение. По умолчанию: 1, для процессоров AMD необходимо выставить 0.
Взаимодействие с биометрическим процессором реализовано на основе REST API по протоколу HTTPS.
Базовый URL доступа к API: https://{hostname}/v1/face/pattern или https://{hostname}/v1/face/liveness в зависимости от используемого метода (см. примеры).
Где:
{hostname} – имя хоста и порт сервера развернутого биометрического процессора.
Пример: localhost/v1/face/pattern
API поддерживает следующие типы контента запроса (HTTP-заголовок «Content-Type»):
«multipart/form-data»;
«application/octet-stream»;
«image/jpeg» или «image/png»;
В этом разделе собрана информация о том, как управлять процессом работы с продуктами Oz Forensics со стороны клиента.
Внимание: данная статья предназначена только для тех, кто пользуется или планирует пользоваться Oz Web SDK на собственных серверах.
Если вы используете Oz Web SDK по модели SaaS, с вопросами по установке и лицензированию, пожалуйста, обращайтесь к нашим инженерам.
Установить SDK можно двумя способами: либо инженеры Oz Forensics делают все вручную, либо используется . В последнем случае потребуется вовлечение ваших специалистов. При установке Oz Web SDK Web Adapter сгенерирует нужные файлы Web Plugin: такие, как файл со стилями (ozliveness.css
) и основной скрипт плагина (plugin_liveness.php
).
Этот раздел относится в первую очередь к обновлению лицензии, так как при установке Oz Web SDK лицензия также устанавливается, однако в случае надобности вы можете произвести первичную установку лицензии по такому же алгоритму.
Для выпуска лицензии потребуется информация о доменных именах сайтов, где будет использоваться Web SDK. Можно также указывать поддомены.
Чтобы узнать доменный адрес, в режиме разработчика выполните window.origin
на странице, где будет запускаться Web SDK. При использовании Web SDK на localhost / 127.0.0.1 лицензия может работать без информации о доменных именах.
Распакуйте полученный файл.
2. Скопируйте JSON-файл лицензии на хост, где развернут контейнер из образа ozforensics/oz-webliveness-dev:latest
.
Пример
-i ~/ozforensics/keys/id_rsa-test-hostname-vm
– путь к публичному ssh-ключу хоста
0000aaaa-00aa-00aa-00aa-00000aaaaa.WebSDK_your_website.2022-10-11.json
– файл лицензии в формате JSON.
user
– имя пользователя на хосте.
hostname
– псевдоним хоста.
/opt/oz/web-sdk
– каталог на хосте, где развернут контейнер Web SDK.
3. Замените файл лицензии.
Пример
4. Перезапустите контейнер Web SDK.
Пример
web-sdk
– название контейнера, созданного из образа ozforensics/oz-webliveness-dev:latest
.
Проверьте, как установилась лицензия: например, пройдите по доменному имени хоста и выполните действие Liveness -> Simple selfie.
Далее при каждом запуске Web SDK система будет проверять валидность лицензии.
WA_CORS_ORIGINS
– от каких источников принимать запросы. Значение по умолчанию отсутствует. Если переменная не задана, то CORS headers отключены, т.е. внутри контейнера Web SDK никакие cors headers не будут добавлены!
WA_CORS_METHODS
(необязательно) – Методы HTTP, которые могут использоваться. Если значение переменной не задано, она принимает значение по умолчанию: 'GET, POST, OPTIONS'
. Если переменная не указана, можно использовать все методы.
WA_CORS_HEADERS
(необязательно) – Заголовки HTTP, которые могут использоваться. Если значение переменной не задано, она принимает значение по умолчанию: 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'
. Если переменная не указана, можно использовать все заголовки.
Пример настройки CORS headers через переменные окружения:
Некоторые параметры файла конфигурации можно переопределять с помощью переменных окружения. В некоторых случаях это позволяет обойтись без редактирования файла конфигурации, например при использовании WebSDK в режиме Lite.
WA_ARCHITECTURE
– переопределяет параметр architecture
WA_API_URL
– переопределяет параметр api_url
Пример использования переменных окружения при запуске docker-образа Web SDK в режиме Lite.
В этом разделе описано содержимое файла конфигурации /core/app_config.json
.
use_for_liveness
– опция применяется при использовании WebSDK операторами банка для съемки клиентов. Если use_for_liveness
= true
, при съемке лица на мобильных устройствах выбирается тыловая камера, на десктопе отключается флип; отключается обводка овала;
preinit
– параметр включает предварительную загрузку библиотек и инициализацию, уменьшая время использования plugin
. Параметр необязательный, значение по умолчанию off
– загрузка скриптов и инициализация происходит после открытия plugin
и вызова функции OzLiveness.open()
. В таком режиме plugin
не создает нагрузки на сайт (приложение), на котором он установлен, но сам plugin
может открываться долго из-за описанных выше процессов. Значение script
– предварительная загрузка только библиотек плагина. Значение full
– предварительная загрузка библиотек и инициализация процесса определения лица.
architecture
– выбор архитектуры, в которой используется WebSDK. Параметр необязательный, значение по умолчанию normal
.
normal
для включения полной версии Oz API;
lite
для использования ;
capture
– для работы с бэкэндом клиента напрямую. В этом случае возможно распространение Oz Liveness Web Plugin только через статические файлы, без адаптера (работает с версии 0.7.4);
api_url
– адрес сервера Oz API, текстовый параметр;
api_token
– токен для доступа к Oz API, текстовый параметр;
api_use_token
– параметр, определяющий источник получения системой токена для доступа к Oz API. Возможные значения = config
, client
.
Если установлено значение client
, то токен для доступа к Oz API ожидается от JS-плагина;
Если установлено значение config
, то токен берется из параметра api_token
файла /core/app_config.json
.
video_actions_list
– блок используемых в системе тегов файлов видео, текстовый массив. .
photo_actions_list
– блок используемых в системе тегов файлов фотографий, текстовый массив. .
actions_default_importance
– возможность при запуске анализа переопределить массив действий из WEB-плагина. Возможные значения = true
, false
;
Если установлено true
, то адаптер будет использовать массив действий из конфигурационного файла.
Если установлено false
, то адаптер будет использовать массив действий, переданный из браузера методом open(options)
.
actions_default
– массив действий. Доступные параметры:
video_count
– количество передаваемых видеофайлов, числовой параметр;
photo_front
– наличие фронтальной страницы документа. Возможные значения = true
, false
;
photo_back
– наличие оборотной страницы документа. Возможные значения = true
, false
.
analyses
– блок настройки запуска анализов. Доступные параметры:
quality
– запуск анализа Oz Liveness. Возможные значения = true
, false
;
biometry
– запуск анализа Oz Biometry. Возможные значения = true
, false
;
documents
– запуск анализа Oz Text. Возможные значения = true
, false
;
collection_ids
(с версии 1.4.0) – массив идентификаторов коллекций для анализа по черному списку.
extract_best_shot
– параметр, определяющий необходимость добавления в результат анализа прямой ссылки на лучший кадр, извлеченный из видео. Возможные значения = true
, false.
Если установлено true
, в ответе в output_images
(results_media
) будет ссылка на извлеченное изображение;
result_mode
– параметр, определяющий содержание ответа сервера с результатами проверки. Возможные значения:
safe
– возвращается только состояние анализов (завершены или еще нет);
status
– возвращаются результаты выполнения анализов;
folder
– то же самое, что status
, но дополнительно возвращается folder_id
;
full
– возвращается полный ответ Oz API по анализам в формате JSON.
result_codes
– блок кодов ответа с комментариями.
delete_old_sessions
– если установлено true
, старые сессии удаляются.
delete_old_sessions_offset_minutes
– если установлено, старые сессии удаляются с соответствующим смещением в минутах.
video_required_actions_list
– массив обязательных действий, которые снимающему нужно воспроизвести. См. .
save_lossless_frame
– если true
, исходный кадр сохраняется без сжатия.
debug
(с версии 1.1.0) – при значении true
дает возможность открыть страницу /debug.php, на которой размещена информация о текущих конфигурации и лицензии.
load_3d_mask
(с версии 1.3.1) – если установлено true
, загружает модели для обработки видео, снятого с помощью 3D-маски. Значение по умолчанию – false
; в этом случае модель не подгружается, и 3D-маску использовать нельзя (параметр enable_3d_mask
игнорируется).
enable_3d_mask
(с версии 1.3.1) – включает использование 3D-маски при съемке вместо овала. Параметр работает только в случае load_3d_mask
= true
; значение по умолчанию – false
.
master_license_signature
(с версии 1.3.1) – подпись мастер-лицензии; по умолчанию null
.
results_polling_interval
(с версии 1.4.0) – интервал опроса для получения результатов анализов, мс; значение по умолчанию — 1000.
get_user_media_timeout
(с версии 1.5.0) – определяет время, по истечении которого отобразится подсказка о том, как получить доступ к камере, если к тому моменту доступ не был получен; default_default
для всех браузеров и android_facebook
для Facebook браузеров.
disable_adapter_errors_on_screen
(с версии 1.5.0) – выключает отображение ошибок API в модальных окнах, оставляя возможность их просмотра только в коллбэке on_error
. Значение по умолчанию – False
.
Внимание: данная статья предназначена только для тех, кто пользуется или планирует пользоваться Oz Web SDK на собственных серверах.
Если вы используете Oz Web SDK по модели SaaS, пожалуйста, обращайтесь к нашим инженерам.
Настройка Oz Liveness WEB Adapter производится путем изменения конфигурационного файла, расположенного на сервере Oz Liveness WEB Adapter по пути /core/app_config.json
Для Angular и React нужно заменить https://web-sdk.sandbox.ozforensics.com
в index.html.
video_file_format
– выбор формата видео, которое отправляется на api
. Возможные значения – zip
(рекомендуется), mov
(менее безопасный вариант). Чтобы получить видео в MP4, воспользуйтесь инструкцией .
Образец кода Oz Liveness Web SDK находится . Чтобы все работало корректно, нужно заменить <web-adapter-url>
на полученную от нас ссылку на Web Adapter.
Образец кода для
Образец кода для
Коды ответов
Описание
200 OK
Вызов метода завершился успешно. Ответ биометрического процессора включен в HTTP BODY.
400 Bad Request
Вызов метода завершился с ошибкой на стороне Клиента. Код ошибки включен в HTTP BODY.
500 Internal Server Error
Вызов метода завершился с ошибкой на стороне биометрического процессора. Код ошибки включен в HTTP BODY.
Ошибка | Описание |
License error. License at <> not found | Файл лицензии не найден |
License error. Cannot parse license from <>, invalid format | Невозможно прочитать лицензию (файл содержит ошибки) |
License error. Current date is later than license expiration date | Срок действия лицензии истек, необходимо обновление |
License error. Origin is not in the list permitted by license | Адрес домена или субдомена не найден в списке адресов, указанных в лицензии |
В зависимости от типа инсталляции (через установщик или с помощью наших инженеров) настройки могут храниться в:
/opt/gateway/configs
на хосте или внутри Docker-контейнера oz-api
/var/lib/docker/volumes/api_oz-api-config-vol/_data
в случае стационарного установщика.
Основной файл настроек – config.py
Все входящие медиафайлы сохраняются в локальную папку, примонтированную к одному из мест в зависимости от установки:
/opt/gateway/static
на хосте или в Docker-контейнере
/var/lib/docker/volumes/api_oz-api-static-vol/_data
- в случае стационарного установщика
любой указанный заранее путь
При большинстве сценариев интеграции медиафайлы доступны из внешней сети по прямым ссылкам с указанием случайно сгенерированных имён файлов.
Для корректной работы API внешнее имя хоста, порт и схема должны быть записаны в конфигурационный файл.