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

Compare with Current View Page History

« Previous Version 15 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 (После выдачи первичных прав для администратора системы), и изменяется расположение администратора системы или префикс заданный в параметре "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> 

     

  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