Перейти к основному содержимому
Версия: Indeed Access Manager 9.4

Indeed Core Server

Системные требования

Indeed Core Server (Core Server) — это основной модуль системы, который отвечает за:

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

Core Server кеширует данные при получении пользователя, группы, контейнера, сценариев авторизации и бизнес логики. Основные запросы в каталог — получение пользователя, группы, контейнера по ID — отдаются из кеша. Все остальные запросы — по имени, по телефону, email — только обновляют кеш данными из каталога. Первый запрос пользователя по ID также обновляет кеш, последующие берутся из кеша. Время жизни объекта в кеше — 10 минут.

Информация

В этом разделе описаны дополнительные настройки для Core Server, которые не являются обязательными для установки компонента. Конфигурационный файл am/core/app-settings.json можно изменить в любой момент.

Описание конфигурационного файла

Важно

В этом разделе описаны параметры конфигурационного файла Core Server am/core/app-settings.json. Не изменяйте значения без необходимости. Неправильная конфигурация может привести к неработоспособности компонента.

Редактируйте только параметры со значениями вида !!! комментарий !!!.

Параметры каталога пользователей

ПараметрОписание
Behavior:
Administration:
RootAdministrator
Имя привилегированного пользователя в формате UserId_GUID.

Где:
  • UserId — произвольный уникальный идентификатор каталога (параметр Id). Идентификатор может состоять только из букв и цифр, спецсимволы не поддерживаются.
  • GUID — уникальный идентификатор пользователя из Active Directory.
Получить GUID можно с помощью команды на контроллере домена:
Команда
Get-ADUser -Filter 'Name -like "<User logon name>"' | FT Name,ObjectGUID -A
Примечание: Пользователь, заданный в этом параметре, автоматически получит права первичного администратора при первой аутентификации в Management Console.
UserCatalogВ параметре задается каталог конечных пользователей.
Пример настройки каталога
"Administration": {
"RootAdministrator": "UserId_15511150-6804-4bf2-ac7c-b8a8520ea357"
},
"UserCatalog": {
"RootProvider": "UserId",
"Providers": {
"Ldap": [
{
"Id": "UserId",
"Domain": "second.com",
"Port": 636,
"SecureSocketLayer": true,
"LdapServerType": "ActiveDirectory",
"ContainerPath": "CN=users,DC=second,DC=com",
"UserName": "admin@second.com",
"Password": "password",
"UserMapRules": {
"Attributes": {
"SamCompatibleName": "sn"
}
}
}
]
},
  • RootProvider — идентификатор корневого пользовательского каталога. Также с помощью этого параметра вы можете объединить несколько каталогов через правило OR.
  • Id — произвольный уникальный идентификатор каталога. Если вы планируете использовать базу данных от версии Access Manager 8.2.x, идентификаторы каталога должны совпадать.
  • Domain — имя домена или имя конкретного контроллера домена, в котором находится каталог.
  • Port — порт для соединения по протоколу LDAPS/LDAP, по умолчанию задано значение 636.
  • SecureSocketLayer — опция для включения или отключения SSL для защищенного соединения, по умолчанию указано значение true.
  • LdapServerType — настройка определяет тип LDAP-сервера, задайте значение ActiveDirectory.
  • ContainerPath — путь к контейнеру в виде Distinguished Name или весь домен, если для хранения пользователей используется весь домен.
  • UserName — имя сервисной учетной записи для подключения к каталогу пользователей.
  • Password — пароль сервисной учетной записи.
  • SamCompatibleName — имя атрибута LDAP со значением sn для формирования совместимого имени пользователя (sAMAccountName). Используйте для работы модуля RDP Windows Logon с каталогом пользователей РЕД АДМ.
Важно: Не рекомендуется использовать незащищенное LDAP-соединение ("Port": 389, "SecureSocketLayer": false). При таком соединении ваши данные не защищены.

Важно: Не изменяйте настройки в параметре UserCatalog в секции SensitiveDataEncryption.

Общие параметры

ПараметрОписание
Storage:
SensitiveDataEncryption
Параметры Algorithm и Key заполняются автоматически при генерации ключа. Чтобы сгенерировать ключ, запустите скрипт am/tools/tool_encryption_db.sh:
sudo bash ./tool_encryption_db.sh --help
sudo bash ./tool_encryption_db.sh -a Aes
Примечание: Если при обновлении вы используете базу данных от Access Manager 8.x, укажите значения Algorithm и Key из конфигурационного файла Core Server для Access Manager 8.x (C:\inetpub\wwwroot\am\core\Web.config, тег encryptionSettings). Таким образом вы избежите повторного шифрования базы данных.
Storage:
Provider
Параметры подключения к базе данных.
Microsoft SQL
  • Type — тип используемой СУБД — Mssql.
  • ConnectionString — укажите следующие данные:
    • Data Source — IP-адрес сервера базы данных.
    • Initial Catalog — имя базы данных.
    • User ID — имя пользователя, который имеет полные права для базы данных.
    • Password — пароль пользователя.
    • TrustServerCertificate — доверие серверному сертификату. Убедитесь, что задано значение True для подключения Microsoft SQL к серверу.
"Provider": {
"Type": "Mssql",
"ConnectionString": "Data Source=192.168.1.22,57974;Initial Catalog=IndeedAM9log;User ID=IndeedAMservice;Password=Q12345qq;TrustServerCertificate=true;"
},
PostgreSQL
  • Type — тип используемой СУБД — PostgreSql.
  • ConnectionString — укажите следующие данные:
    • server — IP-адрес сервера базы данных.
    • port — используемый порт. По умолчанию — 5432.
    • user id — имя пользователя, который имеет полные права для базы данных.
    • password — пароль пользователя.
    • database — база данных, содержащая данные об Indeed Core Server.
    • SSL Mode — для подключения с использованием SSL.
"Provider": {
"Type": "PostgreSql",
"ConnectionString": "server=192.168.80.30;port=5432;user id=amservice;password=password;database=AMdebian2;SSL Mode=Require"
},
Если после добавления параметра SSL Mode возникает ошибка 08P01: unsupported startup parameter: ssl_renegotiation_limit, добавьте в конец строки параметр Server Compatibility Mode=Redshift.
Authentication:
Token:
Sign
Поля publicKey и privateKey заполняются автоматически при генерации ключей для подписи токена пользователя. Чтобы сгенерировать ключи, запустите скрипт am/tools/tool_keygen.sh:
sudo bash ./tool_keygen.sh
Пример
"Authentication": {
"Token": {
"Sign": {
"privateKey": "значение закрытого ключа",
"publicKey": "значение открытого ключа"
}
}
}

Дополнительные параметры конфигурации

В конфигурационном файле Core Server доступны дополнительные параметры для расширенной настройки, описанные в разделах:

Перезапуск контейнера

После редактирования конфигурационного файла необходимо перезапустить контейнер с приложением с помощью команды sudo docker-compose up -d.

Шифрование конфигурационного файла

  1. В терминале перейдите в каталог с утилитой для шифрования am/protection.
    cd /am/protection
  2. Выдайте права для запуска скрипта protector.sh.
    sudo chmod 500 protector.sh
  3. Чтобы зашифровать конфигурационные файлы, запустите скрипт protector.sh с параметром protect.
    sudo bash ./protector.sh protect

Проверка состояния сервера

Чтобы проверить состояние сервера, откройте браузер и введите адрес Core Server в формате:

https://<полное_dns_имя_сервера>/am/core

Далее происходит автоматическая переадресация на следующий URL-адрес:

https://<полное_dns_имя_сервера>/am/core/api/v6/healthCheck/index

Страница обновляется автоматически каждые 60 секунд.

На странице доступна следующая информация о состоянии сервера:

  • статус доступности каталога пользователей, время обработки запроса к нему;
  • статус хранилища, время обработки запроса к нему;
  • список установленных провайдеров аутентификации, их статус и время загрузки;
  • статус компонента Indeed Log Server;
    Важно

    Чтобы не получать ошибки при проверке состояния, рекомендуется использовать версию Log Server 9.3 и выше.

  • список ошибок при наличии.
Информация

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

Пример результата проверки
User Catalog{
"PreviousCheckSucceeded": true,
"CheckState": "Succeeded",
"CheckStartDate": "2025-02-27T11:18:53.4937754+00:00",
"CheckDuration": "00:00:00.0088105"
}

Storage{
"PreviousCheckSucceeded": true,
"CheckState": "Succeeded",
"CheckStartDate": "2025-02-27T11:18:53.4947917+00:00",
"CheckDuration": "00:00:00.0033496"
}

Authentication Providers{
"PreviousCheckSucceeded": false,
"CheckState": "Succeeded",
"CheckStartDate": "2025-02-27T11:12:53.5523742+00:00",
"CheckDuration": "00:00:00.0089791"
}

LogServer{
"PreviousCheckSucceeded": false,
"CheckState": "Succeeded",
"CheckStartDate": "2025-02-27T11:12:53.5643188+00:00",
"CheckDuration": "00:00:00.0457894"
}

Сбор логов

Информация по включению логирования и сбору логов компонента Core Server находится в разделе Сбор логов серверных компонентов.