Установка и настройка на Linux
Indeed AM Core Server — это основной модуль системы, который отвечает за:
- централизованное хранение аутентификаторов, паролей и настроек пользователей;
- централизованное управление и администрирование;
- централизованный прием и обработку запросов от других модулей системы;
- координирование действий отдельных модулей и системы в целом.
Установка Core Server
Отдельно устанавливать Core Server не нужно. Компонент устнавливается автоматически при распаковке архива am-<номер версии>.tar.gz.
Редактирование конфигурационного файла
Для настройки Core Server измените конфигурационный файл app-settings.json (расположен в распакованном архиве в каталоге Indeed AM Linux 9.0\am\core).
Измените только параметры со значениями вида !!! комментарий !!!.
В параметре
Behavior
в строкеRootAdministrator
укажите имя привилегированного пользователя в формате ИдентификаторКаталога_GUIDПользоваетеляИзActiveDirectory, где ИдентификаторКаталога — это значение из параметраId
.Задайте каталог конечных пользователей, для этого измените следующие строки в параметре
UserCatalog
:RootProvider
— с помощью этого параметра вы можете объединить несколько каталогов через правилоOR
. Например, если у вас есть составной каталог Company, который состоит из каталогов Tech и HR, укажите параметры подключения к ним в секцииProviders
, а в правилеOR
укажите Company в параметреId
.
Пример настройки нескольких каталогов"UserCatalog": {
"RootProvider": "Company",
"Providers": {
"ActiveDirectory": [{
"Id": "Tech",
"Domain": "имя контроллера домена Active Directory",
"Port": 636,
"SecureSocketLayer": true,
"ContainerPath": "путь к контейнеру",
"UserName": "имя сервисной учетной записи",
"Password": "пароль от сервисной учетной записи"
},{
"Id": "HR",
"Domain": "имя контроллера домена Active Directory",
"Port": 636,
"SecureSocketLayer": true,
"ContainerPath": "путь к контейнеру",
"UserName": "имя сервисной учетной записи",
"Password": "пароль от сервисной учетной записи"
}
],
"OR": [
{
"Id": "Company",
"Providers": {
"Tech": {"IgnoreExceptions": true},
"HR": {"IgnoreExceptions": true}
}
}
]
},Id
— произвольный уникальный идентификатор каталога;Domain
— имя контроллера домена Active Directory, в котором находится каталог;Port
— для соединения по протоколу LDAPS укажите 636;SecureSocketLayer
— для соединения по протоколу LDAPS укажите true;ContainerPath
— путь к контейнеру в виде Distinguished Name или весь домен, если для хранения пользователей используется весь домен;UserName
— имя сервисной учетной записи для подключения к каталогу пользователей;Password
— пароль сервисной учетной записи.
Укажите параметры базы данных. Для этого измените следующие строки в параметре
Storage
:Важно!Настройки в параметре
UserCatalog
в секцииSensitiveDataEncryption
не изменяйте.Type
— укажите используемый тип базы данных. Поддерживаются PostgreSQL и Microsoft SQL.ConnectionString
— укажите следующие данные:- server — ip-адрес сервера базы данных.
- port — используемый порт. По умолчанию — 5432.
- user id — имя пользователя, который имеет полные права для базы данных.
- password — пароль пользователя.
- database — база данных, содержащая данные об Indeed AM Server.
В параметре
Authentication
создайте параметрSign
и укажите публичный и секретный ключи для подписи токена пользователя.Пример"Authentication": {
"Token": {
"Sign": {
"PrivateKey": "значение секретного ключа",
"PublicKey": "значение публичного ключа"
}
},Чтобы сгенерировать ключи, запустите утилиту AccessManager.KeyGen.Console.exe. Для корректной работы утилиты необходима установка .NET Core Runtime 6.
В параметре
--name
укажите имена файлов. Это обязательный параметр. Файлы генерируются с одинаковым именем, однако у файла публичного ключа указывается расширение PUB.В параметре
--output-directory
укажите путь к каталогу, в который сохранятся файлы ключевой пары. Вы можете указать относительный или абсолютный путь. Это необязательный параметр. Если вы не укажете путь, файлы ключевой пары сохранятся в каталоге Misc.
Получение первичных прав администратора
Для получения первичных прав, необходимых при ручной настройке компонентов, используйте скрипт FirstAccesControl.ps1 (находится в корне дистрибутива Indeed AM Linux 9.0).
- Откройте скрипт для редактирования и укажите следующее:
$amServerBaseUrl
— адрес Core Server;$name
— имя пользователя, которого вы хотите добавить в первичные администраторы;$pass
— пароль этого пользователя.
- Выполните скрипт.
При успешном выполнении скрипта пользователь будет добавлен как первичный администратор. После использования скрипт можно удалить.
В качестве пользователя в скрипте укажите того же пользователя, которого вы указываете в параметре RootAdministrator
конфигурационного файла Core Server app-settings.json.
Настройка начальной аутентификации
Для начальной аутентификации в Core Server и приложения Management Console и User Console настройте провайдер Windows Password.
Для аутентификации рекомендуется использовать защищенное соединение по протоколу LDAPS с использованием 636 порта.
Настройка задается в конфигурационном файле initial-settings.json (расположен в распакованном архиве в каталоге Indeed AM Linux 9.0\am\core).
Значения для этой настройки представлены в виде строки [{"F":<domain-regex-pattern>,"P":<port>,"S":<tls-enabled>},...]
. Чтобы сформировать значение для строки, используйте программу:
// Настройки для https://dotnetfiddle.net:
// Language: C#
// Project Type: Console
// Compiler: .NET 6
using System;
using System.Text.Json;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
Console.WriteLine(
JsonSerializer.Serialize(
JsonSerializer.Serialize(
new object[]
{
new
{
F = $"^{Regex.Escape("domain.com")}$",
P = 636,
S = true,
FH = "dc.domain.com"
},
})));
}
}
В примере определяется следующее правило подключения:
- домен domain.com (по регулярному выражению ^domain.com$);
- порт — 636;
- протокол TLS включен.
В результате выполнения на консоль будет выведена строка, значение которой вы должны указать в файле initial-settings.json в параметре StringValue
.
Отзыв лицензии
Пользователи из области действия политики могут закрепить за собой лицензии, распределенные на политику. Лицензия закрепляется за пользователем после успешной аутентификации.
Лицензия освобождается с помощью автоматического отзыва лицензий, если пользователь:
- будет удален из политики;
- был отключен или перемещен из области действия политики;
- был заблокирован или удален из Active Directory.
Чтобы настроить автоматический отзыв лицензии, настройте следующие параметры в файле app-settings.json:
- в секции
Licenses
:- параметр
Cleanup
отвечает за включение автоматического отзыва лицензий. Если установить значение true , отзыв включается. Значение false отключает отзыв. Если не указать значение, отзыв включается. - параметр
Interval
определяет, с какой частотой будут освобождаться лицензии. Значение по умолчанию — 1:00:00:00 (раз в день). - параметр
InactiveAtLeast
определяет, при каком периоде отсутствия активности со стороны пользователя должен произойти отзыв закрепленной за ним лицензии. Значение по умолчанию — 1:00:00:00 (не было активности за весь день).
- параметр