- Created by Vladislav Fomichev, last modified on Dec 09, 2019
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 17 Next »
Информация
Файлы для indeed AM Server расположены: indeed AM\Indeed Access Manager Server\<Номер версии>\
- IndeedAM.Server-x64.ru-ru.msi - Пакет для установки Indeed AMprise Server 7
- /Misc/Templates - Шаблоны политик.
- /Misc/AM.KeyGen.exe - Утилита для генерации ключей шифрования.
- /Misc/AccessControlInitialConfig/EA.Server.AccessControlInitialConfig.exe - Утилита первичной конфигурации.
- /Misc/AccessControlInitialConfig/EA.Server.AccessControlInitialConfig.exe.config - Файл для настройки утилиты конфигурации.
- /Misc/AM.Config.Encryptor/EA.Config.Encryptor.exe - Утилита для шифрования конфигурационного файла.
- /Misc/AM.Config.Encryptor/EA.Config.Encryptor.exe/encryptConfigs.bat - Скрипт для шифрования всех секций конфигурационного файла.
- /Misc/AM.Config.Encryptor/EA.Config.Encryptor.exe/decryptConfigs.bat - Скрипт для расшифровки всех секций конфигурационного файла.
Установка
- Выполнить установку Indeed AM Server через запуск инсталлятора IndeedAM.Server-x64.ru-ru.msi.
Добавить привязку https в настройках Default Web Site в IIS Manager.
Информация
Indeed AM Server является Web приложением, которое работает на базе IIS, в процессе установки для него по умолчанию включается обязательно требование SSL в настройках, что в свою очередь требует включенной привязки https.
Если вы не намерены использовать протокол https, необходимо отключить требование SSL в настройках IIS для easerver и в конфигурационном файле сервера (C:\inetpub\wwwroot\easerver\Web.config) изменить значение параметра "requireHttps" на "false".
Пример<appSettings> <add key="requireHttps" value="false" /> </appSettings>
- Запустите IIS Manager и раскройте пункт Сайты (Sites).
- Выберите сайт Default Web Site и нажмите Привязки (Bindings) в разделе Действия (Actions).
- Нажмите Добавить (Add):
- Тип (Type) - https.
- Порт (Port) - 443.
- Выберите SSL-сертификат (SSL Certificate).
Сохраните привязку.
Редактирование конфигурационного файла.
Информация
Для сохранения изменений в конфигурационном файле приложения, требуется запустить редактор с правами администратора.
Ошибки, возникшие при развертывании сервера AM ( Например ошибка в конфигурационном файле ), будут логироваться исходя из настроек LogServer.
Для генерации ключей шифрования рекомендуется использовать утилиту AM.KeyGen.exe, выбрав необходимый алгоритм из предложенного списка.
- Откройте конфигурационный файл сервера Web.config (C:\inetpub\wwwroot\easerver\Web.config).
Добавить секретный ключ для подписи токена для параметра "secretKey" тега "logonSettings". Параметр "secretKey" используется для создания токена пользователя в формате "jwt".
Пример<logonSettings secretKey="67d7e6caec61d61239dc0b05f86063ed899931b581fa1ed8140d7843b320fe02"/>
Задать каталог пользователя системы, для этого необходимо отредактировать параметры в теге adUserCatalogProvider:
- id - произвольный уникальный идентификатор каталога.
- serverName - имя домена Active Directory, в котором находится каталог.
- containerPath - путь к контейнеру в виде Distinguished Name или весь домен, если для хранения пользователей используется весь домен.
- userName - имя сервисной учетной записи для подключения к каталогу пользователей.
- password - пароль сервисной учетной записи каталога пользователей в AD.
Пример<adUserCatalogProviders> <adUserCatalogProvider id="UserId" serverName="indeed-id.local" containerPath="DC=indeed-id,DC=local" userName="IndeedCatalogUser" password="Q1q2E3e4"/> </adUserCatalogProviders>
3.1. Настройка нескольких пользовательских каталогов.
Информация
Если настройка нескольких каталогов осуществляется в уже используемой системе Indeed (После выдачи первичных прав для администратора системы), и изменяется расположение администратора системы или префикс заданный в параметре "accessControlAdminSettings" , то потребуется удалить выданные ранее права и выполнить повторный запуск утилиты первичной конфигурации.
Для удаления прав необходимо удалить все вложенные объекты из контейнера CN=AccessGroupMember, расположенного в контейнере системы Indeed.
Информация
Если контейнеры находятся в разных доменах/лесах, то требуется создать пользователя для чтения данных с контейнера в своем домене/лесе.
a. Добавьте внутри тега adUserCatalogProviders строки для подключения к контейнерам.
Пример<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.
Информация
Значение параметра id должно соответствовать значению заданному в параметре rootUserCatalogProviderId
c. Добавьте внутри тега orUserCatalogProvider тег userCatalogProviders. Внутри тега userCatalogProviders добавьте теги userCatalogProvider с параметром id, в котором указывается идентификатор пользовательского контейнера и ignoreExceptions со значением true, данный параметр игнорирует ошибку подключения к каталогу, если данный каталог не доступен.
Пример<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.
Информация
При использовании нескольких пользовательских каталогов в параметре rootUserCatalogProviderId указывается общий идентификатор каталогов, заданный в параметре id тега orUserCatalogProvider.
- rootUserCatalogProviderId - задать значение, которое уже было задано в тэге adUserCatalogProvider в атрибуте id.
Пример<userCatalogProviderSettings rootUserCatalogProviderId="UserId">
- Задать хранилище данных системы. Для хранилища данных в Active Directory редактируем параметр rootDbContextId в теге dbContextSettings и параметры в тэге adDbContext.
- rootDbContextId - задать произвольно уникальное значение идентификатора хранилища.
- id - задать значение, которое уже было задано в тэге rootDbContextId.
- path - LDAP путь к контейнеру с данными в Active Directory. Рекомендуется указывать в формате "serverless binding"(Без жесткой привязки к серверу).
- userName - имя сервисной учетной записи для подключения к хранилищу.
- password - пароль сервисной учетной записи каталога пользователей в AD.
Пример<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 сертификата, которым зашифрован ключ (чтобы не учитывать - нужно удалить атрибут).
Пример<encryptionSettings cryptoAlgName="Aes" cryptoKey="90ce7dbc3ff94a7867abc6672c23cce2c3717d38af42f04293130cb68a34ecc2"/>
Задать администратора системы. Редактируем параметр userId тега accessControlAdminSettings.
- userId - идентификатор пользователя в формате: “<Идентификатор каталога><нижнее подчеркивание><GUID Администратора Системы>”.
Примечание
Пользователь должен находится внутри каталога пользователей.
При использовании нескольких пользовательских контейнеров для <Идентификатор каталога> указывается id контейнера в котором находится администратор системы.
Пример<accessControlAdminSettings userId="UserId_84e9ccd9-73a2-43c7-abc6-604a16902037"/>
Информация
Получить GUID можно с помощью команды PowerShell. Предварительно необходимо установить компонент Remote Server Administration Tools:
ПримерGet-ADUser YouUserName -Properties * | Select ObjectGUID
Задаем url для подключения к лог серверу. Редактируем тег logServer.
URL - url для подключения к log серверу в формате http(s)://полное_dns_имя_сервера/ils/api.
Примечание
Если используется несколько серверов, указываем адрес балансировщика нагрузки.
- CertificateThumbprint - если закрытый ключ в реестре, а сертификат в хранилище компьютера.
- CertificateFilePath - если ключевая пара в pfx.
- CertificateFilePassword - пароль от pfx.
Пример<logServer Url="http://log.indeed-id.local/ils/api/" CertificateThumbprint="" CertificateFilePath="" CertificateFilePassword=""/>
Шифрование/Расшифрование конфигурационного файла.
- Запустите командную строку от имени "Администратора".
В командной строке перейдите в папку с утилитой для шифрования.
Информация
Утилита шифрует секции: logServer, logonSettings, userCatalogProviderSettings, encryptionSettings, dbContextSettings. Рекомендуется зашифровать все секции.
Шифрование/Расшифрование отдельных секций.
Для шифрования отдельной секции необходимо выполнить команду вида: EA.Config.Encryptor /encrypt "Путь к конфигурационному файлу сервера" "Имя секции"ПримерEA.Config.Encryptor /encrypt "C:\inetpub\wwwroot\easerver\Web.config" "logServer"
Для расшифровки отдельной секции необходимо выполнить команду вида: EA.Config.Encryptor /decrypt "Путь к конфигурационному файлу сервера" "Имя секции"
Пример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.<appSettings> <add key="eaServerUrl" value="http://192.168.1.2/easerver/"/> <add key="isWindowsAuth" value="false"/> </appSettings>
- Запустить на доменной машине утилиту EA.Server.AccessControlInitialConfig.exe под пользователем, которого необходимо сделать администратором системы и который прописан в качестве администратора в тэге accessControlAdminSettings.
- No labels