Инструкция по развертыванию ЕСИА Смарт
Здесь описаны требования, предъявляемые платформой ЕСИА Смарт к IT-инфраструктуре, в которую планируется интеграция. Поскольку платформа представляет собой комплексное и конфигурируемое решение, то данные требования носят консультационный характер и могут меняться в зависимости от конкретной выбранной схемы размещения или иных условий.
Системные требования
Рекомендуемое ПО:
- docker - не ниже 20.10.16 (рекомендуемое 24.0.2 (compose встроен));
- docker-compose (отдельный) - не ниже 1.29.2 (рекомендуемое 2.19.0);
- ОС - Linux
Дополнительные требования:
Для корректной работы приложению необходимо наличие лицензионного кода на ПО КриптоПро CSP 5.0
Достаточно приобрести лицензию для КриптоПро CSP 5.0 на одно рабочее место - бессрочная
Поскольку требования к аппаратной части сильно зависят от планируемой загрузки (и выбранной схемы размещения), то тут будут приведены минимальные характеристики.
Минимальные требования к аппаратной части:
- 2CPU
- 2GB Memory
- 50GB Disk
Технические особенности
Программное обеспечение ЕСИА Смарт поставляется в виде архива со скриптами. Запуск происходит через docker-compose.
docker-compose - средство для определения и запуска приложений Docker с несколькими контейнерами. При работе с ним используется формат YAML для настройки служб приложения.
Безопасность
Требования к безопасности в существенной степени определяются окружением клиента и принятыми внутренними регламентами, уставными документами и иными нормативными и законодательными актами.
Хранение данных
ЕСИА Смарт
не хранит данные локально и представляет собой read-only
контейнер.
Схема взаимодействия между сервисами
Конфигурация
Конфигурирование хост-машины
Для запуска ЕСИА Смарт можно использовать современную ОС семейства Linux. Тем не менее есть примерные требования, которые гарантируют стабильную работу и простоту запуска, поскольку они используются при разработке и тестировании платформы. Такие требования являются следующими:
- ОС: Debian 9.5 (x86-64) или выше, Ubuntu 18.04 (x86-64) или выше;
- наличие на машине доступа к harbor.rnds.pro, hub.docker.com по протоколу HTTPS на порт 443 для скачивания Docker образов сервисов;
- доменное имя, по которому будет доступен
ЕСИА Смарт
;
Конфигурирование сервиса
Конфигурирование сервиса выполняется путем редактирования .env файла (описание переменных см. Приложение А)
По умолчанию вместе с ЕСИА Смарт запускается балансировщик Nginx. По необходимости можно заменить его другим балансировщиком.
Важно Балансировщик Nginx поставляемый в коробочном решении не может применяться в боевом режиме. Весь риск и последствия использования тестового балансировщика лежит на заказчике.
Запуск приложения осуществляется этой командой:
docker-compose up -d
Приложение будет доступно по указанному домену в .env файле
ПРИЛОЖЕНИЕ А. Описание переменных окружения
Название | Описание | Пример значения |
---|---|---|
DEBUG_APP | Отладочный режим приложения, в котором он не отправляет информацию на CIS_DATA_URI, а просто показывает ее в браузере | true |
CIS_REDIRECT_URI | Урл возврата после успешной или неудачной авторизации | https://Домен_КИС/callback |
CIS_DATA_URI | Урл для отправки данных | https://Домен_КИС/callback |
ESIA_REDIRECT_URI | Урл возврата после авторизации в ЕСИА | https://Домен_ЕСИА_Смарт/auth/esia_oauth/callback |
ESIA_LOGOUT_REDIRECT_URI | Урл возврата после логаута из ЕСИА | https://Домен_ЕСИА_Смарт/auth/esia_oauth/logout |
SCOPE | Список скоупов | openid fullname mobile email addresses id_doc |
CERT_PATH | Путь к файлу сертификата КИС. Необходимо при CRYPTO_PROVIDER=openssl | certs/cert.crt |
PKEY_PATH | Путь к файлу ключа КИС. Необходимо при CRYPTO_PROVIDER=openssl | certs/secret.key |
ESIA_CERT_PATH | Путь к файлу сертификата ЕСИА. Необходимо при CRYPTO_PROVIDER=openssl | certs/esia-test.crt |
INFO | Подробные логи | true |
DEBUG | Максимально подробные логи | true |
TEST | Тестовый контур есиа | true |
SKIP_INFO | Пропускаем запрос ПД у ЕСИА | false |
CRYPTO_PROVIDER | Крипто провайдер. Доступные значения (signer, openssl) | signer |
SIGNER_HOST | Хост по которому доступен крипто провайдер. Необходимо при CRYPTO_PROVIDER=signer | http://127.0.0.1:8505 |
SIGNER_ESIA_CERT | Алиас сертификата ЕСИА для проверки подписи ответа. Необходимо при CRYPTO_PROVIDER=signer | esia_gost_2012_test |
SIGNER_USER | Basic auth логин. Необходимо при CRYPTO_PROVIDER=signer | admin |
SIGNER_PASSWORD | Basic auth пароль. Необходимо при CRYPTO_PROVIDER=signer | 123456 |
SIGNER_CERT | Алиас используемого сертификата. Необходимо при CRYPTO_PROVIDER=signer | Smev3 |
SSL_CERT_DIR | Путь до корневых сертификатов в системе. Необходимо при CRYPTO_PROVIDER=signer | /usr/lib/ssl/certs |
CLIENT_ID | Путь до корневых сертификатов в системе. Необходимо при CRYPTO_PROVIDER=signer | RNDS |