Установка и настройка Indeed Enterprise Server 7.0 c хранилищем данных в SQL Server и каталогом пользователей в Active Directory
Автор Vladislav Fomichev, Last modified by Vladislav Fomichev на 16 ноября 2018 12:09 PM

В данной статье будет рассмотрен процесс установки и настройки Indeed Enterprise Server версии 7.0 в инфраструктуре, где в качестве хранилища данных используется SQL Server, в качестве каталога пользователей используется домен Active Directory.

Предварительные условия для установки:

  1. Наличие домена Active Directory (уровень функциональности леса и домена не ниже Windows Server 2008)
  2. Наличие у пользователя, под которым будет осуществляться установка и настройка системы прав на создание объектов в домене и выдачу прав для созданных объектов.
  3. Наличие выделенной виртуально или реальной серверной машины для развертывания Indeed Enterprise Server, включенной в домен.
  4. Наличие у пользователя прав локального администратора на серверной машине.

В статье установка будет производиться в домене indeed-id.local , а в качестве серверной машины будет выступать Windows Server 2012.

Создание базы данных и пользователя.

  1. Откройте SQL Server Management Studio.
  2. Подключитесь к SQL серверу указав данные для подключения.
  3. Создайте новую базу данных для хранения данных системы Indeed-id.
    1. Разверните компоненты вашего SQL сервера.
    2. Нажмите правой кнопкой мыши “Databases”.
    3. Выберите “New Database”.
  4. Введите имя для новой базы данных и нажмите “Ok”.
Создание учетной записи для работы с базой данных.
  1. Разверните узел “Security”, нажмите правой кнопкой мыши по “Logins”, выберите “New Login...”.
  2. На странице “General” выполните:
    1. Выберите “SQL Server authentication”.
    2. Введите имя пользователя и пароль.
    3. Отключите параметр “User must change password at the next login”.
      1. Выберите ранее созданную базу данных.
    4. На странице “Server Roles” добавьте роль “sysadmin”. Данная роль дает полные права пользователю на сервере.
    5. Нажмите “Ok”.
    Создание служебной учетной записи для работы с каталогом пользователей.
    1. Необходимо определиться, какой объект в домене будет являться каталогом пользователей для нашей системы. Это может быть либо весь домен (в этом случае система будет работать с пользователями всего домена). Либо это может быть отдельное подразделение - в этом случае система будет "видеть" только пользователей данного подразделения (OU). 

      В нашем примере мы будем использовать в качестве каталога пользователей весь домен indeed-id.local.

    2. Необходимо создать служебную учетную запись для работы системы с каталогом пользователей. От имени этой учетной записи сервер Indeed EA будет подключаться к каталогу пользователей из предыдущего пункта и получать информацию по пользователям из Active Directory. Для данной учетной записи необходимо выдать права на чтение на весь каталог пользователей, который был определен в предыдущем пункте.
      В нашем примере мы создадим пользователя IndeedCatalogUser, который и будет служебной записью для чтения данных пользователей домена. По-умолчанию у всех пользователей в домене есть права на чтение данных всех объектов в домене, если политикой безопасности не задано обратное, поэтому нашему пользователю не потребуется выдавать дополнительные права.
    Установка и настройка EA Server 7.0.
    1. Выполнить вход на серверную машину, выделенную для установки и настройки Indeed Enterprise Server 7.0, под пользователем с правами локального администратора.
    2.  Развернуть на серверной машине роль Web Server (IIS) со следующим списком компонентов:
      – Статическое содержимое (Static Content) 
      – Перенаправление HTTP (HTTP Redirection) 
      – ASP.NET 
      – Расширяемость .NET (.NET Extensibility) 
      – Расширения ISAPI (ISAPI Extensions) 
      – Фильтры ISAPI (ISAPI Filters) 
      – Обычная проверка подлинности (Basic Authentication) 
      – Windows-проверка подлинности (Windows Authentication) 
      – Консоль управления службами IIS (IIS Management Console) 
    3. Для ускорения и упрощения процесса установки роли IIS мы рекомендуем воспользоваться скриптом из следующей статьи: https://support.indeed-id.ru/Knowledgebase/Article/View/325/0/skript-dlya-avtomaticheskoi-ustanovki-roli-iis-dlya-dalneishei-korrektnoi-ustanovki-indeed-emcindeed-cm

      После запуска скрипта Вы получите сервер с ролью IIS со всеми необходимыми компонентами.
    4. Выполнить на сервере установку .NET Framework 4.5.2
    5. Выполнить установку Indeed Enterprise Server 7.0 через запуск инсталлятора IndeedEA.Server-v7.0.x64.ru-ru.msi (каталог \Indeed Enterprise Server\<номер версии>\ дистрибутива)
    6. Выполнить установку необходимых провайдеров аутентификации, которые планируются к использованию (каталог \Indeed Providers дистрибутива).

      Важно: для корректной работы всех провайдеров аутентификации (за исключением HOTP) требуется установка Indeed Bsp Broker (каталог \Indeed Providers\Indeed BspBroker\7.0.1\ дистрибутива).

      Установка провайдеров аутентификации и Indeed Bsp Broker производится через запуск соответствующих пакетов msi.

      В нашем примере мы выполним установку Indeed Software TOTP Provider (позволяет использовать для аутентификации OTP на мобильном устройстве сгенерированные, например, приложением Google Authenticator) и Indeed Bsp Broker (необходим для работы провайдера Indeed Software TOTP Provider, как отмечалось выше).

    7. Добавить привязку https в настройка Default Web Site в IIS Manager (Indeed Enterprise Server 7.0 является Web приложением, которое работает на базе IIS, в процессе установки для него по умолчанию включается обязательно требование SSL в настройках, что в свою очередь требует включенной привязки https).

        
      1. Если будет использоваться протокол http, необходимо отключить в конфигурационном файле использование https по умолчанию. Для тега "appSettings key="requireHttps" установить значение "false".

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

    1. Открыть конфигурационный файл сервера. 
      C:\inetpub\wwwroot\easerver\Web.config.
    2. Добавить секретный ключ для подписи токена.  
      <logonSettings secretKey="SECRET_KEY"/>  Для генерации рекомендуется использовать утилиту keygen (Indeed Enterprise Server\7.0.2\Misc\EA.KeyGen.exe) выбрав произвольный алгоритм. 
    3.  Задать каталог пользователя системы, для этого необходимо отредактировать тэг: adUserCatalogProvider.
      1. id - задать произвольный уникальный идентификатор каталога. Для данного примера задается: AD.
      2. serverName - имя домена Active Directory, в котором находится каталог. В данном примере используется: indeed-id.local.
      3. containerPath - путь к контейнеру в виде Distinguished Name или весь домен, если для хранения пользователей используется весь домен. Для данного примера:DC=indeed-id,DC=local.
      4. userName - имя сервисной учетной записи для подключения к каталогу пользователей. В данном примере используется: IndeedCatalogUser.
      5. password - пароль сервисной учетной записи каталога пользователей в AD. В данном примере используется: QWqw123.
    4. Указать корневой идентификатор провайдера работы с каталогом, необходимо отредактировать атрибут rootUserCatalogProviderId в теге userCatalogProviderSettings.
      1. rootUserCatalogProviderId -  задать значение, которое уже было задано в тэге adUserCatalogProvider в атрибуте id. Для данного примера: AD.
    5. Задать хранилище данных системы. Для хранилища данных в SQL Server редактируем тег dbContextSettings.
      1. rootDbContextId - задать произвольно уникальное значение идентификатора хранилища. Для примера задается mysql.
      2. Заменить тег adDbContexts на mssqlDbContexts.
      3. Заменить тег adDbContext на mssqlDbContext.
    6. Редактирование атрибута  mssqlDbContext.
      1. id - задать значение, которое уже было задано в тэге rootDbContextId в атрибуте id. Для данного примера: mysql.
      2. Добавить параметр connectionString, со встроенными параметрами:
        • Data Source - Задает экземпляр сервера. Это свойство является обязательным для всех соединений. Допустимые значения — сетевое имя или IP-адрес сервера, local или localhost для локальных соединений.
        • Initial Catalog - Определяет имя базы данных.
        • User Id - Имя пользователя для подключения к базе данных.
        • Password - Пароль пользователя для подключения к базе данных.

          Пример ввода для данной инструкции:

          connectionString="Data Source=EASERVER\EASERVER;Initial Catalog=EA_SERVER_7.0;User Id=Admin-DB;Password=Q1q2E3e4;"

    7. Задать ключ шифрования данных системы. Редактируем тег encryptionSettingsДля генерации рекомендуется использовать утилиту keygen (Indeed Enterprise Server\7.0.2\Misc\EA.KeyGen.exe) выбрав произвольный алгоритм.
      1. cryptoAlgName - указать использованный алгоритм шифрования.
      2. cryptoKey - значения ключа, сгенерированного утилитой.
      3. certificateThumbprint - Thumbprint сертификата, которым зашифрован ключ (чтобы не учитывать - нужно удалить атрибут).

    8. Задать администратора системы. Редактируем тег - accessControlAdminSettings.
      1. userId - идентификатор пользователя в формате: “Идентификатор каталога(rootUserCatalogProviderId); нижнее подчеркивание; идентификатор пользователя в каталоге”. 
        В данном примере: 
        AD_84e9ccd9-73a2-43c7-abc6-604a16902037.

        Пользователь должен находится внутри каталога пользователей. Получить GUID можно с  помощью команды PowerShell (Предварительно необходимо установить компонент  Remote Server Administration Tools):
        Get-ADUser ИмяПользователя -Properties * | Select ObjectGUID 

    9. Задать log-сервер. Редактируем тег - logServer.
      1. URL - url для подключения к log серверу в формате http(s)://имя сервера/ils/api. Если используется несколько серверов, указываем адрес балансировщика нагрузки.
      2. CertificateThumbprint - если закрытый ключ в реестре, а сертификат в хранилище компьютера.
      3. CertificateFilePath - если ключевая пара в pfx.
      4. CertificateFilePassword - пароль от pfx.

    Настройка утилиты первичной конфигурации.
    Утилита находится:
    indeed EA 7.0\Indeed Enterprise Server\7.0.2\Misc\AccessControlInitialConfig. 
    Она необходима для базовой выдачи прав на AccessControl, а так же на EMC (чтобы иметь доступ к веб интерфейсу).

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


    Для того, чтобы убедиться в корректности настроек и успешном запуске сервера нужно обратиться через браузер по адресу сервера (в данном примере: http://192.168.1.7/easerver/) и признаком успеха будет являться создание структуры хранилища внутри указанного подразделения для хранения данных (в данном примере - Indeed EA 7.0).

    (0 голос(а))
    Эта статья полезна
    Эта статья бесполезна

    Комментарии (0)
    Добавить новый комментарий
     
     
    Полное имя:
    Email:
    Комментарии: