Что спросит технический согласователь — и что мы отвечаем, с версиями
Согласование прикладной системы срывается не на функциях, а на вопросах
«где это будет стоять», «куда оно ходит наружу» и «кто управляет доступом». Ниже —
ответы списком: варианты развёртывания, границы модулей, стек с версиями, интеграции
и перечень параметров, которые настраиваются под вашу организацию.
Развёртывание: в вашем контуре, без обращений наружу
Это первый вопрос службы информационной безопасности, поэтому ответ — здесь,
а не в конце страницы.
На площадке организации
Серверное приложение разворачивается в инфраструктуре организации — в собственном
центре обработки данных или в её частном облаке. Для работы продукту не нужны
обращения к внешним, не принадлежащим организации сервисам: аутентификация,
хранилище секретов, файловое хранилище и почтовый шлюз — это ваши системы,
подключаемые по адресам, которые задаёте вы.
Данные не покидают контур организации
Интеграции настраиваются параметрами, а не пересборкой
Секреты хранятся во внешнем хранилище секретов, а не в файлах приложения
Что не входит в поставку
Облачного сервиса по подписке: мультиарендности в продукте нет, разделение
по юридическим лицам — это функция предметной области, а не изоляция арендаторов
Мобильного приложения и публичного программного интерфейса для внешних
потребителей данных
Готовых сборочных образов и манифестов оркестратора в поставке — состав
поставки и способ развёртывания фиксируются на пилоте
Границы модулей: понятно, что чем занимается
Продукт собран из модулей с раздельной ответственностью. Практическая польза от этого
одна: интеграция, которая вам не нужна, просто не включается, а отказ внешней системы
не превращается в отказ всего приложения. Наведите курсор на название модуля — или
доберитесь до него клавишей Tab — чтобы увидеть, за что он отвечает.
Схема листается вбок — она шире экрана.
Границы модулей. Каждый модуль интеграции включается
отдельным параметром и имеет режим-заглушку — для стенда, где внешней системы ещё нет.
Модули и зона ответственности
Модуль
За что отвечает
Веб-слой
то, что видит пользователь: реестры, карточки, дашборды, выгрузки
Доменное ядро
правила предметной области: этапы, обязательные поля, расчёты, сроки
Безопасность
вход в систему и модель прав
Почтовый шлюз
доставка уведомлений по электронной почте
Файловое хранилище
хранение вложений и файлов отчётов вне базы данных
Система процессов
связь риска с бизнес-процессом и его владельцем
Технологический стек
Версии названы там, где они зафиксированы в продукте.
Состав технологического стека
Слой
Что используется
Язык и платформа
Java
Каркас приложения
Spring Boot
Пользовательский интерфейс
Веб-интерфейс на Java-Framework
Веб-контейнер
встроенный Tomcat; поставка в формате war
База данных
PostgreSQL
Миграции схемы
Liquibase
Сборка
Gradle
Аутентификация
Keycloak как провайдер OpenID Connect
Секреты
внешнее хранилище секретов
Файлы
внешнее объектное файловое хранилище
Отчёты
формирование xlsx и docx по файлам-шаблонам
Наблюдаемость
служебные точки состояния и метрик, метрики в формате Prometheus
Контроль качества сборки
статические анализаторы кода в конвейере сборки
Безопасность и управление доступом
Продукт не заводит собственного каталога пользователей и собственного хранилища
паролей. Вход и права остаются в ваших системах — это и есть ответ на вопрос
«как мы будем отзывать доступ при увольнении».
Вход через OpenID ConnectKeycloak как провайдер; токен проверяется по набору ключей провайдера
Права — из внешнего модуля безопасностиразрешения и идентификатор сотрудника приходят по REST
Секреты — в хранилище секретовпараметры подключения не лежат в файлах приложения
Журналирование событий безопасностиотдельный журнал событий входа и отказов в доступе
Таймаут сессии60 минут бездействия
Экран отказа в доступеотдельная страница вместо пустого раздела без объяснений
Глубина ролевой модели описана отдельно: 12 типов объектов защиты, 5 действий,
27 именованных действий пользователя, права до вкладки карточки и сборка меню
из выданных прав — страница о правах доступа.
Для внешнего проверяющего и внешнего пользователя предусмотрены отдельные реестры
«только чтение», а не учётная запись с исключениями.
В продукте есть второй режим аутентификации — по файлу пользователей.
Он предназначен для разработки и на продуктивном контуре не используется;
рабочий режим — OpenID Connect. Говорим об этом прямо, чтобы вопрос не всплыл
на аудите.
Интеграции: каждая включается отдельно
У каждой внешней связи есть параметр включения и режим-заглушка. На стенде, где
почтового шлюза или файлового хранилища ещё нет, продукт запускается и работает —
интеграция просто выключена.
Интеграции продукта
С чем
Направление
Что даёт
Провайдер OpenID Connect
входящая аутентификация
единый вход, отзыв доступа — в вашем каталоге
Внешний модуль безопасности
исходящая, REST
разрешения пользователя и его идентификатор сотрудника
Почтовый шлюз
исходящая, REST
доставка уведомлений, вложения, пакетная отправка
Объектное файловое хранилище
исходящая, REST
вложения и файлы отчётов вне базы; ограничение файла — 700 МБ
Внешняя система управления процессами
исходящая, REST и загрузка по расписанию
процесс и владелец процесса в карточке риска и в выгрузке
Справочная информация организации
входящая, на уровне базы данных
сотрудники, подразделения, должности, юридические лица, клиенты и договоры
Хранилище секретов
исходящая, конфигурация
параметры подключения и учётные данные вне файлов приложения
Система сбора метрик
исходящая, мониторинг
состояние приложения и метрики в привычном для вас формате
Данные, справочная информация и импорт
Схема базы данных версионируется миграциями: обновление продукта не превращается
в ручные скрипты на продуктивной базе.
Четырнадцать справочников нормативно-справочной информации не ведутся в продукте:
они приходят из внешних учётных систем материализованными представлениями и
обновляются фоновой задачей. Обновления пишутся в отдельный журнал.
Массовая загрузка данных о манипулировании и запросах и предписаниях идёт через
промежуточную схему загрузки с проверкой ограничений: обязательность значения,
формат даты, число, строка, ссылочная целостность. Строки с предупреждениями
и ошибками подсвечиваются до того, как попадут в рабочие реестры.
Источники загрузки — файлы CSV и Excel, а также база данных.
Наблюдаемость и фоновые задачи
Служебные точки состояния и метрик включены; метрики отдаются в формате Prometheus.
Планировщик включается целиком одним параметром, каждая задача — отдельным
признаком. Расписания хранятся в базе и правятся в интерфейсе, без пересборки.
Параллельный запуск одной задачи на нескольких узлах кластера блокируется;
ошибка внутри задачи не останавливает планировщик.
Запуски пишутся в журналы со статусами: не запущен, исполняется, завершено,
завершено с ошибками, ошибка, отменено. В интерфейсе доступны журнал почтовых
уведомлений, журнал загрузки процессов и журнал обновления справочной информации.
Совместимость и параметры площадки
База данных — PostgreSQL
Продукт работает с PostgreSQL: драйвер и миграции схемы сделаны под неё,
схема разворачивается и обновляется миграциями Liquibase.
Перечень поддерживаемых операционных систем и браузеров, требования
к ресурсам, сроки внедрения, параметры сопровождения и модель лицензирования
фиксируются в коммерческом предложении под вашу площадку — по объёму данных,
числу пользователей и нагрузочному профилю.
Российская разработка, работа в вашем контуре
Разработчик — российская компания ООО «Ланселот-ИТ». Продукт разворачивается
в инфраструктуре организации и для работы не обращается к внешним, не принадлежащим
ей сервисам.
Что настраивается под вашу организацию
Продукт подстраивается под ваши регламенты настройкой, а не правкой кода.
Ниже — параметры, которые задаются на внедрении, и то, подо что они настраиваются.
Параметры, настраиваемые под организацию
Параметр
Под что настраивается
Расписания фоновых задач
регламент напоминаний вашей организации; хранятся в базе и правятся в интерфейсе
Состав ролей и матрица прав
структура подразделений и требования вашего процесса управления доступом
Перечень справочников НСИ и источники их загрузки
какие учётные системы у вас являются мастер-системами
Структура шаблонов отчётов
часть отчётов собирается по файлам-шаблонам вашей организации
Производственный календарь
заполняется на год: от него зависят все сроки в рабочих днях
Требования к ресурсам и режим сопровождения
объём данных, число пользователей, нагрузочный профиль
Способ развёртывания и состав поставки
принятые у вас правила размещения приложений
Документация
Публично мы выкладываем обзорные материалы: описание функционального контура,
перечень реестров и справочников, модель прав. Техническая документация —
руководство по развёртыванию, описание модели данных, описание программных интерфейсов
интеграции, регламент администрирования безопасности — передаётся по запросу
под соглашение о неразглашении. Публиковать её в открытом доступе означало бы
выкладывать карту системы, которая стоит в контуре заказчика.
Готовы пройтись по списку требований вашей службы информационной безопасности
и отдельно показать интеграции: вход, права, почта, файлы, справочная информация.