Настройка интеграции Kintsugi (DBCM)#
Настройка интеграции Kintsugi (DBCM) состоит из:
настройки интеграции сервиса AgentWay с системой Kintsugi agent (DBDA) (обязательно)
настройки интеграции Keycloak с сервером LDAP Active Directory (AD) (опционально)
Настройка интеграции сервиса AgentWay с системой Kintsugi agent (DBDA)#
Для настройки интеграции сервиса AgentWay с системой Kintsugi agent (DBDA):
Настройте агент согласно разделу «Настройка интеграций».
Подготовьте персональный сертификат ТУЗ Kintsugi agent (DBDA) для аутентификации в сервисе Kintsugi. Для этого выполните конфигурацию PKI-инфраструктуры одним из способов:
Скопируйте следующие сертификаты на хост, где установлен Kintsugi agent (DBDA).
Название файла
Описание
agent.crtФайл содержит сертификат Kintsugi agent (DBDA)
root_cert.crtФайл содержит цепочку доверенных сертификатов
Использование самоподписанных сертификатов#
В результате выполнения скрипта установки в директории /path/to/standard/package/conf/conf/secrets/ssl генерируется набор сертификатов и ключей:
Файл |
Описание |
|---|---|
|
Сертификат удостоверяющего центра |
|
Приватный ключ сертификата удостоверяющего центра |
|
Сертификат экземпляра keycloak |
|
Приватный ключ сертификата экземпляра keycloak |
|
Сертификат экземпляра reverse path proxy (OpenResty) |
|
Приватный ключ сертификата экземпляра reverse path proxy (OpenResty) |
|
Сертификат экземпляра агента по сборку метрик (KgAgent) |
|
Приватный ключ сертификата экземпляра агента по сборку метрик (KgAgent) |
Использование сертификатов, подписанных удостоверяющим центром#
Для выпуска сертификатов, подписанных удостоверяющим центром:
Подготовьте сертификаты, используя ваш удостоверяющий центр, и скопируйте в соответствии со списком:
Файл
Описание
Хост Kintsugi
Хост(ы) наблюдаемых БД
root_cert.crtСертификат удостоверяющего центра
+
+
client_cert.crtСертификат экземпляра reverse path proxy (OpenResty)
+
client_key.keyПриватный ключ сертификата экземпляра reverse path proxy (OpenResty)
+
agent.crtСертификат экземпляра агента по сборку метрик (KgAgent)
+
dc.crt(опционально)Сертификат промежуточного удостоверяющего центра или контроллера домена (если планируется интеграция с LDAPS сервером)
+
Запустите скрипт установки
./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Укажите путь к подготовленным сертификатам:
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):
Откройте настройки Keycloak.
Выберите необходимый Realm.
Перейдите в раздел User federation.
Нажмите кнопку Add LDAP Provider.
Сконфигурируйте настройки провайдера в следующих блоках:
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:389Enable StartTLS:
offUse Truststore SPI:
AlwaysConnection pooling:
offConnection timeout:
""Примечание
При нажатии кнопки Test connection появится сообщение: Successfully connected to LDAP.
Bind type:
simpleBind DN: distinguishedName пользователя с правами подключения к AD, например:
CN=Administrator,CN=Users,DC=my-site,DC=my-domain,DC=ruКак найти distinguishedName пользователя:


Bind credentials: пароль пользователя с правами подключения к AD
Примечание
При нажатии Test authentication появится сообщение: Successfully connected to LDAP.
LDAP searching and updating
Edit mode:
READ_ONLYUsers DN: distinguishedName папки AD, где хранятся учетные записи пользователей, например:
CN=Users,DC=my-site,DC=my-domain,DC=ruUsername LDAP attribute:
sAMAccountNameRDN LDAP attribute:
cnUUID LDAP attribute:
objectGUIDUser object classes:
person, organizationalPerson, user
Подключение с использованием протокола LDAPS#
Подключение к Keycloak с использованием протокола LDAP можно реализовать двумя способами:
Сгенерировать для инсталляции Kintsugi (DBCM) сертификаты подписанные доменным CA
Добавить LDAP-сертификаты сервера и УЦ в keycloak.jks, но не заменять самоподписанные сертификаты
Генерация сертификатов, подписанных доменным CA#
Для того, чтобы сгенерировать сертификаты подписанные доменным CA для инсталляции Kintsugi (DBCM):
Сгенерируйте и подпишите доменным CA следующие пары сертификатов:
agent;
client_cert;
keycloak.
Перезапишите самоподписанные сертификаты и ключи в папке
conf/conf/secrets/ssl:client_cert.crt;
client_key.key;
keycloak.crt;
keycloak.key;
root_cert.crt.
Остановите текущую инсталляцию 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, но не заменять самоподписанные сертификаты:
Подготовьте сертификаты УЦ и контролера домена.
Скопируйте сертификаты УЦ и контролера домена на машину, где установлен Kintsugi (DBCM).
Выполните команду:
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