Перейти к основному содержимому

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

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

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

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

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

  2. Подготовьте персональный сертификат ТУЗ Kintsugi agent (DBDA) для аутентификации в сервисе Kintsugi. Для этого выполните конфигурацию PKI-инфраструктуры одним из способов:

  3. Скопируйте следующие сертификаты на хост, где установлен Kintsugi agent (DBDA).

    Название файлаОписание
    agent.crtФайл содержит сертификат Kintsugi agent (DBDA)
    root_cert.crtФайл содержит цепочку доверенных сертификатов

Использование самоподписанных сертификатов​

В результате выполнения скрипта установки в директории /path/to/standard/package/conf/conf/secrets/ssl генерируется набор сертификатов и ключей:

ФайлОписание
root_cert.crtСертификат удостоверяющего центра
root_cert.keyПриватный ключ сертификата удостоверяющего центра
keycloak.crtСертификат экземпляра keycloak
keycloak.keyПриватный ключ сертификата экземпляра keycloak
client_cert.crtСертификат экземпляра reverse path proxy (OpenResty)
client_key.keyПриватный ключ сертификата экземпляра reverse path proxy (OpenResty)
agent.crtСертификат экземпляра агента по сборку метрик (KgAgent)
agent.keyПриватный ключ сертификата экземпляра агента по сборку метрик (KgAgent)

Использование сертификатов, подписанных удостоверяющим центром​

Для выпуска сертификатов, подписанных удостоверяющим центром:

  1. Подготовьте сертификаты, используя имеющийся удостоверяющий центр, и скопируйте в соответствии со списком:

    ФайлОписаниеХост KintsugiХост(ы) наблюдаемых БД
    root_cert.crtСертификат удостоверяющего центра++
    client_cert.crtСертификат экземпляра reverse path proxy (OpenResty)+
    client_key.keyПриватный ключ сертификата экземпляра reverse path proxy (OpenResty)+
    agent.crtСертификат экземпляра агента по сборку метрик (KgAgent)+
    dc.crt (опционально)Сертификат промежуточного удостоверяющего центра или контроллера домена (если планируется интеграция с LDAPS сервером)+
  2. Запустите скрипт установки ./DBM-unpack-X.X.X-std-XX-distrib.sh и откажитесь от использования самоподписанных сертификатов:

    ./DBM-unpack-X.X.X-std-XX-distrib.sh
    [20XX-XX-XX XX:XX:XX] Starting interactive installation
    Enter domain name [kintsugi.localhost]: my-domain.ru
    Enter IP address (optional): 192.XX.XX.XX
    Generate self-signed certificates? (y/n): n
  3. Укажите путь к подготовленным сертификатам:

    Path to web-server certificate: /Абсолютный/путь/к/сlient_cert.crt
    Path to web-server key: /Абсолютный/путь/к/сlient_cert.key
    Path to CA certificate: /Абсолютный/путь/к/root_cert.crt
    Path to domain controller certificate (optional): /Абсолютный/путь/к/dc.crt

Настройка интеграции Keycloak с сервером LDAP Active Directory (AD)​

Подключение с использованием протокола LDAP​

Для настройки интеграции Keycloak с сервером LDAP Active Directory (AD):

  1. Откройте настройки Keycloak.

  2. Выберите нужный Realm.

  3. Перейдите в раздел User federation.

  4. Нажмите кнопку Add LDAP Provider.

  5. Сконфигурируйте настройки провайдера в следующих блоках:

    • General options:

      • UI display name: МОЙ ДОМЕН
      • Vendor: Active Directory
    • Connection and authentication settings. Для сервера с доменным именем dc1.my-site.my-domain.ru задайте следующие значения параметрам:

      • Connection URL: ldap://dc1.my-site.my-domain.ru:389

      • Enable StartTLS: off

      • Use Truststore SPI: Always

      • Connection pooling: off

      • Connection timeout: ""

        примечание

        При нажатии кнопки Test connection появится сообщение: Successfully connected to LDAP.

      • Bind type: simple

      • Bind DN: distinguishedName пользователя с правами подключения к AD, например: CN=Administrator,CN=Users,DC=my-site,DC=my-domain,DC=ru

        Как найти distinguishedName пользователя:

        Включение расширенных функций

        Find distribution name

      • Bind credentials: пароль пользователя с правами подключения к AD

        примечание

        При нажатии Test authentication появится сообщение: Successfully connected to LDAP.

    • LDAP searching and updating

      • Edit mode: READ_ONLY
      • Users DN: distinguishedName папки AD, где хранятся учетные записи пользователей, например: CN=Users,DC=my-site,DC=my-domain,DC=ru
      • Username LDAP attribute: sAMAccountName
      • RDN LDAP attribute: cn
      • UUID LDAP attribute: objectGUID
      • User object classes: person, organizationalPerson, user

Подключение с использованием протокола LDAPS​

Подключение к Keycloak с использованием протокола LDAP можно реализовать двумя способами:

Генерация сертификатов, подписанных доменным CA​

Для того, чтобы сгенерировать сертификаты подписанные доменным CA для инсталляции Kintsugi (DBCM):

  1. Сгенерируйте и подпишите доменным CA следующие пары сертификатов:

    • agent;
    • client_cert;
    • keycloak.
  2. Перезапишите самоподписанные сертификаты и ключи в папке conf/conf/secrets/ssl:

    • client_cert.crt;
    • client_key.key;
    • keycloak.crt;
    • keycloak.key;
    • root_cert.crt.
  3. Остановите текущую инсталляцию Kintsugi (DBCM) и обновите keycloak.jks с новым сертификатом удостоверяющего центра:

    set -a
    export CA_PATH=./conf/secrets/ssl/root_cert.crt
    export JKS_OUTPUT_FOLDER=./conf/secrets/keycloak
    export JKS_NAME=truststore.jks
    source .env
    docker compose down && \
    docker run --platform linux/amd64 --rm \
    -v "${CA_PATH}:/opt/keycloak/ca.crt:ro" \
    --entrypoint sh \
    --env-file .env \
    "${KEYCLOAK_IMAGE}" \
    -c "keytool -alias kintsigi-ca \
    -keystore /tmp/${JKS_NAME} \
    -file /opt/keycloak/ca.crt \
    -storetype JKS \
    -importcert \
    -storepass ${KC_SPI_TRUSTSTORE_FILE_PASSWORD} \
    -noprompt && cat /tmp/${JKS_NAME}" > "${JKS_OUTPUT_FOLDER}/${JKS_NAME}" && \
    docker compose up -d
    set +a

Добавление LDAP-сертификатов сервера и УЦ в keycloak.jks без замены самоподписанных сертификатов​

Для того, чтобы добавить LDAP-сертификаты сервера и УЦ в keycloak.jks, но не заменять самоподписанные сертификаты:

  1. Подготовьте сертификаты УЦ и контролера домена.
  2. Скопируйте сертификаты УЦ и контролера домена на машину, где установлен Kintsugi (DBCM).
  3. Выполните команду:
set -a
export CA_PATH=<ПУТЬ К СЕРТИФИКАТУ УЦ>
export DC_PATH=<ПУТЬ К СЕРТИФИКАТУ КОНТРОЛЕРА ДОМЕНА>
export JKS_OUTPUT_FOLDER=./conf/secrets/keycloak
export JKS_NAME=truststore.jks
source .env
docker compose down && \
docker run --platform linux/amd64 --rm \
-v "${CA_PATH}:/opt/keycloak/ca.crt:ro" \
-v "${DC_PATH}:/opt/keycloak/dc.crt:ro" \
--entrypoint sh \
--env-file .env \
"${KEYCLOAK_IMAGE}" \
-c "keytool -alias my-ca \
-keystore /tmp/${JKS_NAME} \
-file /opt/keycloak/ca.crt \
-storetype JKS \
-importcert \
-storepass ${KC_SPI_TRUSTSTORE_FILE_PASSWORD} -noprompt \
&& keytool -alias my-dc \
-keystore /tmp/${JKS_NAME} \
-file /opt/keycloak/dc.crt \
-storetype JKS \
-importcert \
-storepass ${KC_SPI_TRUSTSTORE_FILE_PASSWORD} \
-noprompt && cat /tmp/${JKS_NAME}" > "${JKS_OUTPUT_FOLDER}/${JKS_NAME}" && \
docker compose up -d
set +a