You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 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 - Скрипт для расшифровки всех секций конфигурационного файла.

Установка

  1. Выполнить установку Indeed AM Server через запуск инсталлятора IndeedAM.Server-x64.ru-ru.msi.
  2. Добавить привязку 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>
    1. Запустите IIS Manager и раскройте пункт Сайты (Sites).
    2. Выберите сайт Default Web Site и нажмите Привязки (Bindings) в разделе Действия (Actions).
    3. Нажмите Добавить (Add):
      1. Тип (Type) - https.
      2. Порт (Port) - 443.
      3. Выберите SSL-сертификат (SSL Certificate).
    4. Сохраните привязку.


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

Информация

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

Информация

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

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

    Пример
    <logonSettings secretKey="67d7e6caec61d61239dc0b05f86063ed899931b581fa1ed8140d7843b320fe02"/>
  3. Задать каталог пользователя системы, для этого необходимо отредактировать параметры в теге adUserCatalogProvider:

    1. id - произвольный уникальный идентификатор каталога.
    2. serverName - имя домена Active Directory, в котором находится каталог.
    3. containerPath - путь к контейнеру в виде Distinguished Name или весь домен, если для хранения пользователей используется весь домен.
    4. userName - имя сервисной учетной записи для подключения к каталогу пользователей.
    5. password - пароль сервисной учетной записи каталога пользователей в AD.
    Пример
    <adUserCatalogProviders> 
    	<adUserCatalogProvider id="UserId" serverName="indeed-id.local" containerPath="DC=indeed-id,DC=local" userName="IndeedCatalogUser" 		password="Q1q2E3e4"/> 
    </adUserCatalogProviders>

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

    Информация

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

    Для удаления прав необходимо удалить все вложенные объекты из контейнера 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> 

     

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

    Информация

    При использовании нескольких пользовательских каталогов в параметре rootUserCatalogProviderId указывается общий идентификатор каталогов, заданный в параметре id тега orUserCatalogProvider.

    1. rootUserCatalogProviderIdзадать значение, которое уже было задано в тэге adUserCatalogProvider в атрибуте id.
    Пример
    <userCatalogProviderSettings rootUserCatalogProviderId="UserId">


  5. Задать хранилище данных системы. Для хранилища данных в Active Directory редактируем параметр rootDbContextId в теге dbContextSettings и параметры в тэге  adDbContext. 
    1. rootDbContextId - задать произвольно уникальное значение идентификатора хранилища.
    2. id - задать значение, которое уже было задано в тэге rootDbContextId.
    3. path - LDAP путь к контейнеру с данными в Active Directory. Рекомендуется указывать в формате "serverless binding"(Без жесткой привязки к серверу).
    4. userName - имя сервисной учетной записи для подключения к хранилищу. 
    5. 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>
  6. Задать ключ шифрования данных системы. Редактируем параметры в теге encryptionSettings.

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

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

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

    Пример
    <encryptionSettings cryptoAlgName="Aes" cryptoKey="90ce7dbc3ff94a7867abc6672c23cce2c3717d38af42f04293130cb68a34ecc2"/>
  7. Задать администратора системы. Редактируем параметр userId тега accessControlAdminSettings.

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

    Примечание

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

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

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

    Информация

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

    Пример
    Get-ADUser YouUserName -Properties * | Select ObjectGUID
  8. Задаем url для подключения к лог серверу. Редактируем тег logServer.

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

      Примечание

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

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

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

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

    Информация

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

    1. Шифрование/Расшифрование отдельных секций.
      Для шифрования отдельной секции необходимо выполнить команду вида: 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"
    2. Шифрование/Расшифрование всех секций.

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

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

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

  1. Открыть для редактирования файл EA.Server.AccessControlInitialConfig.exe.config.
  2. Редактировать атрибут 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>
  3. Запустить на доменной машине утилиту EA.Server.AccessControlInitialConfig.exe под пользователем, которого необходимо сделать администратором системы и который прописан в качестве администратора в тэге accessControlAdminSettings.





  • No labels