Установка Avanpost IDM на RedOS

Навигатор по разделу:

Требования к программному обеспечению 

Операционная система

RedOS 

СУБДPostgreSQL 13 и выше
Веб-серверAngie 1.6 и выше
Среда исполнения
  • aspnetcore-runtime
  • dotnet-runtime

Подготовка к установке

Перед установкой Avanpost IDM необходимо подготовить сервер:

  1. На сервере настроить сеть и обеспечить доступ к Интернету для установки необходимых компонентов.
  2. Во внутренний DNS добавить три A записи для компонентов IDM по шаблону:
Шаблон A записей для компонентов IDM
adm.[внутренний домен компании] - [IP адрес сервера IDM]
user.[внутренний домен компании] - [IP адрес сервера IDM]
idm.[внутренний домен компании] - [IP адрес сервера IDM]
Пример A записей для компонентов IDM
adm.avanpost.local - 192.168.1.11
user.avanpost.local - 192.168.1.11
idm.avanpost.local - 192.168.1.11

Установка Avanpost IDM

После подготовки сервера можно переходить к установке Avanpost IDM. Для этого необходимо подключиться к подготовленному серверу по SSH и выполнить шаги:

Шаг 1. Установить PostgreSQL и развернуть БД

Примечание

Дополнительная информация по установке PostgreSQL находится тут

Для этого требуется:

  1. Установить пакет PostgreSQL и активировать поток модуля:
    sudo dnf install postgresql13-server
    sudo postgresql-13-setup initdb 
  2. Инициализировать БД и включить автоматический старт:
    sudo systemctl enable postgresql-13.service --now
    sudo systemctl start postgresql-13.service
    sudo systemctl status postgresql-13.service
  3. Создать УЗ в ОС для подключения к БД.

    Далее в качестве примера используется логин "db_idm_user".

    Примечание

    Задать имя УЗ и пароль к ней в соответствии с внутренними правилами именования сервисных УЗ и парольных политик.

    Сохранить логин и пароль в соответствии с внутренними правилами. 

  4. В БД PostgreSQL создать пользователя "db_idm_user" с привилегиями суперпользователя:
    sudo -u postgres createuser --superuser --interactive --pwpromp db_idm_user
    # задать пароль  
  5. Создать новую базу данных с именем "idm":
    sudo -u postgres createdb idm

Шаг 2. Настроить конфигурацию PostgreSQL

Для настройки подключения к БД с аутентификацией пользователя по паролю требуется:

  1. Открыть для редактирования конфигурационный файл "/var/lib/pgsql/data/pg_hba.conf":
    sudo nano /var/lib/pgsql/13/data/pg_hba.conf
  2. В конфигурационном файле заменить тип аутентификации для local и host подключений на "md5".
    Для этого необходимо:
    1. Закомментировать строки, дописав # в начало:
      local   all             all                                     peer
      host    all             all             127.0.0.1/32            ident
    2. Добавить строки:
      local   all             all                                  md5
      host    all             all             0.0.0.0/0            md5


  3. Перезапустить PostgreSQL:
    sudo systemctl restart postgresql-14.service
  4. Протестировать подключение:
    psql -U db_idm_user idm
    --/Ввести пароль/--
    idm=> \q

Шаг 3. Установить Angie

Примечание

Дополнительная информация по установке Angie

Для этого требуется:

  1. 3Создать и открыть для редактирования файл "/etc/yum.repos.d/angie.repo":
    sudo nano /etc/yum.repos.d/angie.repo
  2. Поместить в файл "/etc/yum.repos.d/angie.repo" следующее:
    /etc/yum.repos.d/angie.repo
    [angie]
    name=Angie repo
    baseurl=https://download.angie.software/angie/redos/$releasever/
    gpgcheck=1
    enabled=1
    gpgkey=https://angie.software/keys/angie-signing.gpg.asc
  3. Установить пакет "angie":
    sudo yum install -y angie
    
  4. Запустить сервис "angie" и добавить его в автозапуск:
    sudo systemctl start angie
    sudo systemctl enable angie
  5. Разрешить локальный проброс портов:
    sudo setsebool -P httpd_can_network_connect 1

Шаг 4. Настроить Firewalld

Примечание

Если установлен Firewalld, то выполнить настройки ниже

Для этого необходимо добавить доступ к протоколам HTTP и HTTPS в зону "public" с помощью команд:

sudo firewall-cmd --zone=public --add-service=http
sudo firewall-cmd --zone=public --add-service=https
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https

Шаг 5. Создать пользователя "avanpost"

Для этого необходимо выполнить команду:

sudo useradd -M avanpost

Шаг 6. Создать каталог для приложения и настроить доступ к нему

Для этого необходимо выполнить команды:

sudo mkdir -p /opt/avanpost/
sudo chown -R avanpost:avanpost /opt/avanpost

Шаг 7. Установить aspnetcore-runtime и dotnet-runtime

Примечание

Дополнительная информация по установке тут

Для этого необходимо:

  1. Установить пакеты:
    sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm
    sudo dnf install dotnet-sdk-8.0 -y
  2. Проверить установку с помощью команды:
    dotnet --info
Пример корректного вывода команды
dotnet --info 
>.NET SDKs installed:
>  8.0.100 [/usr/share/dotnet/sdk]
>.NET runtimes installed:
>  Microsoft.AspNetCore.App 8.0.0 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
>  Microsoft.NETCore.App 8.0.0 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Шаг 8. Установить дистрибутив Avanpost IDM

Для этого необходимо:

  1. Авторизоваться под пользователем "avanpost":
    sudo su - avanpost
    
  2. Перейти в каталог "/opt/avanpost":
    cd /opt/avanpost
  3. Добавить файл дистрибутива IDM Base в каталог "/opt/avanpost".
  4. Создать каталог "/opt/avanpost/idm":
    mkdir /opt/avanpost/idm
  5. Распаковать архив с дистрибутивом с помощью команды по шаблону и заменить в команде [Version] на номер актуальной версии Avanpost IDM.
    Шаблон команды
    unzip Avanpost.Idm.[Version].zip -d idm
  6. Создать каталог конфигурации "/opt/avanpost/config":
    mkdir /opt/avanpost/config
  7. Создать каталог для коннекторов "/opt/avanpost/connectors":
    mkdir /opt/avanpost/connectors
  8. Сгенерировать ключ шифрования:
    dd if=/dev/urandom bs=32 count=1 | base64 > /opt/avanpost/config/key
  9. Разместить файл лицензии "license.xml" в каталоге "/opt/avanpost/config" с помощью SFTP клиента.

    Примечание

    Вместо SFTP можно воспользоваться командой scp:

    Шаблон команды
    scp [Путь до файла] [реквизиты для подключения по SSH]:[Полный путь папки назначения]

Шаг 9. Настроить файлы конфигурации

Для этого требуется:

  1. Для создания новой конфигурации скопировать файл "idm/configs/config.example" в "/opt/avanpost/config/iga.config" и открыть его для редактирования:
    sudo cp idm/configs/config.example /opt/avanpost/config/iga.config 
    sudo nano config/iga.config
  2. Установить значения параметров в соответствии с таблицей: 
    Таблица – Описание и настройка параметров конфигурационного файла
    ПараметрОписаниеЗначение
    connectorsFolder

    Путь к папке хранения коннекторов

    Указать /opt/avanpost/connectors

    rootUserПривилегированный пользователь в домене

    Указать логин пользователя по шаблону:  [Realm]\\[логин]

    defaultRealm

    Домен по умолчанию. Realm определяет область аутентификации пользователей.

    Например: avanpost.local
    hostIP адрес сервера каталога LDAPНапример: 192.168.1.44
    bindDN

    DN для привязки к LDAP-серверу (DN – идентифицирующее имя объекта в LDAP-директории)

    Полный DN в формате: cn=[Имя],dc=[Домен2ур],dc=[Домен1ур]

    passwordПароль пользователяУказать пароль пользователя
    usersBase

    Определяет базовый путь в структуре LDAP-директории, где хранятся и обрабатываются данные пользователей, используемые для процесса аутентификации.

    Указать путь до директории
    userNameAttribute

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


    Параметр не требуется для управляемой системы MS Active Directory, и может быть удален из конфигурации.
    connectionString

    Строка подключения к БД

    Указать строку по шаблону:
    host=127.0.0.1;database=idm;username=db_idm_user;password=[пароль пользователя db_idm_user]

  3. Создать файлы конфигурации кластера:
    cp idm/configs/idm/cluster.idm.config.json /opt/avanpost/config/idm-cluster.config
    cp idm/configs/iga/cluster.iga.config.json /opt/avanpost/config/iga-cluster.config 

Шаг 10. Настроить сервисы "idm" и "iga"

Для этого требуется:

  1. Скопировать пример файла конфигурации сервиса "idm" в каталог "systemd":
    sudo cp /opt/avanpost/idm/configs/idm/idm.service /etc/systemd/system/idm.service
  2. Скопировать пример файла конфигурации сервиса "iga" в каталог "systemd":
    sudo cp /opt/avanpost/idm/configs/iga/iga.service /etc/systemd/system/iga.service
  3. Открыть для редактирования файл "/etc/systemd/system/iga.service":
    sudo nano /etc/systemd/system/iga.service
  4. Заполнить файл "/etc/systemd/system/iga.service" по примеру:
    [Unit]
    Description=IGA App
    
    [Service]
    WorkingDirectory=/opt/avanpost/idm/web
    ExecStart=/usr/bin/dotnet /opt/avanpost/idm/web/Avanpost.Idm.Selfservice.WebHost.dll
    Restart=always
    RestartSec=10
    SyslogIdentifier=iga
    User=avanpost
    # В строке ниже задается локальный порт на котором будет подниматься приложение
    Environment="ASPNETCORE_URLS=http://localhost:5001/;http://localhost:5002/"
    Environment="ASPNETCORE_ENVIRONMENT=Production"
    Environment="DOTNET_PRINT_TELEMETRY_MESSAGE=false"
    Environment="IGA_CFG=/opt/avanpost/config/iga.config"
    Environment="CLUSTER_CFG=/opt/avanpost/config/iga-cluster.config"
    
    [Install]
    WantedBy=multi-user.target
  5. Добавить сервисы "idm" и "iga" в автозапуск и запустить их:
    sudo systemctl daemon-reload
    sudo systemctl enable idm
    sudo systemctl enable iga
    sudo systemctl start idm
    sudo systemctl start iga

Шаг 11. Настроить Angie

Для этого требуется:

  1. Открыть файл конфигурации Angie "/etc/angie/angie.conf" для редактирования:
    sudo nano /etc/angie/angie.conf
  2. В секцию http записать значение:
            map $http_upgrade $connection_upgrade {
                    default upgrade;
                    "" close;
            }
  3. Скопировать пример файла конфигурации Angie в "/etc/angie/http.d/avanpost.conf":
    sudo cp /opt/avanpost/idm/configs/idm/idm.conf.angie /etc/angie/http.d/avanpost.conf
  4. Открыть конфигурационный файл "/etc/angie/http.d/avanpost.conf" для редактирования:
    sudo nano /etc/angie/http.d/avanpost.conf
  5. В конфигурационном файле "/etc/angie/http.d/avanpost.conf" указать доменные имена для сервисов, которые перенаправляются Angie: 
    ПараметрЗначение
    server_name

    Адрес сервиса IDM для обращения к нему сервиса коннекторов в режиме обратного соединения в формате "idm.[ваш домен]"

    server_name

    Адрес web-интерфейса администрирования в формате "adm.[ваш домен]"

    server_name

    Адрес web-интерфейса пользователя в формате "user.[ваш домен]"

    [ваш домен] заменить на фактическое доменное имя
    Angie выполняет анализ запрашиваемого доменного имени и перенаправляет запрос на соответствующий порт, где запущен нужный сервис
  6. Проверить конфигурацию с помощью команды:
    sudo angie -t
    
    Пример корректного вывода команды
    # angie: the configuration file /etc/angie/angie.conf syntax is ok
    # angie: configuration file /etc/angie/angie.conf test is successful
  7. Перезапустить Angie:
    sudo systemctl restart angie

Шаг 12. Проверить работу сервера

Для проверки необходимо:

  1. Открыть веб-браузер и перейти по адресу "http://adm.[ваш домен]" (заменить [ваш домен] на фактическое доменное имя, настроенное на шаге 11.5 данной инструкции).
  2. Аутентифицироваться с использованием учетной записи, данные которой были указаны в файле "iga.config" в параметре "rootUser" на шаге 9.2 данной инструкции.
  3. Перейти по адресу "http://user.[ваш домен]" (заменить [ваш домен] на фактическое доменное имя, настроенное на шаге 11.5 данной инструкции).
  4. Аутентифицироваться с использованием учетной записи, данные которой были указаны в файле "iga.config" в параметре "rootUser" на шаге 9.2 данной инструкции.

Шаг 13. Загрузить конфигурацию

После завершения установки и проверки работы сервера выполнить загрузку конфигурации через интерфейс администратора IDM Base:

  1. Перейти в раздел "Администрирование" → "Миграция данных".
  2. Переключиться на вкладку "Импорт".
  3. Нажать "Выбрать архив конфигураций" и выбрать файл для загрузки: configs\Idm.Base.Configuration.zip.

Установка IDM Base завершена. Можно приступать к настройке кадровых источников.

Примечание

Подробнее о кадровых источниках см. статью "6.1.3. Настройка кадровых источников" руководства по администрированию

Дополнительная информация по настройке

Обсуждение