Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Info | ||
---|---|---|
| ||
Файлы для indeed AM Server расположены: indeed AM\Indeed Access Manager Server\<Номер версии>\
|
Установка
Info | ||
---|---|---|
| ||
После установки сервера Indeed AM будет предложено выполнить настройку с помощью мастера конфигурации для этого не отключайте параметр "Запустить мастер настройки Indeed EA". |
- Выполнить установку Indeed AM Server через запуск инсталлятора IndeedAM.Server-x64.ru-ru.msi.
Scroll Pagebreak Добавить привязку https в настройках Default Web Site в IIS Manager.
Info title Информация Indeed AM Server является Web приложением, которое работает на базе IIS, в процессе установки для него по умолчанию включается обязательно требование SSL в настройках, что в свою очередь требует включенной привязки https.
Если вы не намерены использовать протокол https, необходимо отключить требование SSL в настройках IIS для easerver и в конфигурационном файле сервера (C:\inetpub\wwwroot\easerver\Web.config) изменить значение параметра "requireHttps" на "false".
Code Block language xml title Пример <appSettings> <add key="requireHttps" value="false" /> </appSettings>
- Запустите IIS Manager и раскройте пункт Сайты (Sites).
- Выберите сайт Default Web Site и нажмите Привязки (Bindings) в разделе Действия (Actions).
- Нажмите Добавить (Add):
- Тип (Type) - https.
- Порт (Port) - 443.
- Выберите SSL-сертификат (SSL Certificate).
Сохраните привязку.
Настройка с помощью мастера конфигурации.
Note | ||
---|---|---|
| ||
Мастер конфигурации по умолчанию запускается автоматически после установки Indeed AM Server, если запуск не был отключен пользователем. Для запуска мастера вручную откройте файл: C:\Program Files\Indeed EA\Wizard\EA.Server.Wizard.exe |
Info | ||
---|---|---|
| ||
В мастер включена автоматическая проверка введенных данных, в случае успешного ввода - поля будут подсвечены зеленым цветом и вы сможете перейти к следующему шагу, если данные введены некорректно, то поля будут подсвечены красным, и вы не сможете перейти к следующему шагу пока не укажете корректные данные. |
- На шаге "Перед началом работы" нажмите “Далее”.
- На шаге "Восстановление настроек" нажмите “Далее”.
- На шаге "Каталог пользователей" укажите следующие параметры:
- Имя домена (FQDN) - Укажите полное имя домена, например: domain.local.
- Сервисная учетная запись - Укажите сервисную учетную запись, обладающую правами доступа к пользовательскому каталогу. Нажмите кнопку "Изменить" и укажите требуемые данные учетной записи.
- LDAP путь к каталогу - Укажите путь к каталогу с пользователями. Нажмите кнопку "Выбрать" и выберете требуемый контейнер или домен целиком.
Image Added
- На шаге "Хранилище данных" выберете тип хранилища Active Directory.
- Имя домена (FQDN) - Укажите полное имя домена, например: domain.local.
- Сервисная учетная запись - Укажите сервисную учетную запись, обладающую полными правами на контейнер, который будет использоваться в качестве хранилища данных Indeed. Нажмите кнопку "Изменить" и укажите требуемые данные учетной записи.
- LDAP путь к каталогу - Укажите путь к каталогу с пользователями. Нажмите кнопку "Выбрать" и выберете требуемый контейнер или домен целиком.
Image Added
Шаг "Ключ шифрования". Выберете алгоритм шифрования, нажмите "Сгенерировать" и нажмите "Далее".
Note title Информация Рекомендуется выполнить резервную копию ключа шифрования и сохранить в защищенном месте
На шаге "Журнальный сервер" укажите следующие данные:
Info title Информация Чтобы при тестировании соединения не возникало ошибок, требуется полностью настроенный лог-сервер, с настроенной базой данных или установленным компонентом EventLog. Если журнальный сервер не готов к работе, вы можете пропустить этот шаг.
Настройка через редактирование конфигурационного файла.
Info | ||
---|---|---|
| ||
Для сохранения изменений в конфигурационном файле приложения, требуется запустить редактор с правами администратора. Ошибки, возникшие при развертывании сервера AM ( Например ошибка в конфигурационном файле ), будут логироваться исходя из настроек LogServer. Для генерации ключей шифрования рекомендуется использовать утилиту AM.KeyGen.exe, выбрав необходимый алгоритм из предложенного списка. |
Note | ||
---|---|---|
| ||
Если в пароле для сервисных пользователей используются следующие символы: &, ", <, пробел , то пароль следуют указывать так: Символ “амперсанд” (&) - При указании пароля для пользователя символ требуется заменить на: & Пример: password="Q1q2E3e4&" Символ “двойные кавычки” (") - При указании пароля для пользователя символ требуется заменить на: " Пример: password="Q1q2E3e4"" Символ “меньше” (<) - При указании пароля для пользователя символ требуется заменить на: < Пример: password="Q1q2E3e4<" |
- Откройте конфигурационный файл сервера Web.config (C:\inetpub\wwwroot\easerver\Web.config).
Добавить секретный ключ для подписи токена для параметра "secretKey" тега "logonSettings". Параметр "secretKey" используется для создания токена пользователя в формате "jwt".
Code Block language xml title Пример <logonSettings secretKey="67d7e6caec61d61239dc0b05f86063ed899931b581fa1ed8140d7843b320fe02"/>
Задать каталог пользователя системы, для этого необходимо отредактировать параметры в теге adUserCatalogProvider:
- id - произвольный уникальный идентификатор каталога.
- serverName - имя домена Active Directory, в котором находится каталог.
- containerPath - путь к контейнеру в виде Distinguished Name или весь домен, если для хранения пользователей используется весь домен.
- userName- имя сервисной учетной записи для подключения к каталогу пользователей.
- password - пароль сервисной учетной записи каталога пользователей в AD.
Code Block language xml title Пример <adUserCatalogProviders> <adUserCatalogProvider id="UserId" serverName="indeed-id.local" containerPath="DC=indeed-id,DC=local" userName="IndeedCatalogUser" password="Q1q2E3e4"/> </adUserCatalogProviders>
3.1. Настройка нескольких пользовательских каталогов.
Note title Информация Если настройка нескольких каталогов осуществляется в уже используемой системе Indeed (После выдачи первичных прав для администратора системы), и изменяется расположение администратора системы или префикс заданный в параметре "accessControlAdminSettings" , то потребуется удалить выданные ранее права и выполнить повторный запуск утилиты первичной конфигурации.
Для удаления прав необходимо удалить все вложенные объекты из контейнера CN=AccessGroupMember, расположенного в контейнере системы Indeed.
Info title Информация Если контейнеры находятся в разных доменах/лесах, то требуется создать пользователя для чтения данных с контейнера в своем домене/лесе.
a. Добавьте внутри тега adUserCatalogProviders строки для подключения к контейнерам.
Code Block language xml title Пример <userCatalogProviderSettings rootUserCatalogProviderId="user"> <userCatalogProviders> <sqlUserCatalogProviders></sqlUserCatalogProviders> <adUserCatalogProviders> <adUserCatalogProvider id="Ad1" serverName="demo.local" containerPath="OU=Indeed_Users,DC=demo,DC=local" userName="demo\ind-user" password="Q1q2E3e4" /> <adUserCatalogProvider id="Ad2" serverName="demo.local" containerPath="OU=inDomainUsers,DC=demo,DC=local" userName="demo\ind-user" password="Q1q2E3e4" /> <adUserCatalogProvider id="Ad3" serverName="inforest.demo.local" containerPath="OU=UsersInForest,DC=inforest,DC=demo,DC=local" userName="inforest\cataloguser1" password="Q1q2E3e4" /> <adUserCatalogProvider id="Ad4" serverName="newforest.local" containerPath="OU=Usersoutforest,DC=newforest,DC=local" userName="newforest\cataloguser2" password="Q1q2E3e4" /> </adUserCatalogProviders> </userCatalogProviders>
b. Добавьте внутри тега orUserCatalogProviders тег orUserCatalogProvider с параметром id.
Note title Информация Значение параметра id должно соответствовать значению заданному в параметре rootUserCatalogProviderId
c. Добавьте внутри тега orUserCatalogProvider тег userCatalogProviders. Внутри тега userCatalogProviders добавьте теги userCatalogProvider с параметром id, в котором указывается идентификатор пользовательского контейнера и ignoreExceptions со значением true, данный параметр игнорирует ошибку подключения к каталогу, если данный каталог не доступен.
Code Block language xml title Пример <orUserCatalogProviders> <orUserCatalogProvider id="user"> <userCatalogProviders> <userCatalogProvider id="Ad1" ignoreExceptions="true" /> <userCatalogProvider id="Ad2" ignoreExceptions="true" /> <userCatalogProvider id="Ad3" ignoreExceptions="true" /> <userCatalogProvider id="Ad4" ignoreExceptions="true" /> </userCatalogProviders> </orUserCatalogProvider> </orUserCatalogProviders>
Указать корневой идентификатор провайдера работы с каталогом, необходимо отредактировать атрибут rootUserCatalogProviderId в теге userCatalogProviderSettings.
Info title Информация При использовании нескольких пользовательских каталогов в параметре rootUserCatalogProviderId указывается общий идентификатор каталогов, заданный в параметре id тега orUserCatalogProvider.
- rootUserCatalogProviderId - задать значение, которое уже было задано в тэге adUserCatalogProvider в атрибуте id.
Code Block language xml title Пример <userCatalogProviderSettings rootUserCatalogProviderId="UserId">
- Задать хранилище данных системы. Для хранилища данных в Active Directory редактируем параметр rootDbContextId в теге dbContextSettings и параметры в тэге adDbContext.
- rootDbContextId - задать произвольно уникальное значение идентификатора хранилища.
- id - задать значение, которое уже было задано в тэге rootDbContextId.
- path - LDAP путь к контейнеру с данными в Active Directory. Рекомендуется указывать в формате "serverless binding"(Без жесткой привязки к серверу).
- userName - имя сервисной учетной записи для подключения к хранилищу.
- password - пароль сервисной учетной записи каталога пользователей в AD.
Code Block language xml title Пример <dbContextSettings rootDbContextId="IDRepository"> <adDbContexts> <adDbContext id="IDRepository" path="LDAP://indeed-id.local/OU=Indeed AM 7,DC=indeed-id,DC=local" userName="IndeedDataUser" password="Q1q2E3e4" /> </adDbContexts> </dbContextSettings>
Задать ключ шифрования данных системы. Редактируем параметры в теге encryptionSettings.
cryptoAlgName - указать использованный алгоритм шифрования.
cryptoKey - значения ключа, сгенерированного утилитой.
certificateThumbprint - Thumbprint сертификата, которым зашифрован ключ (чтобы не учитывать - нужно удалить атрибут).
Code Block language xml title Пример <encryptionSettings cryptoAlgName="Aes" cryptoKey="90ce7dbc3ff94a7867abc6672c23cce2c3717d38af42f04293130cb68a34ecc2"/>
Задать администратора системы. Редактируем параметр userId тега accessControlAdminSettings.
- userId - идентификатор пользователя в формате: “<Идентификатор каталога><нижнее подчеркивание><GUID Администратора Системы>”.
Note title Примечание Пользователь должен находится внутри каталога пользователей.
При использовании нескольких пользовательских контейнеров для <Идентификатор каталога> указывается id контейнера в котором находится администратор системы.
Code Block language xml title Пример <accessControlAdminSettings userId="UserId_84e9ccd9-73a2-43c7-abc6-604a16902037"/>
Info title Информация Получить GUID можно с помощью команды PowerShell. Предварительно необходимо установить компонент Remote Server Administration Tools:
Code Block language powershell title Пример Get-ADUser YouUserName -Properties * | Select ObjectGUID
Задаем url для подключения к лог серверу. Редактируем тег logServer.
URL - url для подключения к log серверу в формате http(s)://полное_dns_имя_сервера/ils/api.
Note title Примечание Если используется несколько серверов, указываем адрес балансировщика нагрузки.
- CertificateThumbprint- если закрытый ключ в реестре, а сертификат в хранилище компьютера.
- CertificateFilePath- если ключевая пара в pfx.
- CertificateFilePassword- пароль от pfx.
Code Block language xml title Пример <logServer Url="http://log.indeed-id.local/ils/api/" CertificateThumbprint="" CertificateFilePath="" CertificateFilePassword=""/>
Шифрование/Расшифрование конфигурационного файла.
- Запустите командную строку от имени "Администратора".
В командной строке перейдите в папку с утилитой для шифрования.
Note title Информация Утилита шифрует секции: logServer, logonSettings, userCatalogProviderSettings, encryptionSettings, dbContextSettings. Рекомендуется зашифровать все секции.
Шифрование/Расшифрование отдельных секций.
Для шифрования отдельной секции необходимо выполнить команду вида: EA.Config.Encryptor /encrypt "Путь к конфигурационному файлу сервера" "Имя секции"Code Block language bash title Пример EA.Config.Encryptor /encrypt "C:\inetpub\wwwroot\easerver\Web.config" "logServer"
Для расшифровки отдельной секции необходимо выполнить команду вида: EA.Config.Encryptor /decrypt "Путь к конфигурационному файлу сервера" "Имя секции"
Code Block language bash title Пример EA.Config.Encryptor /decrypt "C:\inetpub\wwwroot\easerver\Web.config" "logServer"
- Шифрование/Расшифрование всех секций.
Для шифрования необходимо запустить скрипт encryptConfigs.bat.
Для расшифровки необходимо выполнить скрипт decryptConfigs.bat
Настройка первичной конфигурации.
- Открыть для редактирования файл EA.Server.AccessControlInitialConfig.exe.config.
Редактировать атрибут key - параметр value необходимо поставить в значение true, если для авторизации мы хотим использовать Windows Token.
Если сервер находится не в домене, есть вариант использовать один из следующих провайдеров: windows password, emailOTP, smsOTP. Для этого value должно быть в положении false.Code Block language xml <appSettings> <add key="eaServerUrl" value="http://192.168.1.2/easerver/"/> <add key="isWindowsAuth" value="false"/> </appSettings>
- Запустить на доменной машине утилиту EA.Server.AccessControlInitialConfig.exe под пользователем, которого необходимо сделать администратором системы и который прописан в качестве администратора в тэге accessControlAdminSettings.
Backtotop