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. Не изменяйте значения без необходимости. Неправильная конфигурация может привести к неработоспособности компонента.
Редактируйте только параметры со значениями вида !!! комментарий !!!.
Параметры каталога пользователей
- Active Directory, Samba DC, РЕД АДМ
- FreeIPA
| Параметр | Описание |
|---|---|
Behavior:Administration:RootAdministrator | Имя привилегированного пользователя в формате UserId_GUID.Где:
GUID можно с помощью команды на контроллере домена:Команда |
UserCatalog | В параметре задается каталог конечных пользователей.Пример настройки каталога
"Port": 389, "SecureSocketLayer": false). При таком соединении ваши данные не защищены.Важно: Не изменяйте настройки в параметре UserCatalog в секции SensitiveDataEncryption. |
| Параметр | Описание |
|---|---|
Behavior:Administration:RootAdministrator | Имя привилегированного пользователя в формате UserId_entryUUID.Где: entryUUID — уникальный идентификатор пользователя из FreeIPA.Примечание: если вы используете версию FreeIPA 4.6-4.9, уникальный идентификатор пользователя имеет значение entrydn.Получить entryUUID можно с помощью команды на контроллере домена:Команда |
UserCatalog | В параметре задается каталог конечных пользователей.Пример настройки каталога
|
Общие параметры
| Параметр | Описание |
|---|---|
Storage:SensitiveDataEncryption | Параметры Algorithm и Key заполняются автоматически при генерации ключа. Чтобы сгенерировать ключ, запустите скрипт am/tools/tool_encryption_db.sh:Algorithm и Key из конфигурационного файла Core Server для Access Manager 8.x (C:\inetpub\wwwroot\am\core\Web.config, тег encryptionSettings). Таким образом вы избежите повторного шифрования базы данных. |
Storage:Provider | Параметры подключения к базе данных.Microsoft SQL
PostgreSQL
SSL Mode возникает ошибка 08P01: unsupported startup parameter: ssl_renegotiation_limit, добавьте в конец строки параметр Server Compatibility Mode=Redshift. |
Authentication:Token:Sign | Поля publicKey и privateKey заполняются автоматически при генерации ключей для подписи токена пользователя. Чтобы сгенерировать ключи, запустите скрипт am/tools/tool_keygen.sh:Пример |
Authentication:bruteForceProtection | Защита от перебора. В строке bruteForceProtection через запятую укажите значения модулей, для которых вы хотите включить защиту от перебора.Подробнее о параметре — в разделе Включение защиты от перебора. |
UserCatalog:Providers:Ldap | Настройка LDAP-фильтров при поиске. Подробнее о параметре — в разделе LDAP-фильтр при поиске пользователей и групп в службе каталогов Вместо ручной настройки рекомендуется настраивать фильтрацию в мастере конфигурации. |
Licenses:Cleanup | Настройка механизма автоматического освобождения лицензий. В теге Cleanup укажите значение true для параметра Enabled и задайте значение для параметра Interval.Подробнее о параметрах — в разделе Настройка механизма отзыва лицензий. |
Behavior:Authentication:RequirePolicy:EnabledBehavior:Enrollment:RequirePolicy:Enabled | Настройка прав пользователей, не состоящих в политике. В параметре Authentication для параметра Enabled укажите значение false, чтобы разрешить пользователю аутентификацию в User Console.В параметре Enrollment для параметра Enabled укажите значение false, чтобы разрешить пользователю самостоятельно обучать аутентификаторы.Подробнее о параметрах — в разделе Настройка прав пользователей вне политики. |
Параметры кеширования
Core Server хранит сессии и временные данные в кеше. Кеш может храниться в оперативной памяти хоста или в отдельной базе данных PostgreSQL, общей для всех серверов Core Server. Распределенный кеш настраивается в мастере конфигурации — шаг Базы данных.
| Параметр | Формат | Описание |
|---|---|---|
Cache:Provider | string | Заполняется мастером конфигурации. Провайдер кеширования. Если настроен распределенный кеш, задается значение PostgreSql.Значение по умолчанию: InMemory.Возможные значения: InMemory или PostgreSql. |
Cache:InMemory | — | Секция настроек провайдера InMemory. Используется, если распределенный кеш не настроен. |
Cache:PostgreSql:ConnectionString | string | Строка подключения к базе данных распределенного кеша. Обязательный параметр для провайдера PostgreSql. |
Cache:PostgreSql:SchemaName | string | Схема базы данных для таблицы кеша. Обязательный параметр, не может быть пустым. Имя может содержать латинские буквы, цифры и символ подчеркивания, не может начинаться с цифры, максимальная длина — 63 байта. Значение по умолчанию: public. |
Cache:PostgreSql:TableName | string | Название таблицы для хранения кеша. Обязательный параметр, не может быть пустым. Имя может содержать латинские буквы, цифры и символ подчеркивания, не может начинаться с цифры, максимальная длина — 63 байта. Длина ключа кеша не превышает 449 символов. Значение по умолчанию: cache. |
Cache:PostgreSql:CreateIfNotExists | boolean | Автоматическое добавление таблицы кеша в базу данных, если эта таблица отсутствует. Значение по умолчанию: false. |
Cache:PostgreSql:UseWAL | boolean | Использование протокола предварительной записи (Write-Ahead Logging). Значение true ускоряет работу кеша, но делает репликацию базы данных невозможной.Значение по умолчанию: false. |
Cache:PostgreSql:ExpiredItemsDeletionInterval | TimeSpan | Интервал удаления просроченных записей из базы данных. Значение по умолчанию: 00:30:00 (30 минут).Возможные значения: от 00:05:00 (5 минут), без верхней границы. |
Cache:PostgreSql:DefaultSlidingExpiration | TimeSpan | Скользящий срок действия записи кеша. Применяется только к записям, для которых не задан ни скользящий, ни абсолютный срок. Срок хранится в базе данных в секундах, доли секунды отбрасываются. Значение по умолчанию: 00:20:00 (20 минут). |
Cache:ExpirationTimeouts | — | Секция сроков действия записей кеша для отдельных сервисов: UserService, StoreCredentials, AuthenticationTemplate, AuthenticationSession и ClientCacheUpdateInfo.Значения AuthenticationTemplate:AbsoluteExpiration и AuthenticationSession:AbsoluteExpiration не должны превышать значение UserService:AbsoluteExpiration. |
Cache:ExpirationTimeouts:<сервис>:SlidingExpiration | TimeSpan | Скользящий срок действия записи кеша для сервиса. Значение по умолчанию: не задано. Возможные значения: больше 00:00:00, без верхней границы. |
Cache:ExpirationTimeouts:<сервис>:AbsoluteExpiration | TimeSpan | Абсолютный срок действия записи кеша для сервиса. Значение по умолчанию: 00:15:00 (15 минут).Возможные значения: больше 00:00:00, без верхней границы. |
Дополнительные параметры конфигурации
В конфигурационном файле am/core-server.docker-compose.yml доступны дополнительные параметры для расширенной настройки, описанные в разделе Настройка времени ожидания для LDAP-соединения.
Перезапуск контейнера
После редактирования конфигурационного файла необходимо перезапустить контейнер с приложением с помощью команды sudo docker compose up -d.
Шифрование конфигурационного файла
Чтобы зашифровать или расшифровать чувствительные данные в конфигурационных файлах, используйте утилиту protector.sh.
Подробнее — в разделе Шифрование конфигурационных файлов.
Сбор логов
Информация по включению логирования и сбору логов компонента Core Server находится в разделе Сбор логов серверных компонентов.