Настройка интеграции 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