Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info
titleИнформация

Файлы для indeed AM Server расположены: indeed AM 7\Indeed Access Manager Server\<Номер версии>\

  • IndeedAM.Server-x64.ru-ru.msi - Пакет для установки Indeed Access Managerrprise Server.
  • /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 - Скрипт для расшифровки всех секций конфигурационного файла.

Установка

  1. Выполнить установку Indeed AM Server через запуск инсталлятора IndeedAM.Server-x64.ru-ru.msi.
    Scroll Pagebreak
  2. Добавить привязку https в настройках Default Web Site в IIS Manager.

    Info
    titleИнформация

    Indeed Access Manager Server является Web приложением, которое работает на базе IIS, в процессе установки для него по умолчанию включается обязательно требование SSL в настройках, что в свою очередь требует включенной привязки https.

    Если вы не намерены использовать протокол https, необходимо отключить требование SSL в настройках IIS для easerver и в конфигурационном файле сервера (C:\inetpub\wwwroot\easerver\Web.config) изменить значение параметра "requireHttps" на "false".

    <appSettings>
    <add key="requireHttps" value="false" />
    </appSettings>


    1. Запустите IIS Manager и раскройте пункт Сайты (Sites).
    2. Выберите сайт Default Web Site и нажмите Привязки (Bindings) в разделе Действия (Actions).
    3. Нажмите Добавить (Add):
      1. Тип (Type) - https.
      2. Порт (Port) - 443.
      3. Выберите SSL-сертификат (SSL Certificate).
    4. Сохраните привязку.

Настройка с помощью мастера конфигурации

Note
titleИнформация

Мастер конфигурации по умолчанию запускается автоматически после установки Indeed AM Server, если запуск не был отключен пользователем.

Для запуска мастера вручную откройте файл: C:\Program Files\Indeed EA\Wizard\EA.Server.Wizard.exe 


Info
titleИнформация

В мастер включена автоматическая проверка введенных данных, в случае успешного ввода - поля будут подсвечены зеленым цветом, и вы сможете перейти к следующему шагу, если данные введены некорректно, то поля будут подсвечены красным, и вы не сможете перейти к следующему шагу пока не укажете корректные данные. 

  1. На шаге "Перед началом работы" нажмите “Далее”.
  2. На шаге "Восстановление настроек" нажмите “Далее”.
  3. На шаге "Каталог пользователей" укажите следующие параметры:
    1. Имя домена (FQDN) - Укажите полное имя домена, например: domain.local.
    2. Сервисная учетная запись - Укажите сервисную учетную запись, обладающую правами доступа к пользовательскому каталогу. Нажмите кнопку "Изменить" и укажите требуемые данные учетной записи.
    3. LDAP путь к каталогу - Укажите путь к каталогу с пользователями. Нажмите кнопку "Выбрать" и выберете требуемый контейнер или домен целиком.
  4. На шаге "Хранилище данных" выберете тип хранилища Microsoft SQL.
  5. Строка подключения к базе данных - Нажмите "Изменить", чтобы задать данные для подключения к базе данных, которая будет использоваться в качестве хранилища данных Indeed AM.  
    1. Server name - Имя сервера БД.
    2. Выберете способ аутентификации SQL "Use SQL Server Authentication" и укажите данные сервисного пользователя, с полными правами для базы данных.
    3. В пункте "Select or enter a database name" выберете или укажите базу данных, которая будет использоваться в качестве хранилища Indeed AM.
    4. После выполнения настройки нажмите "Test Connection". При корректной конфигурации отобразиться окно с "Test connection succeeded".
    5. Нажмите "Ок" во всех окнах.
  6. Шаг "Ключ шифрования". Выберете алгоритм шифрования, нажмите "Сгенерировать" и нажмите "Далее".

    Note
    titleИнформация

    Настоятельно рекомендуется выполнить резервную копию ключа шифрования и сохранить в защищенном месте.


  7. На шаге "Журнальный сервер" укажите следующие данные: 

    Info
    titleИнформация

    Чтобы при тестировании соединения не возникало ошибок, требуется полностью настроенный лог-сервер, с настроенной базой данных или установленным компонентом EventLog. Если журнальный сервер не готов к работе, вы можете пропустить этот шаг.


    1. Адрес журнального сервера - URL для подключения к серверу в формате http(s)://полное_dns_имя_сервера/ils/ , например: http://logserver.demo.local/ils/
    2. Сертификат - Выберете сертификат для настройки двухстороннего TLS соединения.
    3. Журналируемое поле объекта каталога - Укажите формат в котором будет осуществляться логирование имени пользователя.
    4. Журналируемое поле компьютера - Укажите формат в котором будет осуществляться логирование поля "Компьютер".

      Info
      titleИнформация

      Для логирования в формате DNS потребуется дополнительная настройка

  8. Шаг "Сессионный секрет". Сгенерируйте секрет для подписи токена, для этого нажмите "Сгенерировать". После генерации нажмите "Далее".
  9. Шаг "Шифрование файла". Вы можете выполнить шифрование настроек конфигурационного файла.

    Note
    titleИнформация

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


  10. Шаг "Подтверждение". Убедитесь в корректности указанных данных и нажмите "Применить".

    Note
    titleИнформация

    Рекомендуется сделать резервную копию конфигурационного файла, по умолчанию параметр "Сохранить резервную копию параметров конфигурации" активен.


  11. Шаг "Результаты". Осуществляется проверка настроек и тестирование подключения к Indeed AM Server.

Настройка администратора системы

Note
titleИнформация

Пользователь, который указывается в качестве администратора системы должен находится в пользовательском каталоге.

  1. На шаге "Администратор системы" задайте учетную запись администратора Indeed. Указанной учетной записи будут выданы первичные права администратора системы.

    Info
    titleИнформация

    Для настройки администратора требуется установленный Indeed AM Windows Password, так как при выдаче первичных прав указанному пользователю, осуществляется аутентификация на сервере Indeed AM


  2. На шаге "Результаты" отображается статус настройки конфигурационного файла и статус настройки администратора системы.


Ручная настройка системы

Редактирование конфигурационного файла

Info
titleИнформация

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

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

Для генерации ключей шифрования рекомендуется использовать утилиту AM.KeyGen.exe, выбрав необходимый алгоритм из предложенного списка.


Note
titleИнформация

Если в пароле для сервисных пользователей используются следующие символы: &, ", ;, <, пробел , то пароль следуют указывать так: 

Символ амперсанд (&) - При указании пароля для пользователя из AD или SQL символ требуется заменить на: &amp; Пример(AD\SQL): password="Q1q2E3e4&amp;"\Password=Q1q2E3e4&amp;;

Символ двойные кавычки (") - При указании пароля для пользователя из AD или SQL символ требуется заменить на: &quot; Для пользователя из SQL дополнительно требуется указать пароль в одинарных кавычках. Пример(AD\SQL): password="Q1q2E3e4&quot;"\Password='Q1q2E3e4&quot;';

Символ точка с запятой (;) - При указании пароля для пользователя из AD не требуется дополнительных действий, для пользователя из SQL требуется указать пароль в одинарных кавычках. Пример(AD\SQL): password="Q1q2E3e4;"\Password='Q1q2E3e4;';

Символ “меньше” (<) - При указании пароля для пользователя из AD или SQL символ требуется заменить на: &lt; Пример(AD\SQL): password="Q1q2E3e4&lt;"\Password=Q1q2E3e4&lt;;

Символ “Пробел” - При указании пароля для пользователя из AD не требуется дополнительных действий, для пользователя из SQL требуется указать пароль в одинарных кавычках. Пример(AD\SQL): password="Q1q2E3e4 "\Password='Q1q2E3e4 ';

Символ "Одинарной кавычки" (')  - При указании пароля для пользователя из AD не требуется дополнительных действий, для пользователя из SQL требуется указать пароль в &quot; , символ кавычки указать в обычном виде . Пример(AD\SQL): password="Q1q2E3e4'"\Password=&quot;Q1q2E3e4'&quot;;


  1. Откройте конфигурационный файл сервера Web.config (C:\inetpub\wwwroot\easerver\Web.config).
  2. Добавить секретный ключ для подписи токена для параметра "secretKey" тега "logonSettings" . Параметр "secretKey" используется для создания токена пользователя в формате "jwt".

    Code Block
    languagexml
    titleПример
    <logonSettings secretKey="67d7e6caec61d61239dc0b05f86063ed899931b581fa1ed8140d7843b320fe02"/>


  3. Задать каталог пользователя системы, для этого необходимо отредактировать параметры в теге adUserCatalogProvider:

    1. id - произвольный уникальный идентификатор каталога.
    2. serverName - имя домена Active Directory, в котором находится каталог.
    3. containerPath - путь к контейнеру в виде Distinguished Name или весь домен, если для хранения пользователей используется весь домен.
    4. userName - имя сервисной учетной записи для подключения к каталогу пользователей.
    5. password - пароль сервисной учетной записи каталога пользователей в AD.


    Code Block
    languagexml
    titleПример
    <adUserCatalogProviders> 
    	<adUserCatalogProvider id="UserId" serverName="indeed-id.local" containerPath="DC=demo,DC=local" userName="IndeedCatalogUser" 	password="Q1q2E3e4"/> 
    </adUserCatalogProviders>


  4. Указать корневой идентификатор провайдера работы с каталогом, необходимо отредактировать атрибут rootUserCatalogProviderId в теге userCatalogProviderSettings.
    1. rootUserCatalogProviderId -  задать значение, которое уже было задано в тэге adUserCatalogProvider в атрибуте id.


    Code Block
    languagexml
    titleПример
    <userCatalogProviderSettings rootUserCatalogProviderId="UserId">


  5. Задать хранилище данных системы. Для хранилища данных в SQL Server редактируем тег dbContextSettings и создаем тег mssqlDbContext с параметрами id и connectionString
    1. rootDbContextId - задать произвольно уникальное значение идентификатора хранилища.
    2. id - задать значение, которое уже было задано в тэге rootDbContextId.
    3. Добавить параметр connectionString, со встроенными параметрами:
      • Data Source - Задает экземпляр сервера. Это свойство является обязательным для всех соединений. Допустимые значения — сетевое имя или IP-адрес сервера, local или localhost для локальных соединений.
      • Initial Catalog - Определяет имя базы данных.
      • User Id - Имя пользователя для подключения к базе данных.
      • Password - Пароль пользователя для подключения к базе данных.
    Code Block
    languagexml
    titleПример
    <dbContextSettings rootDbContextId="mssql"> <mssqlDbContexts> <mssqlDbContext id="mssql" connectionString="Data Source=EASERVER\EASERVER;Initial Catalog=AM_Server_7;User Id=Admin-DB;Password=Q1q2E3e4;"/> </mssqlDbContexts> </dbContextSettings>


  6. Задать ключ шифрования данных системы. Редактируем параметры в теге encryptionSettings.

    1. cryptoAlgName - указать использованный алгоритм шифрования.

    2. cryptoKey - значения ключа, сгенерированного утилитой.

    3. certificateThumbprint - Thumbprint сертификата, которым зашифрован ключ (чтобы не учитывать - нужно удалить атрибут).

    Code Block
    languagexml
    titleПример
    <encryptionSettings cryptoAlgName="Aes" cryptoKey="90ce7dbc3ff94a7867abc6672c23cce2c3717d38af42f04293130cb68a34ecc2"/>


  7. Задать администратора системы. Редактируем параметр userId тега accessControlAdminSettings.

    1. userId - идентификатор пользователя в формате: “<Идентификатор каталога><нижнее подчеркивание><GUID Администратора Системы>”.
    Note
    titleПримечание

    Пользователь должен находится внутри каталога пользователей.

    При использовании нескольких пользовательских контейнеров для <Идентификатор каталога> указывается id контейнера в котором находится администратор системы.


    Code Block
    languagexml
    titleПример
    <accessControlAdminSettings userId="UserId_84e9ccd9-73a2-43c7-abc6-604a16902037"/>


    Info
    titleИнформация

    Получить GUID можно с  помощью команды PowerShell. Предварительно необходимо установить компонент  Remote Server Administration Tools:

    Code Block
    languagepowershell
    titleПример
    Get-ADUser YouUserName -Properties * | Select ObjectGUID



  8. Задаем url для подключения к лог серверу. Редактируем тег logServer.

    1. URL - url для подключения к log серверу в формате http(s)://имя сервера/ils/api.

      Note
      titleПримечание

      Если используется несколько серверов, указываем адрес балансировщика нагрузки.


    2. CertificateThumbprint - если закрытый ключ в реестре, а сертификат в хранилище компьютера.
    3. CertificateFilePath - если ключевая пара в pfx.
    4. CertificateFilePassword - пароль от pfx.
    Code Block
    languagexml
    titleПример
    <logServer Url="http://log.indeed-id.local/ils/api/" CertificateThumbprint="" CertificateFilePath="" CertificateFilePassword=""/>

    Настройка первичной конфигурации

    Note
    titleИнформация

    Пользователь, который указывается в качестве администратора системы должен находится в пользовательском каталоге.

    1. Открыть для редактирования файл AM.Server.AccessControlInitialConfig.exe.config.
    2. Редактировать атрибут key - параметр value необходимо поставить в значение true, если для авторизации мы хотим использовать Windows Token.
      Если сервер находится не в домене, есть вариант использовать один из следующих провайдеров: windows password, emailOTP, smsOTP. Для этого value должно быть в положении false.


      Code Block
      languagexml
      <appSettings> <add key="eaServerUrl" value="http://192.168.1.2/easerver/"/> <add key="isWindowsAuth" value="true"/> </appSettings>


    3. Запустить на доменной машине утилиту AM.Server.AccessControlInitialConfig.exe под пользователем, которого необходимо сделать администратором системы и который прописан в качестве администратора в тэге accessControlAdminSettings.

Настройка нескольких пользовательских каталогов 

Note
titleИнформация

Если настройка нескольких каталогов осуществляется в уже используемой системе Indeed (После выдачи первичных прав для администратора системы), и изменяется расположение администратора системы или префикс заданный в параметре "accessControlAdminSettings" , то потребуется удалить выданные ранее права и выполнить повторный запуск утилиты первичной конфигурации. 

Для удаления прав необходимо удалить все данный из таблицы DbAccessGroupMembers, расположенной в базе данных системы Indeed.


Info
titleИнформация

Если контейнеры находятся в разных доменах/лесах, то требуется создать пользователя для чтения данных с контейнера в своем домене/лесе.

  1.  Добавьте внутри тега adUserCatalogProviders строки для подключения к контейнерам.
Code Block
languagexml
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>

    2. Добавьте внутри тега orUserCatalogProviders тег orUserCatalogProvider с параметром id. 

Note
titleИнформация

Значение параметра id должно соответствовать значению заданному в параметре rootUserCatalogProviderId

    3. Добавьте внутри тега orUserCatalogProvider тег userCatalogProviders. Внутри тега userCatalogProviders добавьте теги userCatalogProvider с параметром id, в котором указывается идентификатор пользовательского контейнера и ignoreExceptions со значением true, данный параметр игнорирует ошибку подключения к каталогу, если данный каталог не доступен. 


Note
titleИнформация

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


Code Block
languagexml
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> 

 Пример структуры файла


Code Block
languageyml
titleПример
<accessControlAdminSettings userId="UserId_891f2b6c-9a55-4e1a-b69b-b4d6418f4c4c"/>
  <logonSettings secretKey="*****"/>
  <userCatalogProviderSettings rootUserCatalogProviderId="user">
  	<userCatalogProviders>
  		<sqlUserCatalogProviders>
  		</sqlUserCatalogProviders>
  		<adUserCatalogProviders>
  			<adUserCatalogProvider id="UserId" serverName="new.loc" containerPath="DC=new,DC=loc" 
				userName="indeed-users" password="Q1q2E3e4" />
			<adUserCatalogProvider id="UserId1" serverName="test.new.loc" containerPath="DC=test,DC=loc" 
				userName="indeed-users" password="Q1q2E3e4" />
  		</adUserCatalogProviders>
  	</userCatalogProviders>
  	<combineRules>
  		<orUserCatalogProviders>
			<orUserCatalogProvider id="user">
			   <userCatalogProviders>
				  <userCatalogProvider id="UserId" ignoreExceptions="true" />
				  <userCatalogProvider id="UserId1" ignoreExceptions="true" />
			   </userCatalogProviders>
			</orUserCatalogProvider>
  		</orUserCatalogProviders>
  		<andUserCatalogProviders>
  		</andUserCatalogProviders>
  	</combineRules>
  </userCatalogProviderSettings>


Шифрование/Расшифрование конфигурационного файла

  1. Запустите командную строку от имени "Администратора".
  2. В командной строке перейдите в папку с утилитой для шифрования.

    Note
    titleИнформация

    Утилита шифрует секции: logServer, logonSettings, userCatalogProviderSettings, encryptionSettings, dbContextSettings. Рекомендуется зашифровать все секции.


    1. Шифрование/Расшифрование отдельных секций.
      Для шифрования отдельной секции необходимо выполнить команду вида: EA.Config.Encryptor /encrypt "Путь к конфигурационному файлу сервера" "Имя секции"

      Code Block
      languagebash
      titleПример
      EA.Config.Encryptor /encrypt "C:\inetpub\wwwroot\easerver\Web.config" "logServer"

      Для расшифровки отдельной секции необходимо выполнить команду вида: EA.Config.Encryptor /decrypt "Путь к конфигурационному файлу сервера" "Имя секции" 

      Code Block
      languagebash
      titleПример
      EA.Config.Encryptor /decrypt "C:\inetpub\wwwroot\easerver\Web.config" "logServer"


    2. Шифрование/Расшифрование всех секций.

      Для шифрования всех секций необходимо запустить скрипт encryptConfigs.bat.

      Для расшифровки всех секций необходимо выполнить скрипт decryptConfigs.bat 


Backtotop


Divbox
classrightFloat

Table of Contents