Системные требования#

Требования к окружению для компонента продукта

Настройки безопасности окружения и перечень платформенных (дополнительных внешних) продуктов, используемых для установки, настройки и контроля в конечной информационной системе, выбираются при разработке конечной ИС, исходя из характера обрабатываемой в ней информации и иных требований информационной безопасности, предъявляемых к ней.

Системное программное обеспечение#

Для функционирования IDMX необходима установка следующего программного обеспечения сторонних правообладателей.

Категория ПО

Обязательность установки*

Наименование ПО

Версия

Продукт, функциональная совместимость с которым подтверждена **

Назначение категории ПО

Операционная система

Да

ОС Alt 8 СП

10

Рекомендовано. Правообладателем АО «СберТех» также рекомендована ОС – Platform V SberLinux OS Core, смотрите раздел Платформенные зависимости

ОС контейнеров для запуска модулей компонента

Red Hat Enterprise Linux

8.8.1

Опционально

ОС контейнеров для запуска модулей компонента

Операционная система

Microsoft Windows 10

21H2

Опционально

Опциональная ОС, которая может быть использована для запуска IDMX Connector Server на внешних узлах и контурах

Среда оркестрации контейнеризированных приложений

Да

Kubernetes

1.28.X

Рекомендовано. Правообладателем АО «СберТех» также рекомендована среда контейнеризации – Platform V DropApp, смотрите раздел Платформенные зависимости

Платформа контейнеризации для запуска компонентов сервиса

Red Hat OpenShift

4.8.25

Опционально

Платформа контейнеризации для запуска компонентов сервиса

Средство контейнеризации

Да

Docker CE

20.10.0

Рекомендовано

Инструмент для автоматизации работы с контейнерами

Java-машина

Да

OpenJDK

11.X

Рекомендовано

Окружение для работы модулей компонента

Утилита распаковки

Да

Unzip

6.X

Рекомендовано

Распаковщик zip-архивов для Linux, используется при сборке образов IDMX

Система управления базами данных (СУБД)

Да

PostgreSQL

13.X

Рекомендовано. Правообладателем АО «СберТех» также рекомендована СУБД, основанная на PostgreSQL, – Platform V Pangolin SE, см. раздел «Платформенные зависимости»

ПО, взаимодействующее с конечными пользователями, приложениями и базой данных для сбора и анализа данных

Сервер приложений

Да

Nginx

1.24.0

Рекомендовано

СПО для тестирования, отладки и исполнения веб-приложений и балансировки внешних и внутренних запросов между сервисами

Браузер

Да

Яндекс

21.2.X

Рекомендовано

Браузер для входа в UI

Google Chrome

80.0.3987

Опционально

Браузер для входа в UI

Сервис централизованного хранения репозиториев артефактов (хранилище артефактов)

Да

Nexus-Public

2.5.1

Рекомендовано

Интегрированная платформа для проксирования, хранения и управления зависимостями Java (Maven), образами, а также распространения ПО

Nexus Repository Manager PRO

3.37.0-01

Опционально

Сервис централизованного хранения репозиториев исходного кода

Да

GitLab Community Edition

15.0

Рекомендовано

Хранение конфигураций при автоматизированной установке

Bitbucket

7.6

Опционально

Сервис интеграции и оркестрации микросервисов в облаке

Нет

Istio

1.19

Рекомендовано. Правообладателем АО «СберТех» также рекомендован сервис интеграции и оркестрации микросервисов в облаке, основанный на Istio, – Platform V Synapse Service Mesh, см. раздел Платформенные зависимости

Сервис интеграции микросервисов в облаке

Система мониторинга (сбор и хранение метрик)

Нет

Prometheus

2.48.X

Рекомендовано. Правообладателем АО «СберТех» также рекомендован Сервис для сбора прикладных и инфраструктурных метрик и отправки их в целевую систему хранения – Объединенный мониторинг Unimon Platform V Monitor, см. раздел Платформенные зависимости

Система для сбора и хранения численных метрик

Система мониторинга (визуализация)

Нет

Grafana

10.2.X

Рекомендовано

Система для визуализации численных метрик (предоставленных, например, Prometheus)

Система хранения секретов

Нет

Hashicorp Vault

1.15.x

Опционально. Альтернативно можно испольховать возможность создания Kubernetes Secrets вручную средствами системы оркестрации контейниризированных приложений

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

Нет

Secret Management System (SecMan)

1.0 и выше

Опционально.

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

Примечание:

*

  • Да — категория ПО обязательна для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данной категории ПО).

  • Нет — категория ПО необязательна для функционирования сервиса (это означает, что сервис может выполнять свои основные функции без установки данной категории ПО).

**

  • Рекомендовано — рекомендованный правообладателем АО «СберТех» продукт.

  • Опционально — альтернативный по отношению к рекомендованному правообладателем АО «СберТех» продукт.

Платформенные зависимости#

Для настройки, контроля и функционирования компонента реализована интеграция с программными продуктами, правообладателем которых является АО «СберТех»:

Наименование продукта

Код

Версия продукта

Код и наименование компонента

Обязательность установки***

Описание

Аналог других производителей****

Platform V SberLinux OS Server

SLO

8.8.1 и выше

INST / Операционная система

Нет

ОС контейнеров для запуска модулей компонента (только базовые образы)

ОС Альт 8 СП, Red Hat Enterprise Linux

Platform V Audit SE

AUD

2.3 и выше

AUDT / Аудит

Нет

Сервис для аудирования событий

Сервис успешно прошел испытания и подтвердил свою работоспособность с компонентом AUDT. С аналогами других производителей не тестировался

Platform V IAM SE

IAM

1.5.0 и выше

AUTH / IAM Proxy

Нет

Сервис выполняет функции аутентификации/авторизации запросов и реализует Policy Enforcement Point (PEP). Взаимодействует с KCSE/AUTZ или другими провайдерами аутентификации/авторизации

Любой OIDC провайдер

Platform V Monitor

OPM

5.1.1

LOGA / Журналирование

Нет

Сервис для хранения лог-файлов

Любой сервис сбора записей о событиях, совместимый с fluent-bit, например: Elasticsearch, InfluxDB

Platform V Monitor

OPM

5.1.1

MONA / Объединенный мониторинг Unimon

Нет

Сервис для сбора прикладных и инфраструктурных метрик и отправки их в целевую систему хранения

Prometheus 2.31

Platform V Pangolin SE

PSQ

5.4.X

PSQL / Platform V Pangolin

Да

Система управления базами данных, основанная на PostgreSQL

PostgreSQL 13

Platform V DevOps Tools

DOT

1.5.0 и выше

CDJE / Deploy tools

Да

Сервис для развертывания и обновления компонентов Платформы и приложений потребителей, для настройки и обслуживания инфраструктуры Платформы

С аналогами других производителей не тестировался

Platform V Synapse Service Mesh

SSM

3.9.1 и выше

IGEG / Граничный прокси

Нет

Сервис для обеспечения управляемого вызова интеграционных сервисов прикладной части

Istio Proxy 1.12

Platform V Synapse Service Mesh

SSM

3.9.1 и выше

SVPX / Сервисный прокси

Нет

Сервис представляет собой подконтейнер (sidecar) контейнера с продуктом, обеспечивающий взаимодействие с Platform V Synapse Service Mesh

Istio Envoy Proxy 1.12

Platform V SOWA

SWA

2.6.0

SOWA / Шлюз безопасности SOWA

Нет

Инструмент для эшелонированной защиты периметра от прикладных угроз при подключении клиентов к сервисам организации

Platform V DropApp

K8S

1.2 и выше

K8SC / K8S Core

Нет

Дистрибутив Kubernetes со встроенными механизмами мультитенантности и бессерверным исполнением

Kubernetes, OpenShift

Platform V SynGX

SNX

2.0.0

SNGX / Веб-сервер и обратный прокси-сервер SynGX

Нет

Веб-сервер и обратный прокси-сервер, почтовый прокси-сервер и общий прокси-сервер TCP / UPD, работающий на Unix-подобных операционных системах

Nginx

Примечание:

***

  • Да — компонент или продукт необходим для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данного компонента).

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

**** — Рекомендуется установка программного продукта, правообладателем которого является АО «СберТех», при этом не исключена возможность (допускается правообладателем) использования аналога других производителей. Аналоги, в отношении которых продукт успешно прошел испытания и подтвердил свою работоспособность, указаны в разделе «Системное программное обеспечение».

Аппаратные требования#

Для компонента продукта требуется следующая минимальная конфигурация аппаратного обеспечения.

Компоненты с префиксом idmx разворачиваются в едином пространстве имен (namespace). Компонент idmx-engine хранит данные в БД.

Компонент

Назначение

Среда развертывания

Количество разворачиваемых экземпляров

idmx-ui

Frontend

Среда оркестрации контейнеризированных приложений

1 Deployment, 1 Pod

idmx-engine

Backend

Среда оркестрации контейнеризированных приложений

1 StatefulSet, 1 Pod

idmx-connector-server

Backend

Среда оркестрации контейнеризированных приложений

1 Deployment, 1 Pod

DB IDMX

БД

ОС (согласно системным требованиям СУБД)

1

  • Требования для контейнеров компонентов IDMX

    Для поддержания стабильной работоспособности IDM необходимо обеспечить следующую квоту ресурсов:

    Минимальная конфигурация

    Количество ядер процессора (шт.)

    3

    Оперативная память (ГБ)

    6

    Дисковое пространство (ГБ)

    2

    Обратите внимание, данные квоты ресурсов указаны для компонентов IDMX (idmx-engine, idmx-ui, idmx-connector-server) с учетом sidecar интеграций с компонентом LOGA Platform V Monitor, с продуктом Platform V Synapse Service Mesh (Istio) и системой хранения секретов Secret Management System. В случае использования дополнительных интеграций, выделяемую квоту ресурсов для компонентов и пространства имен следует увеличить согласно требованиям, указанным в документации на используемые интеграции.

    В приведенной выше таблице размеров приведены значения для одного контейнера (узла) IDM. Как правило, количество активных узлов определяется исходя из предполагаемого объема потока операций и требований к отказоустойчивости системы (резервным узлам). В таком случае, для пространства имен IDM потребуется выделить количество ресурсов, достаточное для всех развертываемых узлов.

    Приблизительное количество требуемых узлов IDM можно рассчитать по следующей формуле:

    2^n=5*1,7^n

    , где:

    • n - степень в которую надо возвести 2, чтобы получить итоговое число узлов;

    • 5 - пропускная способность одного узла, в операциях в секунду.

    Например, посчитаем примерную пропускную способность для 2 серверов.

    Для того, чтобы получить 2, необходимо возвести 2 в 1 степень. Подставим значение в формулу:

    2^1 = 5 * 1,7^1

    2=5 * 1,7 = 8,5

    Таким образом, для двух узлов пропускная способность при квоте ресурсов из таблицы выше равна ~8,5 операциям в секунду.

    Приведенные в таблице значения применимы лишь к минимальной конфигурации IDM. В зависимости от требований заказчика к сложности конфигурации и количеству операций в секунду может потребоваться увеличить квоту выделяемых на один контейнер ресурсов. Однако универсального правила определения размеров такой системы не существует. В этом случае требуется индивидуальный анализ и измерения. Однако цифры, приведенные в таблице выше, можно использовать в качестве отправной точки.

  • Требования базы данных IDMX

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

    Минимальная конфигурация

    Количество ядер процессора (шт.)

    4

    Оперативная память (ГБ)

    8

    Дисковое пространство (ГБ)

    200, также смотрите ниже

    Обратите внимание, рост требуемого дискового пространства для БД обусловлен следующими причинами:

    • При линейном росте количества пользователей объем данных по каждому из них занимает больше дискового пространства, чем 1 к 1. Так, например, для одного пользователя кроме учетной карточки создается от одной до нескольких (в зависимости от требований бизнеса) учетных записей. Также для пользователя может создаваться более одной учетной карточки, что влечет за собой дополнительные траты дискового пространства.

    • Вне зависимости от требований бизнеса к количеству учетных карточек и записей у пользователей, удвоение количества пользователей приведет к кратному увеличению количества действий в системе, из чего следует увеличение количества записей аудита, записываемых IDM в эту же системную БД.

    При этом необходимо понимать, что нагрузка на СУБД наиболее чувствительна к размеру и характеру данных, а также к шаблонам использования, а также к типу и конфигурации используемой системы баз данных. Для точной оценки необходимо проводить расчеты под конкретные требования к системе.

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

    Размер БД = (количество пользователей * (количество ролей * вес одной роли))+вес БД без пользователей

    , где:

    • вес одного пользователя = 14823,720 Байт

    • вес одной роли = 11607,741 Байт

    • размер БД, в которой присутствует только базовая конфигурация, до созданя пользователей = 21939181 Байт

    Данная формула позволяет получить лишь приблизительнй размер требуемой базы данных (но не дисковое пространство, которое потребуется выделить под нее). Она не учитывает операции UPDATE/DELETE, так как размер БД с учетом этих операций сложно предсказать из-за специфики работы внутренних механизмов БД (работа вакуума, MVCC, и так далее).

  • Требования БД для раздельного хранения данных аудита

    В случае, если для экземпляра IDMX требуется выделить хренение данных аудита IDMX в отдельную БД, для этой БД потребуются следующие квоты ресурсов:

    Минимальная конфигурация

    Количество ядер процессора (шт.)

    4

    Оперативная память (ГБ)

    8

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

    V = A * T * V1

    , где:

    • V — размер БД, в байтах;

    • A — интенсивность потока операций, в операциях в день;

    • T — время хранения записей аудита, в днях;

    • V1 — размер одной операции, в байтах.

    Для приблизительного прогнозирования требуемых квот дискового пространства для аудита потребуется провести нагрузочное тестирование конкретного экземпляра IDMX, так как на количество записей аудита и их размер сильно влияет количество управляемх систем, сложность интеграционных взаимодействий и расчетов при интеграции с управляемыми системами, а также количество атрибутов в объектах.

    Например, расчитаем примерный размер БД аудита для следующего стенда:

    Характеристика

    Значение

    Пользователей в IDM (после создания)

    300

    - атрибутов в пользователе

    12

    - extended атрибутов в пользователе

    2

    - назначений у пользователя

    5

    - родительских организаций у пользователя

    1

    Всего управляемых ресурсов

    6

    Кол-во УЗ у каждого пользователя (после создания)

    3

    Атрибутов в УЗ

    9

    DB Page size

    8 kB

    На данном стенде были проведены следующие действия, с измерением размера в МБ и количества строк в таблицах ma_audit_event и ma_audit_delta:

    1. Создание 300 пользователей с provisioning-ом.

    2. Блокировка 300 пользователей.

    3. Разблокировка 300 пользователей.

    4. Сброс пароля для 300 пользователей.

    5. Назначение роли с созданием УЗ для 300 пользователей.

    6. Назначение роли с модификацией УЗ для 300 пользователей.

    7. Отзыв роли с модификацией УЗ для 300 пользователей.

    8. Отзыв роли с блокировкой УЗ для 300 пользователей.

    После выполнения всех действий сценария и проведения расчетов, был получен размер одной операции V1 = 14735,36 Байт. Исходя из этого, для хранения записей аудита в течение 3 месяцев при интенсивноти в 100 операций в день, потребуется следующий размер отдельной БД для хранения записей аудита:

    V = 100 операций/день * 90 дней * 14735,36 Байт/операция = 132618240 Байт, что приблизительно равно 127 ГБ.

    Следует учитывать, что это только объем данных записей аудита, без учета требований специфики работы внутренних механизмов БД (работа вакуума, MVCC, и так далее).

Состав дистрибутива#

Элемент дистрибутива

Описание

./bh/idmx-connector-server.zip

Сервис, содержащий коннекторы и позволяющий IDMX проксировать через себя запросы к ресурсам, расположенным на других узлах или контурах

./bh/idmx-engine.zip

Ядро IDMX, предоставляющее основные функциональности продукта

./bh/idmx-ui.zip

Сервис, предоставляющий пользовательский интерфейс для взаимодействия с IDMX

./bh/idmx-bin-dbinit-*-distrib.zip

Конфигурационные скрипты для подготовки системной БД IDMX перед установкой IDMX

./db/idmx-db-liquibase.zip

Liquibase скрипты для подготовки системной БД IDMX перед установкой IDMX через Platform V DevOps Tools

./conf/

Директория с конфигурационными файлами для установки IDMX при помощи Platform V DevOps Tools

./conf/config/parameters/

Директория содержащая конфигурационные файлы *.conf для создания секретов IDMX при помощи Platform V DevOps Tools

./conf/k8s/base/secrets/

Директория с предзаполненными шаблонизированными конфигурационными файлами для разворачивания секретов IDMX в среде оркестрации контейнеризированных приложений через Platform V DevOps Tools

./conf/helm/application/idmx/

Директория с предзаполненными шаблонизированными конфигурационными файлами Helm Charts для разворачивания IDMX в среде оркестрации контейнеризированных приложений

./docker/

Директория содержащая Dockerfile для создания образов модулей IDMX

Пререквизиты#

При настройке среды окружения IDMX все системное ПО следует устанавливать согласно документации на это ПО. IDMX не накладывает каких-либо дополнительных требований к настройке среды окружения.

Механизмы безопасности среды функционирования настраиваются согласно документации на эти продукты, и исходя из требований департамента информационной безопасности.