Настройка интеграции Kintsugi (DBCM)#

Настройка интеграции Kintsugi (DBCM) делится на следующие части:

Настройка интеграции Kintsugi (DBCM) с внешними сервисами#

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

Для завершения настройки интеграции произведите конфигурацию сетевого доступа для взаимодействия с внешними сервисами.

Настройка интеграции с HashiCorp Vault/SecMan#

Примечание

Настройка интеграции с SecMan актуальна для HashiCorp Vault.

  1. Задайте значение true параметру global.vault.enabled в файлах ./helm/application/kintsugi/values.yaml и ./helm/application/istio-kintsugi/values.yaml.

    Примечание

    Для файлов ./helm/application/kintsugi/values.yaml и ./helm/application/istio-kintsugi/values.yaml:

    • ./ – путь DBM-X.X.X-XX-distrib/DBM-X.X.X-XX-owned-distrib/package/conf/ до каталога helm;

    • имя каталога package может изменяться на package 2 или package 3 в зависимости от порядка распаковки архивов из папки DBM-X.X.X-XX-owned-distrib.

  2. Для корректной интеграции с SecMan сгенерируйте и добавьте секреты в KV-хранилище. Пример конфигурации секретов для SecMan.

  3. Для доступа к хранилищу секретов определите следующие параметры в файлах с конфигурацией helm-шаблона:

    Параметр

    Пример

    Описание

    secman.storage_path

    /STORAGE_NAME

    Путь к хранилищу секретов

    secman.role

    role-ga-secman-kintsugi

    Роль для доступа к хранилищу секретов

    secman.namespace

    SECRET_NAMESPACE

    Пространство для хранилища секретов

    secman.host

    secman.kintsugi.example.test

    Адрес хранилища секретов

    secman.port

    5555

    Порт хранилища секретов

    secman.resolution

    DNS

    Способ разрешения доменного имени сервиса (DNS/STATIC)

Настройка интеграции с Istio#

Произведите настройку Istio согласно документации разработчика.

Примечание

При использовании Platform V Synapse Service Mesh инструкция по настройке Istio находится в документации продукта.

Если есть возможность подключить пространство имен к коммунальному Istio, при опциональном использовании Red Hat OpenShift, добавьте пространство имен в Service Mesh Member Role. Ссылка на документацию по OpenShift Service Mesh (опционально).

Настройка интеграции с Platform V Monitor (OPM): Business Services (BUSE)#

Интеграция с компонентом Business Services (BUSE) продукта Platform V Monitor (OPM) (далее – Business Services (BUSE)) предусматривает два режима:

  • с использованием сервиса OTT;

  • без использования сервиса OTT.

Режим функционирования задается значением параметра global.audit.enabled в файле ./helm/application/istio-kintsugi/values.yaml. В случае конфигурирования режима интеграции без использования сервиса OTT (global.audit.enabled: false) настройку параметров OTT производить не требуется.

Для настройки интеграции с сервисом Business Services (BUSE) выполните следующие шаги:

  1. Сгенерируйте ключ для клиентского модуля Kintsugi.

  2. Создайте запрос на сертификат клиентского модуля Kintsugi.

  3. Подпишите запрос на сертификат клиентского модуля Kintsugi УЦ.

  4. Получите сертификат публичного ключа сервиса ОТТ.

  5. Инициализируйте параметры конфигурации Istio ./helm/application/istio-kintsugi/values.yaml:

    Параметр

    Пример

    Описание

    global.secrets.ott.data.ca.crt.pem

    <СОДЕРЖИМОЕ СЕРТИФИКАТА>

    Сертификат доверенного УЦ

    global.secrets.ott.data.kintsugi.crt.pem

    <СОДЕРЖИМОЕ СЕРТИФИКАТА>

    Сертификат клиентского модуля Kintsugi

    global.secrets.ott.data.kintsugi.key.pem

    <СОДЕРЖИМОЕ КЛЮЧА СЕРТИФИКАТА>

    Ключ клиентского модуля Kintsugi

    global.secrets.ott.data.ott.crt.pem

    <СОДЕРЖИМОЕ СЕРТИФИКАТА>

    Сертификат публичного ключа сервиса ОТТ

  6. Определите параметры конфигурации Kintsugi (./helm/application/kintsugi/values.yaml) из таблицы:

    Примечание

    В данном случае приведены настройки для Business Services (BUSE) и One-Time Password (OTP) / OTT (OTTS), но они актуальны для любых других подобных сервисов.

    Параметр

    Пример

    Описание

    audit.host

    kintsugi.example.test

    URL сервиса Business Services (BUSE)

  7. Определите параметры конфигурации Istio (./helm/application/istio-kintsugi/values.yaml) из таблицы:

    Параметр

    Пример

    Описание

    global.audit.enabled

    true

    Включение/отключение сервиса аудита (true/false)

    global.audit.host

    kintsugi.example.test

    Адрес сервиса аудита

    global.audit.ott.port

    5555

    Порт сервиса аудита

    global.audit.resolution

    DNS

    Способ разрешения доменного имени сервиса (DNS/STATIC)

    global.audit.metamodel

    /push/project/kintsugi/example/test/metamodel

    Адрес регистрации метамодели

    global.audit.event

    /push/project/kintsugi/example/test/event

    Адрес регистрации события аудита

    global.audit.ott.enabled

    true

    Включение/отключение аудита событий OTT (true/false)

    global.audit.ott.host

    kintsugi.example.test

    Адрес сервиса аудита для регистрации событий OTT

    global.audit.ott.port

    5555

    Порт сервиса аудита для регистрации событий OTT

    istio-egressgateway.ott.auditProxyUrl

    /push/project/kintsugi/example/test/audit-pipe-ott-sidecar

    URL прокси аудита для OTT

    istio-egressgateway.ott.moduleID

    kintsugi

    Идентификатор модуля OTT

    istio-egressgateway.ott.clientCertAlias

    kintsugi

    Псевдоним сертификата Kintsugi

    istio-egressgateway.ott.authzRealm

    ott

    Realm для авторизации в сервисе OTT

    istio-egressgateway.ott.anonymousRequestsEnabled

    'false'

    Включение/отключение анонимных запросов

    istio-egressgateway.ott.clientDefaultRealm

    'mmt'

    Realm клиента (по умолчанию)

    istio-egressgateway.ott.serviceHosts

    'ott-server-host1:port'

    Адреса хостов сервиса OTT

Настройка интеграции с Platform V IAM SE (IAM): KeyCloak.SE (KCSE) и Platform V IAM SE (IAM): IAM Proxy (AUTH)#

Примечание

Ниже описана процедура интеграции с рекомендованными АО «СберТех» продуктами Platform V IAM SE: KeyCloak.SE (KCSE) и Platform V IAM SE: IAM Proxy (AUTH). На усмотрение пользователя может быть настроена интеграция с аналогичными по функциональности продуктами от других производителей.

Настройка интеграции веб-интерфейса Kintsugi с KeyCloak.SE (KCSE) и IAM Proxy (AUTH)#

Предварительная конфигурация KeyCloak.SE (KCSE) для веб-интерфейса Kintsugi#

Выполните предварительную конфигурацию KeyCloak.SE (KCSE):

  1. Создайте Realm для веб-интерфейса Kintsugi.

  2. В конфигурации ролей добавьте:

    • kintsugi-monitoring-manager;

    • kintsugi-user;

    • kintsugi-query-tool-user;

    • kintsugi-template-manager;

    • kintsugi-host-agent (при использовании Kintsugi agent (DBDA)).

  3. В конфигурации пользователей добавьте необходимые учетные записи и назначьте им соответствующие роли.

  4. Создайте нового клиента в KeyCloak.SE (KCSE) для последующей интеграции с IAM Proxy (AUTH).

  5. Произведите конфигурацию клиента, типовая конфигурация представлена на рисунке:

    client configuration

  6. Выполните генерацию секретов для созданного клиента:

    secret generation

  7. Создайте mapper для передачи в access token и userinfo объекта groups, содержащего данные о пользовательской роли (ролях):

    Creating a mapper groups

Интеграция KeyCloak.SE (KCSE) и IAM Proxy (AUTH) веб-интерфейса Kintsugi#

Примечание

В процессе установки и конфигурации предполагается использование выделенного (некоммунального) экземпляра IAM Proxy (AUTH).

Для интеграции выполните конфигурацию IAM:

  1. Настройте проксирование внешних маршрутов на узлы service mesh согласно примеру конфигурации для веб-интерфейса Kintsugi, хранящемуся в архиве DBM-iam-conf-X.X.X-XX-distrib.zip.

  2. Настройте параметры интеграции с KeyCloak.SE (KCSE).

    Пример конфигурации переменных окружения IAM Proxy (AUTH):

        KEYCLOAK_ADMIN_SERVER: <DNS-ИМЯ КОНСОЛИ АДМИНИСТРАТОРА>
        PROXY_DNSNAME: proxy-kintsugi.kintsugi.example.test
        OIDC_POST_LOGON_BY_TOKEN_CALL_URI: 'True'
        KEYCLOAK_FRONT_DNS_NAME: <DNS-ИМЯ СЕРВИСА KEYCLOAK>
        OIDC_BASE_URL: 'https://keycloak-kintsugi.example'
        RDS_CLIENT_KEYALIAS: alias
        PROXY_SESSION_SECRET: examplesecret
        NAME: proxy-kintsugi
        PROXY_OIDC_CLIENT_SECRET: <СОДЕРЖИМОЕ СЕКРЕТА>
        STEND_NAME: kintsugi-iam-proxy
        OIDC_SSL_VERIFY: 'False'
        KEYCLOAK_HTTPS_PORT_ON_FRONTEND: '443'
        STEND_ABBR: dev
        OIDC_DISCOVERY_URL: >-
        https://keycloak-kintsugi.example/auth/realms/kintsugi/.well-known/openid-configuration
        PROXY_OIDC_CLIENT_ID: kintsugi
        PROXY_SESSION_IDLETIME: '180'
        PROXY_TO_BACKEND_ACCESS_TOKEN: 'True'
        OIDC_LOGOUT_URI: >-
        https://keycloak-kintsugi.example/auth/realms/kintsugi/protocol/openid-connect/logout
        STEND_TYPE: type
    

    Примечание

    Описание параметров конфигурации содержится в документации компонента IAM Proxy (AUTH).

Настройка интеграции клиентского приложения Kintsugi с KeyCloak.SE (KCSE) и IAM Proxy (AUTH)#

В случае установки Kintsugi, включающего клиентскую версию приложения (в конфигурационном файле ./helm/application/kintsugi/values.yaml у параметра slim.enabled установлено значение true), требуется конфигурация дополнительных экземпляров IAM Proxy (AUTH) и KeyCloak.SE (KCSE).

Предварительная конфигурация KeyCloak.SE (KCSE) для клиентского приложения Kintsugi#

Выполните предварительную конфигурацию KeyCloak.SE (KCSE), аналогично пункту «Предварительная конфигурация KeyCloak.SE (KCSE) для веб-интерфейса Kintsugi», использовав роль kintsugi-slim-user.

Интеграция KeyCloak.SE (KCSE) и IAM Proxy (AUTH) для клиентского приложения Kintsugi#

Примечание

В процессе установки и конфигурации предполагается использование выделенного (некоммунального) экземпляра IAM Proxy (AUTH).

Для интеграции выполните конфигурацию IAM:

  1. Настройте проксирование внешних маршрутов на узлы service mesh согласно примеру конфигурации клиентского приложения для Microsoft Windows Kintsugi, хранящемуся в архиве DBM-iam-conf-X.X.X-XX-distrib.zip.

  2. Настройте параметры интеграции с KeyCloak.SE (KCSE).

    Пример конфигурации переменных окружения IAM Proxy (AUTH):

        KEYCLOAK_ADMIN_SERVER: <DNS-ИМЯ КОНСОЛИ АДМИНИСТРАТОРА>
        PROXY_DNSNAME: proxy-kintsugi-slim.kintsugi.example.test
        OIDC_POST_LOGON_BY_TOKEN_CALL_URI: 'True'
        KEYCLOAK_FRONT_DNS_NAME: <DNS-ИМЯ СЕРВИСА KEYCLOAK>
        OIDC_BASE_URL: 'https://keycloak-kintsugi-slim.example'
        RDS_CLIENT_KEYALIAS: alias
        PROXY_SESSION_SECRET: >-
          examplesecret
        NAME: proxy-kintsugi-slim
        PROXY_OIDC_CLIENT_SECRET: <СОДЕРЖИМОЕ СЕКРЕТА>
        STEND_NAME: kintsugi-iam-proxy
        OIDC_SSL_VERIFY: 'False'
        KEYCLOAK_HTTPS_PORT_ON_FRONTEND: '443'
        STEND_ABBR: dev
        OIDC_DISCOVERY_URL: >-
          https://keycloak-kintsugi-slim.example/auth/realms/kintsugi-slim/.well-known/openid-configuration
        PROXY_OIDC_CLIENT_ID: kintsugi
        PROXY_SESSION_IDLETIME: '180'
        PROXY_TO_BACKEND_ACCESS_TOKEN: 'True'
        OIDC_LOGOUT_URI: >-
          https://keycloak-kintsugi-slim.example/auth/realms/kintsugi-slim/protocol/openid-connect/logout
        STEND_TYPE: type
    

    Примечание

    Описание параметров конфигурации содержится в документации компонента IAM Proxy (AUTH).

Настройка интеграции с системой логирования#

Интеграция с сервисом сбора и хранения лога Elasticsearch#

Для интеграции с сервисом сбора и хранения лога Elasticsearch:

  1. Определите параметры конфигурации Kintsugi (./helm/application/kintsugi/values.yaml) из таблицы:

    Параметр

    Пример

    Описание

    elastic.enabled

    true

    Устанавливает Elasticsearch хранилищем логов (true/false)

    elastic.host

    elastic.kintsugi.example.test

    Адрес Elasticsearch

    elastic.index_prefix

    kintsugi

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

    elastic.ip

    10.xx.xx.xx

    IP-адрес Elasticsearch

    elastic.port

    5555

    Порт Elasticsearch

  2. Определите параметры конфигурации Istio (./helm/application/istio-kinsugi/values.yaml) из таблицы:

    Параметр

    Пример

    Описание

    global.elastic.enabled

    true

    Устанавливает Elasticsearch хранилищем логов (true/false)

    global.elastic.host

    ""

    Хост Elasticsearch

    global.elastic.ip

    10.xx.xx.xx

    IP-адрес Elasticsearch

    global.elastic.port

    5555

    Порт Elasticsearch

  3. Выполните конфигурацию Elasticsearch (пример конфигурации кластера с одним узлом elasticsearch.yaml).

  4. Для работы с кластером Elasticsearch в режиме безопасного соединения выполните шаги по конфигурации PKI, описанные в документации Elasticsearch.

Интеграция с сервисом сбора и хранения лога Apache Kafka#

Для интеграции с сервисом сбора и хранения лога Apache Kafka:

  1. Определите параметры конфигурации Kintsugi (./helm/application/kintsugi/values.yaml) из таблицы:

    Параметр

    Пример

    Описание

    kafka.enabled

    true

    Устанавливает Apache Kafka хранилищем логов (true/false)

    kafka.hosts.host

    kafka.kintsugi.example.test

    Адрес хоста Apache Kafka

    kafka.hosts.ip

    10.xx.xx.xx

    IP-адрес Apache Kafka

    kafka.hosts.port

    5555

    Порт Apache Kafka

    kafka.topic

    test

    Имя топика(ов) Apache Kafka

  2. Определите параметры конфигурации Istio (./helm/application/istio-kintsugi/values.yaml) из таблицы:

    Параметр

    Пример

    Описание

    global.kafka.resolution

    STATIC

    Метод разрешения хоста Kafka (DNS или STATIC)

    global.kafka.kintsugi.hosts

    []

    Список хостов Kafka для Kintsugi

    global.kafka.alerting.hosts

    []

    Список хостов Kafka для оповещений

    global.kafka.alerting.producerReconnectionDelay

    15

    Задержка переподключения продюсера Kafka

  3. Для работы с кластером Apache Kafka в режиме безопасного соединения выполните конфигурацию PKI.

Настройка интеграции с системой мониторинга#

Настройка интеграции с системой мониторинга Kintsugi рассматривается на примере конфигурации сервисов хранения данных о метриках TimescaleDB и VictoriaMetrics.

Системный мониторинг#

Для интеграции с Platform V Monitor требуется конфигурация агента по сбору метрик (не поставляется в составе дистрибутива).

Для этого необходимо использовать API-ресурс /metrics компонент Kintsugi.

Все полученные агентом данные могут быть визуализированы с помощью инструмента Grafana. Для этого импортируйте конфигурации панелей мониторинга.

Пример конфигурации:

Мониторинг БД#

Для интеграции с сервисом хранения данных о метриках TimescaleDB, определите параметры конфигурации Kintsugi (./helm/application/kintsugi/values.yaml) из таблицы:

Параметр

Пример

Описание

timescaledb.user

postgres

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

timescaledb.host

10.xx.xx.xx

Адрес TimescaleDB

timescaledb.port

5555

Порт TimescaleDB

timescaledb.dbname

kintsugi_db-example

Имя БД

Для интеграции с сервисом хранения данных о метриках VictoriaMetrics, определите параметры конфигурации Kintsugi в файле (./helm/application/kintsugi/values.yaml):

Параметр

Пример

Описание

secrets.victoriaMetrics.existingSecretName

""

Имя существующего секрета для VictoriaMetrics

secrets.victoriaMetrics.auth.secret.select

user:user

Данные аутентификации для чтения хранилища метрик VictoriaMetrics

secrets.victoriaMetrics.auth.secret.insert

user:user

Данные аутентификации для записи в хранилище метрик VictoriaMetrics

global.victoriaMetrics.enabled

false

Включение/отключение VictoriaMetrics

global.victoriaMetrics.host

"kintsugi.example.test"

Хост VictoriaMetrics

global.victoriaMetrics.ip

"10.xx.xx.xx"

Список IP-адресов хранилища метрик VictoriaMetrics

global.victoriaMetrics.port

"5555"

Порт хранилища метрик VictoriaMetrics

global.victoriaMetrics.resolution

DNS

Способ разрешения доменного имени сервиса (DNS/STATIC)

Конфигурация сетевого доступа для взаимодействия с внешними сервисами#

Для интеграции с внешними сервисами подготовьте файл с конфигурацией helm-шаблона ./helm/application/istio-kintsugi/values.yaml.

Произведите конфигурацию следующих параметров:

Примечание

* Пример приведен для подключения к внешнемук сервису Elasticsearch

Параметр

Пример

Описание

global.elastic.enabled

true

Устанавливает Elasticsearch хранилищем логов (true/false)

global.elastic.host

""

Хост Elasticsearch

global.elastic.ip

10.xx.xx.xx

IP-адрес Elasticsearch

global.elastic.port

5555

Порт Elasticsearch

Настройка интеграции сервиса AgentWay с системой Kintsugi agent (DBDA)#

Для настройки интеграции сервиса AgentWay с системой Kintsugi agent (DBDA):

  1. Настройте агент согласно разделу «Настройка интеграций» документа «Руководство по установке».

  2. Выпустите персональный сертификат ТУЗ Kintsugi agent (DBDA) для аутентификации в сервисе Kintsugi.

  3. Зарегистрируйте ТУЗ в OpenID провайдере.

  4. Сконфигурируйте механизм аутентификации с поддержкой сертификатов в OpenID провайдере. Пример конфигурации механизма аутентификации агента с поддержкой сертификатов в Platform V IAM SE (IAM): KeyCloak.SE (KCSE) приведен в разделе «Настройка интеграций» документа «Руководство по установке».