Установка через Installer#

Установка дистрибутива производится автоматизированным способом через компонент Deploy tools (CDJE) продукта Platform V DevOps Tools (DOT).

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

Перед установкой IDM необходимо установить все обязательные и выбранные опциональные зависимости из списка ПО в разделе Системные требования. Установка и настройка ПО производится согласно документации на эти продукты.

Поддерживаемой системой приложений-контейнеров является Kubernetes (использование OpenShift – опционально), в инструкциях по настройке в именах переменных и параметрах системы могут встречаться названия систем контейнеризации, которые одинаковы и применимы для обоих сред контейнеризации.

Сборка образов IDM#

Перед установкой необходимо собрать Docker-образы всех модулей IDM и поместить их в Registry. Сборка образов производится из компонентов дистрибутива IDM при помощи инструментов продукта Platform V DevOps Tools (рекомендовано) либо инструментами Docker (опционально) согласно стандартной инструкции использования этих инструментов.

Убедитесь, что базовый образ, на основе которого собираются Docker-образы IDM, содержит все нужное системное ПО:

  • ОС (рекомендуется ОС Альт 8 СП);

  • Java-машина (рекомендуется OpenJDK);

  • Утилита для распаковки zip-архивов (рекомендуется UnZip).

Требуемые версии системного ПО смотрите в разделе Системные требования.

Подготовка системной БД#

Перед запуском установки IDM также необходимо установить и настроить СУБД, которая будет использоваться для управления системной БД IDM. Установка производится согласно документации на выбранную СУБД (Platform V Pangolin SE или PostgreSQL). Для подготовки системной БД IDM:

  1. Войдите в СУБД под пользователем postgres и выполните следующие команды:

    • Создание пользователя:

      CREATE USER idm_user WITH PASSWORD 'password' LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE;

    • Создание БД:

      CREATEDATABASE idm_db WITHOWNER = idm_user ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.utf-8' LC_CTYPE = 'en_US.utf-8' CONNECTIONLIMIT = -1;

  2. Выйдите из УЗ postgres и войдите под созданным пользователем idm_user. Затем выполните для БД idm_db три скрипта подготовки БД в следующей последовательности:

    1. postgres-new.sql

    2. postgres-new-audit.sql

    3. postgres-new-quartz.sql

Скрипты подготовки БД находятся в дистрибутиве в директории <distrib>/conf/sql/native-new.

Установка IDM#

Установка IDM включает в себя установку основных модулей развертывания (idmx-engine, idmx-ui и idmx-connector-server), а также вспомогательных сервисов (idmint-support-service). Установка всех модулей производится посредством компонента Deploy tools (CDJE) продукта Platform V DevOps Tools (DOT) (далее Installer).

При установке используется типовая инструкция для работы Installer. Более подробную информацию можно найти в документации на Installer, документ Руководство для операторов. Ниже приведена краткая инструкция:

  1. В веб-интерфейсе Installer нажмите кнопку Собрать с параметрами.

  2. На открывшейся странице с параметрами для сборки выберите:

    • DISTRIB_VERSION: ;

    • Выбрать OSE_CLUSTERS: ;

    • Выбрать версию платформы: ;

    • Выбрать сценарии запуска: MIGRATION_FP_CONF;

  3. Нажмите кнопку Cобрать.

  4. Проверьте и настройте конфигурационные файлы и файл паролей в репозитории Installer.

  5. Запустите Deploy Job c параметрамиFP_CONF_CHECK, OPENSHIFT_DEPLOY.

Примечания к процессу установки#

  1. Миграция конфигурационных файлов.

    В веб-интерфейсе Installer, перед установкой в среду системы оркестрации контейнеризированных приложений выберите и запустите шаг (playbook) Миграция конфигурационных файлов ФП (MIGRATION_FP_CONF). В результате выполнения шага будут мигрироваться следующие файлы:

    • idm-engine.conf

    Параметр файла

    Описание

    Значение по умолчанию

    Возможные значения

    1

    idm-engine.ose.autoscaling.min_replicas

    Параметр задает минимальное количество реплик, которые должны быть запущены для idmx-engine

    1

    Любое число в зависимости от доступных ресурсов

    2

    idm-engine.ose.route_url

    Параметр задает URL, по которому должен быть доступен idmx-engine

    idm-engine-{{ lookup('custom_vars', 'global.multiClusters.openshiftNewRoute') }}

    Любая строка

    3

    idm-engine.ose.route_protocol

    Параметр задает протокол подключения для Route к idmx-engine

    http

    http; https

    4

    idm-engine.java_opts_extra

    Параметр задает дополнительные опции запуска для Java-машины

    Отсутствует

    Любые опции Java

    5

    idm-engine.ose.requests.cpu

    Параметр задает минимальное количество мощности процессора, выделяемое для одной реплики idmx-engine

    2

    Любое число в зависимости от доступных ресурсов

    6

    idm-engine.ose.requests.memory

    Параметр задает минимальное количество RAM, выделяемое для одной реплики idmx-engine

    4Gi

    Любое число в зависимости от доступных ресурсов

    7

    idm-engine.ose.limits.cpu

    Параметр задает максимальное количество мощности процессора, которое может быть выделено для одной реплики idmx-engine

    2

    Любое число в зависимости от доступных ресурсов

    8

    idm-engine.ose.limits.memory

    Параметр задает максимальное количество RAM, которое может быть выделено для одной реплики idmx-engine

    4Gi

    Любое число в зависимости от доступных ресурсов

    9

    idm-engine.repository.db.type

    Параметр задает тип базы данных, используемой IDM для хранения внутренних данных

    postgresql

    Не изменяйте данный параметр

    10

    idm-engine.repository.db.username

    Параметр задает имя пользователя, под которым IDM будет подключаться к БД

    Отсутствует

    Имя пользователя

    11

    idm-engine.repository.db.url

    Параметр задает URL, по которому IDM будет подключаться к БД

    Отсутствует

    Любой URL для подключения к БД по протоколу JDBC

    12

    idm-engine.repository.db.mtls.enabled

    Параметр определяет, будет ли использоваться mTLS для подключения idmx-engine к БД

    false

    true, false

    13

    idm-engine.ose.prometheus.io.scrape

    Параметр определяет, будут ли собираться метрики Prometheus

    true

    true, false

    14

    idm-engine.ose.prometheus.io.port

    Параметр задает порт эндпоинта, с которого будут собираться метрики Prometheus

    8080

    Любой порт

    15

    idm-engine.ose.prometheus.io.path

    Параметр задает эндпоинт, с которого будут собираться метрики Prometheus

    /midpoint/actuator/prometheus

    Не изменяйте данный параметр

    16

    idm-engine.sp.username_header

    Параметр определяет HTTP-заголовок, который будет использоваться при авторизации через Platform V IAM SE

    Отсутствует

    Любой HTTP-заголовок

    17

    idm-engine.sp.logout_url

    Параметр определяет URL для выхода из учетной записи при авторизации через Platform V IAM SE

    Отсутствует

    Любой URL

    18

    idm-engine.config.base_path

    Параметр задает путь до основной директории IDM

    Отсутствует

    Не изменяйте данный параметр

    19

    idm-engine.config.logs_path

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

    /opt/midpoint/var/log

    Не изменяйте данный параметр

    20

    idm-engine.config.tomcat.port_header

    Параметр задает HTTP-заголовок для виртуального сервера Tomcat

    X-Forwarded-Port

    Не изменяйте данный параметр

    21

    idm-engine.internals_avoid_logging_change

    Параметр определяет, можно ли вносить изменения в конфигурацию логирования через UI IDM

    true

    true, false

    22

    idm-engine.audit.url

    Параметр задает URL, по которому в клиент Platform V Audit SE будут отправляться сообщения аудита

    Отсутствует

    Любой URL

    23

    idm-engine.audit.metamodel.version

    Параметр задает версию метамодели аудита IDM для Platform V Audit SE

    4

    Не изменяйте данный параметр

    24

    idm-engine.cluster.enabled

    Параметр определяет, включен ли кластерный режим работы IDM

    false

    true, false

    • idm-ui.conf

    Параметр файла

    Описание

    Значение по умолчанию

    Возможные значения

    1

    idm-ui.ose.autoscaling.min_replicas

    Параметр задает минимальное количество реплик, которые должны быть запущены для idmx-ui

    1

    Любое число в зависимости от доступных ресурсов

    2

    idm-ui.ose.route_url

    Параметр задает URL, по которому должен быть доступен idmx-ui

    idm-ui-{{ lookup('custom_vars', 'global.multiClusters.openshiftNewRoute') }}

    Любая строка

    3

    idm-ui.ose.route_protocol

    Параметр задает протокол подключения для Route к idmx-ui

    http

    http, https

    4

    idm-ui.ose.requests.cpu

    Параметр задает минимальное количество мощности процессора, выделяемое для одной реплики idmx-ui

    500m

    Любое число в зависимости от доступных ресурсов

    5

    idm-ui.ose.requests.memory

    Параметр задает минимальное количество RAM, выделяемое для одной реплики idmx-ui

    1Gi

    Любое число в зависимости от доступных ресурсов

    6

    idm-ui.ose.limits.cpu

    Параметр задает максимальное количество мощности процессора, которое может быть выделено для одной реплики idmx-ui

    500m

    Любое число в зависимости от доступных ресурсов

    7

    idm-ui.ose.limits.memory

    Параметр задает максимальное количество RAM, которое может быть выделено для одной реплики idmx-ui

    1Gi

    Любое число в зависимости от доступных ресурсов

    • idm-connector-server.conf

    Параметр файла

    Описание

    Значение по умолчанию

    Возможные значения

    1

    idm-connector-server.ose.autoscaling.min_replicas

    Параметр задает минимальное количество реплик, которые должны быть запущены для idmx-connector-server

    1

    Любое число в зависимости от доступных ресурсов

    2

    idm-connector-server.ose.requests.cpu

    Параметр задает минимальное количество мощности процессора, выделяемое для одной реплики idmx-connector-server

    500m

    Любое число в зависимости от доступных ресурсов

    3

    idm-connector-server.ose.requests.memory

    Параметр задает минимальное количество RAM, выделяемое для одной реплики idmx-connector-server

    1Gi

    Любое число в зависимости от доступных ресурсов

    4

    idm-connector-server.ose.limits.cpu

    Параметр задает максимальное количество мощности процессора, которое может быть выделено для одной реплики idmx-connector-server

    500m

    Любое число в зависимости от доступных ресурсов

    5

    idm-connector-server.ose.limits.memory

    Параметр задает максимальное количество RAM, которое может быть выделено для одной реплики idmx-connector-server

    1Gi

    Любое число в зависимости от доступных ресурсов

    6

    idm-connector-server.ose.custom_class_path

    Параметр задает classpath с необходимыми библиотеками для idmx-connector-server

    ib/asm-analysis-9.1.jar:lib/asm-commons-9.1.jar:/lib/asm-tree-9.1.jar:lib/asm-util-9.1.jar:lib/nashorn-core-15.3.jar:lib/ojdbc8.jar

    Не изменяйте данный параметр

    7

    idm-connector-server.fluent.log_level

    Параметр задает уровень логирования в Platform V Monitor для idmx-connector-server

    INFO

    ERROR, WARN, INFO. Рекомендуется оставить на INFO

    8

    idm-connector-server.config.logs_path

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

    /app/connid-connector-server/logs/

    Не изменяйте данный параметр

    • idm-connectors.conf

    Параметр файла

    Описание

    Значение по умолчанию

    Возможные значения

    1

    idm.connector.exchange.url

    Параметр определяет URL для подключения к ресурсу через коннектор ADExchange

    Отсутствует

    Любой URL

    2

    idm.connector.exchange.host

    Параметр определяет хоста для подключения к ресурсу через коннектор ADExchange

    Отсутствует

    Любой хост

    3

    idm.connector.exchange.authentication

    Параметр определяет тип аутентификации при подключения к ресурсу через коннектор ADExchange.

    Отсутствует

    Basic, Default, Kerberos

    4

    idm.connector.exchange.username

    Параметр определяет учетную запись для подключения к ресурсу через коннектор ADExchange

    Отсутствует

    Любая строка

    5

    idm.connector.exchange.load.classes

    Параметр определяет типы Active Directory, которые нужно подгрузить через коннектор ADExchange

    Отсутствует

    Любая строка

    6

    idm.connector.kis.departments_port

    Параметр определяет порт для подключения IDM к БД с кадровой информацией по подразделениям

    Отсутствует

    Любой порт

    7

    idm.connector.kis.departments_host

    Параметр определяет URL для подключения IDM к БД с кадровой информацией по подразделениям

    Отсутствует

    Любой URL

    8

    idm.connector.kis.departments_database

    Параметр определяет URL для подключения IDM к БД с кадровой информацией по подразделениям

    Отсутствует

    Любой URL

    9

    idm.connector.kis.departments_user

    Параметр определяет логин для подключения IDM к БД с кадровой информацией по подразделениям

    Отсутствует

    Любая строка

    10

    idm.connector.kis.departments_table

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

    Отсутствует

    Любая строка

    11

    idm.connector.kis.departments_keycolumn

    Параметр определяет ключевой параметр таблицы БД с кадровой информацией по подразделениям

    Отсутствует

    Любая строка

    12

    idm.connector.kis.sap.employees_port

    Параметр определяет порт для подключения IDM к БД с кадровой информацией по сотрудникам

    Отсутствует

    Любой порт

    13

    idm.connector.kis.sap.employees_host

    Параметр определяет URL для подключения IDM к БД с кадровой информацией по сотрудникам

    Отсутствует

    Любой URL

    14

    idm.connector.kis.sap.employees_database

    Параметр определяет URL для подключения IDM к БД с кадровой информацией по сотрудникам

    Отсутствует

    Любой URL

    15

    idm.connector.kis.sap.employees_user

    Параметр определяет логин для подключения IDM к БД с кадровой информацией по сотрудникам

    Отсутствует

    Любая строка

    16

    idm.connector.kis.sap.employees_table

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

    Отсутствует

    Любая строка

    17

    idm.connector.kis.sap.employees_keycolumn

    Параметр определяет ключевой параметр таблицы БД с кадровой информацией по сотрудникам

    Отсутствует

    Любая строка

    • idm-support-service.conf

    Параметр файла

    Описание

    Значение по умолчанию

    Возможные значения

    1

    idmint-support-service.ose.autoscaling.min_replicas

    Параметр задает минимальное количество реплик, которые должны быть запущены для idmint-support-service

    1

    Любое число в зависимости от доступных ресурсов

    2

    idmint-support-service.ose.limits.cpu

    Параметр задает минимальное количество мощности процессора, выделяемое для одной реплики idmint-support-service

    400m

    Любое число в зависимости от доступных ресурсов

    3

    idmint-support-service.ose.limits.memory

    Параметр задает минимальное количество RAM, выделяемое для одной реплики idmint-support-service

    800Mi

    Любое число в зависимости от доступных ресурсов

    4

    idmint-support-service.ose.requests.cpu

    Параметр задает максимальное количество мощности процессора, которое может быть выделено для одной реплики idmint-support-service

    200m

    Любое число в зависимости от доступных ресурсов

    5

    idmint-support-service.ose.requests.memory

    Параметр задает максимальное количество RAM, которое может быть выделено для одной реплики idmint-support-service

    800Mi

    Любое число в зависимости от доступных ресурсов

    • idm.all.conf

    Параметр файла

    Описание

    Значение по умолчанию

    Возможные значения

    1

    idm.ose.image.path

    Параметр определяет путь к Docker-образу IDM для развертывания

    Отсутствует

    Любой URL

    2

    idm.ose.hashicorp.role

    Параметр определяет роль для доступа к секретам IDM в компоненте KMSS

    Отсутствует

    Любая строка

    3

    idm.ose.hashicorp.key

    Параметр определяет ключ для доступа к секретам IDM в компоненте KMSS

    Отсутствует

    Любая строка

    4

    idm.ose.hashicorp.namespace

    Параметр задает пространство имен, в котором расположен экземпляр компонента KMSS, используемый для IDM

    Отсутствует

    Любой URL

    5

    idm.ose.hashicorp.enabled

    Параметр определяет, будет ли использоваться компонент KMSS для хранения секретов IDM

    false

    true, false

    6

    idm.fluent.brokers

    Параметр определяет брокеров Kafka, через которых будут отправляться журналы логов IDM в Platform V Monitor

    Отсутствует

    Обратитесь к документации компонента LOGA Platform V Monitor

    7

    idm.fluent.topics

    Параметр определяет топики Kafka, в которых будут отправляться журналы логов IDM в Platform V Monitor

    Отсутствует

    Обратитесь к документации компонента LOGA Platform V Monitor

    8

    idm.fluent.log_level

    Параметр определяет уровень логирования IDM для Platform V Monitor

    Отсутствует

    Обратитесь к документации компонента LOGA Platform V Monitor

    9

    idm.fluent.ca_path

    Параметр задает путь в vault для CA сертификата от Platform V Monitor

    Отсутствует

    Любая строка

    10

    idm.fluent.cert_path

    Параметр задает путь в vault для клиентского сертификата от Platform V Monitor

    Отсутствует

    Любая строка

    11

    idm.fluent.cert_key_path

    Параметр задает путь в vault для ключа клиентского сертификата от Platform V Monitor

    Отсутствует

    Любая строка

    12

    idm.fluent.image.name

    Параметр задает имя Docker образа сайдкара компонента LOGA Platform V Monitor

    Отсутствует

    Любая строка

    13

    idm.fluent.image.tag

    Параметр задает тэг Docker образа сайдкара компонента LOGA Platform V Monitor

    Отсутствует

    Любая строка

    14

    idm.fluent.image.path

    Параметр задает путь до Docker образа сайдкара компонента LOGA Platform V Monitor

    Отсутствует

    Любой URL

    15

    idm.fluent.requests.cpu

    Параметр задает минимальное количество мощности процессора, выделяемое для сайдкара компонента LOGA Platform V Monitor

    100m

    Любое число в зависимости от доступных ресурсов

    16

    idm.fluent.requests.memory

    Параметр задает минимальное количество RAM, выделяемое для сайдкара компонента LOGA Platform V Monitor

    16Mi

    Любое число в зависимости от доступных ресурсов

    17

    idm.fluent.limits.cpu

    Параметр задает максимальное количество мощности процессора, которое может быть выделено для сайдкара компонента LOGA Platform V Monitor

    200m

    Любое число в зависимости от доступных ресурсов

    18

    idm.fluent.limits.memory

    Параметр задает максимальное количество RAM, которое может быть выделено для сайдкара компонента LOGA Platform V Monitor

    32Mi

    Любое число в зависимости от доступных ресурсов

    • idm.istio.all.conf

    Параметр файла

    Описание

    Значение по умолчанию

    Возможные значения

    1

    idm.ose.istio.enabled

    Параметр определяет, будет ли использоваться интеграция с Platform V Synapse Service Mesh (Istio)

    false

    true, false

    2

    idm.ose.istio.egress.deployment.spec.template

    Параметр задает шаблон для Istio

    Отсутствует

    Любая строка

    3

    idm.ose.istio.ingress.deployment.instance

    Параметр определяет имя экземпляра Istio Control Plane для Ingress

    Отсутствует

    Любая строка

    4

    idm.ose.istio.ingress.deployment.ca_addr

    Параметр определяет адрес Istio Control Plane для Ingress

    Отсутствует

    Любой URL

    5

    idm.ose.istio.egress.deployment.instance

    Параметр определяет имя экземпляра Istio Control Plane для Egress

    Отсутствует

    Любая строка

    6

    idm.ose.istio.egress.deployment.ca_addr

    Параметр определяет адрес Istio Control Plane для Egress

    Отсутствует

    Любой URL

    7

    idm.ose.istio.ingress.route_url

    Параметр определяет URL для Route, создаваемого для Ingress

    ingress-{{ lookup('custom_vars', 'global.multiClusters.openshiftNewRoute') }}

    Любая строка

    8

    idm.ose.istio.ingress.ca_certs_path

    Параметр задает путь к сертификатам CA для Ingress

    Отсутствует

    Любой путь

    9

    idm.ose.istio.ingress.certs_path

    Параметр задает путь к клиентским сертификатам для Ingress

    Отсутствует

    Любой путь

    10

    idm.ose.istio.egress.ca_certs_path

    Параметр задает путь к сертификатам CA для Egress

    Отсутствует

    Любой путь

    11

    idm.ose.istio.egress.certs_path

    Параметр задает путь к клиентским сертификатам для Egress

    Отсутствует

    Любой путь

    12

    idm.ose.istio.egress.db_repository_host

    Параметр задает хост для доступа к БД Egress

    Отсутствует

    Любой хост

    13

    idm.ose.istio.egress.db_repository_ip

    Параметр задает IP-адрес для доступа к БД Egress

    Отсутствует

    Любой IP-адрес

    14

    idm.ose.istio.ingress.deployment.requests.cpu

    Параметр задает минимальное количество мощности процессора, выделяемое для одной реплики Ingress

    400m

    Любое число в зависимости от доступных ресурсов

    15

    idm.ose.istio.ingress.deployment.requests.memory

    Параметр задает минимальное количество RAM, выделяемое для одной реплики Ingress

    700Mi

    Любое число в зависимости от доступных ресурсов

    16

    idm.ose.istio.ingress.deployment.limits.cpu

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

    600m

    Любое число в зависимости от доступных ресурсов

    17

    idm.ose.istio.ingress.deployment.limits.memory

    Параметр задает максимальное количество RAM, которое может быть выделено для одной реплики Ingress

    900Mi

    Любое число в зависимости от доступных ресурсов

    18

    idm.ose.istio.egress.deployment.requests.cpu

    Параметр задает минимальное количество мощности процессора, выделяемое для одной реплики Egress

    200m

    Любое число в зависимости от доступных ресурсов

    19

    idm.ose.istio.egress.deployment.requests.memory

    Параметр задает минимальное количество RAM, выделяемое для одной реплики Egress

    256Mi

    Любое число в зависимости от доступных ресурсов

    20

    idm.ose.istio.egress.deployment.limits.cpu

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

    400m

    Любое число в зависимости от доступных ресурсов

    21

    idm.ose.istio.egress.deployment.limits.memory

    Параметр задает максимальное количество RAM, которое может быть выделено для одной реплики Egress

    512Mi

    Любое число в зависимости от доступных ресурсов

  2. Выпуск сертификатов.

    Если вы планируете использовать SSL для подключения IDM к БД Platform V Pangolin SE, следует выполнить следующие действия:

    1. Получите у администраторов вашей БД следующие сертификаты:

      • сертификат клиента;

      • ключ сертификата;

      • CA сертификат.

    2. Поместите их в инсталляцию компонента KMSS продукта Platform V Secret Management, подключенную к IDM.

    3. Измените следующие параметры в конфигурационных файлах IDM:

      • idm-engine.repository.db.mtls.enabled в true;

      • idm-engine.repository.db.url — добавьте в данный URL пути до сертификатов, например:

      jdbc:postgresql://pangolin.db.mycorp.ru:5432/idmx-1?prepareThreshold=0&ssl=true&sslmode=verify-full&sslcert=/vault/secrets/postgres.crt&sslkey=/vault/secrets/postgres.pk8&sslrootcert=/vault/secrets/postgres_ca.crt

  3. Добавление сертификатов в common репозиторий.

    В common репозиторий добавьте сертификаты, указанные в таблице.

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

    Расположение

    Ingress, Egress, OTT, БД

    idm_common_dev/<директория стенда>/ansible/files/ssl

    Серверы OTT

    idm_common_dev/<директория стенда>/ansible/files/ssl

    В common репозиторий добавьте описание параметров обращения к сертификатам.

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

    Расположение

    custom_property.conf.yml

    idm_dev/ift/conf/

    Например:

    # комментарий
    kubernetes/openshift:
    project: 'tribe-sc-ift-idm'
    # Istio
    # Ingress
    ingressKeyStoreFile: 'ansible/files/ssl/idm/idm-ingress.jks'
    ingressKeyStorePass: 'idm.ssl.ose.istio.keyStore.ingress.password'
    ingressRootCertAlias: 'root'
    ingressCertAlias: 'idm-ingress'
    ingressPrivateKeyAlias: 'idm-ingress'
    
    # Egress
    egressKeyStoreFile: 'ansible/files/ssl/idm/idm-egress.jks'
    egressKeyStorePass: 'idm.ssl.ose.istio.keyStore.egress.password'
    egressRootCertAlias: 'root'
    egressCertAlias: 'idm-egress'
    egressPrivateKeyAlias: 'idm-egress'
    
    ##ОТТ сертификаты
    # Сами кейсторы разместить в commons среды, пути до кейсторов указать в репозитории ФП в `conf/custom_property.conf.yml`
    idmCertStoreName: 'idm.p12'
    idmOttCertStorePath: 'ansible/files/ssl/idm/idm.p12'
    ottTrustStoreName: 'ift_sol_std3_ott_public.p12'
    ottTrustStorePath: 'ansible/files/ssl/ift_sol_std3_ott_public.p12'
    
  4. Заполнение паролей и секретов.

    В common репозитории в файл _passwords.conf (либо в vault, если используется компонент KMSS) добавьте следующие секреты:

    • idm_connector_exchange_password — Пароль для подключения через коннектор ADExchange;

    • idm_connector_kis_departments_password — Пароль для подключения к БД с кадровой информацией по подразделениям;

    • idm_connector_kis_sap_employees_password — Пароль для подключения к БД Oracle с кадровой информацией по сотрудникам;

    • idm_engine_keystore_password — Пароль от хранилища ключей IDM;

    • idm_engine_repository_db_password — Пароль для подключения к системной БД (Platform V Pangolin SE) IDM;

    • istio_egress_ca — Сертификат CA для Egress;

    • istio_egress_cert— Клиентский сертификат для Egress;

    • istio_egress_key — Клиентский ключ для Egress;

    • istio_ingress_ca — Сертификат CA для Ingress;

    • istio_ingress_cert — Клиентский сертификат для Ingress;

    • istio_ingress_key — Клиентский ключ для Ingress;

    • keystore — Хранилище ключей и сертификатов IDM;

    • logger_ca — Сертификат CA для Platform V Monitor;

    • logger_cert — Клиентский сертификат для Platform V Monitor;

    • logger_key — Клиентский ключ для Platform V Monitor;

  5. Корректировка параметров в configmap.

    Скорректируйте в репозитории Bitbucket параметры:

    • /conf/config/parameters/idm-engine.conf:

      • Параметры подключения к БД.

    • /conf/config/parameters/idm.all.conf:

      • URL образа IDM и секрет для доступа в Docker Registry;

      • Секрет с паролем к keystore.

    • /conf/config/parameters/idm-connector-kis.conf:

      • Параметры для доступа IDM к нужным таблицам БД с кадровой информацией.

Установка Connector Server#

Компонент idm-connector-server (далее Connector Server) предназначен для подключения IDM к ресурсам, расположенным вне контура, в котором находится инсталляция IDM. Connector Server устанавливается на сервер или виртуальную машину с ОС на базе Linux (рекомендуется ОС Альт 8 СП), либо с ОС Windows 10 (опционально).

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

  1. Установлен OpenJDK версии не ниже 11.

  2. В переменные среды добавлена переменная JAVA_HOME.

Установка:

  1. Скопируйте из дистрибутива IDM на сервер файл idm-connector-server.zip, расположенный в директории дистрибутива <distrib>/bh/.

  2. Разархивируйте скопированный архив idm-connector-server.zip в директорию idm-connector-server.

  3. Если в директории <server>/idm-connector-server/connid-connector-server/lib/ есть файл connector-common-1.5.0.0.jar, удалите его.

  4. Отредактируйте файл <server>/idm-connector-server/connid-connector-server/conf/connectorserver.properties, изменив значение параметра connectorserver.protocol на WEB_SOCKET, и сохраните изменения.

  5. Откройте командную строку (консоль), перейдите в директорию connid-connector-server и выполните следующую команду:

    • Если ОС — Альт 8 СП или Linux: bin/ConnectorServer.sh -setKey -key <SECRET_KEY> -properties conf/connectorserver.properties;

    • Если ОС — Windows 10: .\bin\ConnectorServer.bat /setkey <SECRET_KEY> /properties .\conf\connectorserver.properties;

      , где <SECRET_KEY> — ключ доступа (пароль) для подключения IDM к Connector Server. При выборе ключа доступа руководствуйтесь требованиями кибербезопасности к паролям. Рекомендуется избегать спецсимволов в ключе доступа, так как могут возникнуть проблемы с подключением.

После выполнения шагов выше, Connector Server будет установлен.

Для запуска Connector Server откройте командную строку, перейдите в директорию <server>/idm-connector-server/connid-connector-server и выполните команду:

  • Если ОС — Альт 8 СП или Linux: bin/ConnectorServer.sh -run -properties conf/connectorserver.properties;

  • Если ОС — Windows 10: .\bin\ConnectorServer.bat /run /properties .\conf\connectorserver.properties.

Если запуск успешен, в консоли командной строки будет отражена строка вида o.i.f.s.tcp.ConnectorServerImpl - Connector Server started at <дата> <время>. После этого окно командной строки нельзя закрывать, так как это завершит работу Connector Server.

Импорт конфигурации Connector Server в IDM#

Чтобы IDM мог использовать установленный и запущенный Connector Server, необходимо добавить конфигурацию этого компонента в IDM. Для этого:

  1. Перейдите в любое IDE или текстовый редактор с возможностью создания xml-файлов.

  2. Создайте новый файл и вставьте в него следующий XML код, заменив соответствующие значения параметров значениями для своих стендов:

    <connectorHost xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3" xmlns:t="http://prism.evolveum.com/xml/ns/public/types-3" xmlns:protocol="http://midpoint.evolveum.com/xml/ns/public/connector-host-protocol-extension" oid="d7c941c0-1cf4-4fe7-b231-32e1a1c40bcf">
    
        <name>My local connector</name> //имя создаваемой конфигурации в IDM
        <hostname>localhost</hostname> //имя хоста на котором развернут Connector Server
        <port>9999</port> //порт для подключения к Connector Server
        <sharedSecret>
            <t:clearValue>admin</t:clearValue> //укажите здесь то же значение, которое было задано как ключ доступа к Connector Server во время установки
        </sharedSecret>
        <extension>
            <protocol:connectionProtocol>WEB_SOCKET</protocol:connectionProtocol>
            <protocol:path>/</protocol:path>
        </extension>
    
    </connectorHost>
    
  3. Сохраните файл в файловую систему сервера.

  4. Войдите в UI установленной инсталляции IDM.

  5. Импортируйте созданный файл согласно инструкции из документа Руководство оператора, раздел Параметры настройки, подраздел Импорт конфигурационных файлов.

Интеграции с платформенными зависимостями#

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

  1. Установить и настроить зависимости согласно их документации.

  2. Перед установкой IDM указать корректные значения в параметрах конфигурационных файлов, отвечающих за взаимодействие с интеграциями. Например, для подключения интеграции с Platform V IAM SE следует заполнить параметры idm-engine.sp.username_header и idm-engine.sp.logout_url.

  3. Установить IDM.

Процесс отличается для следующих зависимостей:

  • Platform V Secret Management: Для интеграции следует заполнить соответствующие параметры в idm.all.conf, и перед установкой IDM следует поместить нужные секреты в vault Platform V Secret Management.

  • Platform V Synapse Service Mesh: Для установки IDM с интеграцией с Istio следует установить Platform V Synapse Mesh согласно документации на продукт SSM, заполнить конфигурационный файл idm.istio.all.conf корректными значениями, и при установке через Installer использовать playbook с установкой Istio.

  • Platform V Backend: Никаких дополнительных действий для подключения интеграции со стороны IDM не требуется, установите и настройте компонент OTTS согласно документации на продукт #BD.