Эта статья относится к устаревшей версии Dion on-premise 2024.05
Документация по актуальной версии Dion on-premise 2024.10 доступна по ссылке.
AD-Connector — это интеграционный компонент, который обеспечивает синхронизацию пользователей и групп из Active Directory в DION.
Возможности:
Обратите внимание: AD-Connector не позволяет аутентифицировать пользователей по доменным учетным записям. Для аутентификации пользователей используйте технологию SAML SSO.
AD-Connector поддерживает выборку пользователей из нескольких контейнеров и групп в Active Directory, а также задание критериев выборки пользователей (исключаются рабочие станции, серверы и контроллеры доменов). Также имеется возможность установки расписание обновления данных.
AD-Connector можно установить на отдельный сервер, или на один из наименее загруженных серверов Dion.
Дистрибутив AD-Connector можно скачать по ссылке.
синтаксис: dion-ad-connector [command] [arguments]
### Команды:
version - версия приложения
help - описание
### Для этих команд требуется указать файл конфигурации -config=ad-connector.yml
### Можно не указывать, если файл конфигурации находится в директории /etc/dion/ad-connector.yml
check-config - проверить корректность файла конфигурации
check-connect-ldap - проверить подключение к серверу Active Directory и показать несколько записей из AD
check-connect-dion - проверить подключение к Дион
get-users - показать пользователей из AD
[-limit 100] - лимит 0 или без флага - без лимита
[-encrypt] - шифровать данные
[-file] - сохранить в файлу. В конце к файлу добавиться порядковый номер файла
upload-file - выгрузить файл Дион. не более 4мб
-file - файл, который будет зашифрован и загружен в интеграционное api
get-schedule - получить расписание будущих запусков
[-limit 5] - кол-во следующих запусков. По умолчанию 5
sync-once - один раз получить данные из ldap и отправить их в Дион
sync - запуск получения данных из ldap и отправки в Дион по расписанию
### Переменные окружения
CLI_MODE=true - вывод в командную строку будет подкрашен
LOG_LEVEL=-1 - уровень логирования -1, 0, 1
### Сервис dion-ad-connector
systemctl status dion-ad-connector - состояние сервиса
systemctl restart dion-ad-connector - перезапустить сервис
systemctl stop dion-ad-connector - остановить сервис (до следующего перезапуска системы)
systemctl disable dion-ad-connector - выключить запуск сервиса при загрузке системы
journalctl -u dion-ad-connector -f - логи сервиса (если не указан файл логов в конфигурации)
Скачайте и разархивируйте пакет AD-Connector:
cd /home/dion/
wget https://api.eric.s3storage.ru/dion-static/ad-connector/dion-ad-connector-1.2.0.tar
tar -xf dion-ad-connector-1.2.0.tar
Установите пакет:
cd /home/dion/package
sudo dpkg -i dion-ad-connector-1.2.0.deb
Создайте директорию для ключей:
mkdir /home/dion/ADCkey
cd /home/dion/ADCkey
Проверьте версию OpenSSL :
openssl version
Для новых версий OpenSSL (>3.0) создайте пару ключей в формате PKCS#1:
ssh-keygen -t rsa -m PEM -f private_key.pem -N "" <<< y
openssl rsa -pubout -in private_key.pem -out public_key.pem
Для старых версий OpenSSL (<3.0) создайте пару ключей в формате PKCS#1:
openssl genrsa -out private_key.pem 2048
openssl rsa -pubout -in private_key.pem -out public_key.pem
Обратите внимание, приватный ключ PKCS#1 должен начинаться со строки “-----BEGIN RSA PRIVATE KEY-----”
Отформатируйте приватный ключ таким образом, чтобы вместо переноса строки были символы “/n”
sed ':a;N;$!ba;s/\n/\\n/g' private_key.pem > converted_private_key.pem
Вставьте отформатированный приватный ключ в файл vars в секцию PROCESSOR_PRIVATE_KEY= : на сервере Setup-VM
nano /home/dion/on_dion/inventories/dion.YourDomain.com/group_vars/all/vars.yaml
пример:
processor_private_key: "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEApB4U3mO0gSDT19zuHR1CSN...
Переустановите сервис customer_updater (выполняется на сервере Setup-vm):
dcmctl service install st_customer_updater
Перезапустите сервис st_customer_updater (выполняется на сервере Setup-vm):
dcmctl service restart st_customer_updater
Создайте интеграционный токен в административной панели Dion.
Для этого зайдите в панель Администратора Dion - Организации - Ваша организация - Общие настройки - Интеграционные токены.
Нажмите “Добавить интеграционный токен”
Введите описание токена, например “AD-Connector” и нажмите “создать”.
Скопируйте значение нового интеграционного токена, оно понадобится при редактировании конфигурационного файла далее.
Отредактируйте файл ad-connector.yml
sudo nano /etc/dion/ad-connector.yml
В блоке 1 укажите почтовый домен или несколько доменов через пробел:
domain_name: YourDomain.ru
В блоке 2 укажите путь к публичному ключу:
public_key_file: /home/dion/ADCkey/public_key.pem
В блоке 3 укажите адреса для интеграции и токен, созданный в административной панели Dion:
uri: https://api-integration-dion.YourDomain.ru/v1/customers/users
connection_test_uri: https://api-integration-dion.YourDomain.ru/v1/connection-test
token: XXX...
В блоке 4 укажите данные для подключения к Active Directory:
url: dc.YourDomain.ru
port: 389
ldaps: false
switch_to_tls: true
unauthenticated_bind: false
user_dn: CN=ldapAdminUser,CN=Users,DC=YourDomain,DC=ru
password: ldapAdminUserPassword
base_dn: OU=DionUsers,DC=YourDomain,DC=ru
В блоке 5 укажите атрибуты LDAP:
user_id: userPrincipalName
email: mail
name_attr: cn
position_attr: title
В качестве атрибута имени (name_attr) также можно указать “displayname” (маленькими буквами).
В блоке 6 укажите критерии поиска LDAP:
base_dn: OU=DionUsers,DC=YourDomain,DC=ru
filter: "(&(objectClass=user)(memberOf= CN=Dion Users,OU=Groups,DC=YourDomain,DC=com))"
Убедитесь, что необходимые почтовые домены прописаны в настройках оргинизации административной панели Dion.
Зайдите на сервер с ролью DCM и запустите скрипт интеграции, указав имя вашего домена:
cd /etc/dion/dcm/scripts/
sudo chmod +x customer-updater-add-org.sh
./customer-updater-add-org.sh YourDomain.com
Адрес сервера с ролью DCM можно посмотреть на установочной машине в файле /home/dion/on_dion/inventories/dion.yourdomain.com/hosts
Сделайте тест работы на сервере, где установлен AD-Connector:
dion-ad-connector check-config
dion-ad-connector check-connect-ldap
dion-ad-connector check-connect-dion
dion-ad-connector get-users
Если нет ошибок запустите синхронизацию:
dion-ad-connector sync-once
После запуска синхронизации примерно через 5 минут можно увидеть логи загрузки пользователей в базу данных на сервере Apps-VM:
docker logs st_customer_updater
Обратите внимание на раздел Известные проблемы 2024.05