Skip to main content

Indeed Key Server

Indeed Key Server (Key Server) — это сервер, необходимый для работы мобильного приложения Indeed Key. С помощью Key Server отправляются push-уведомления и устанавливается связь с Core Server.

Связь с мобильным приложением Indeed Key осуществляется по протоколу HTTP или HTTPS.

При использовании SSL-соединения необходим корневой сертификат и сертификат проверки подлинности веб-сервера. При создании сертификата для Key Server в Common Name укажите имя или IP сервера, к которому настроен доступ для приложения Indeed Key в теге ServerUrl конфигурационного файла сервера Key Server. Если в CN указан IP-адрес, то он должен быть без протокола и порта.

Для записи событий сервера необходима отдельная база данных Microsoft SQL или PostgreSQL.

Файлы для установки

Файлы для Key Server расположены в папке indeed AM <номер версии>/Indeed AM Indeed Key Server/<Номер версии>:

  • Indeed.IndeedKey.Server-<номер версии>.x64.ru.ru.msi — пакет для установки Indeed Key Server;
  • Indeed.IndeedKey.EventLog.Setup-<номер версии>.x64.ru.ru.msi — пакет для создания необходимой структуры журнала в Windows EventLog.

Создание базы данных и сервисной учетной записи

Key Server поддерживает работу с базами PostgreSQL и Microsoft SQL.

Подробнее о создании базы данных и сервисной учетной записи вы можете узнать в разделе Хранилище данных.

Примечание

После создания базы данных (после первого запроса) можно уменьшить права для пользователя. Достаточно права db_owner для созданной базы данных.

Привязка HTTPS в настройках в IIS Manager

Key Server является веб-приложением, которое работает на базе IIS, в процессе установки для Key Server включается обязательно требование SSL в настройках, что в свою очередь требует включенной привязки HTTPS.

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

Если вы не намерены использовать протокол HTTPS, отключите требование SSL в настройках IIS для Key Server.

Установка и настройка Indeed Key Server

Важно!

Для корректной работы на Key Server должен быть установлен ASP.NET 4.7.

Системные требования

  1. Установите Key Server через запуск пакета Indeed.IndeedKey.Server-<номер версии>.x64.ru.ru.msi.

  2. Откройте IIS Manager.

  3. Выберите Indeed Key Web Site. В окне Действия выберите Привязки... и нажмите Изменить....

  4. В окне Изменение привязки сайта выберите SSL-сертификат с назначением Проверка подлинности сервера и нажмите Ок.

    Совет

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

  5. Если вы используете протокол HTTP, добавьте привязку с произвольным доступным портом и нажмите Ок. В конфигурационном файле сервера Web.config (находится в папке C:\inetpub\wwwroot\indeedkey) отключите требование HTTPS. Для этого измените значение с true на false для ключа requireHttps.

    Пример
    <add key="requireHttps" value="false" />

  6. В параметре rootDbContextId укажите значение mssql, если вы используете базу данных Microsoft SQL, или postgreSql, если вы используете базу данных PostgreSQL.

  7. В секции dbContextSettings укажите строку для подключения к базе:

    • для базы данных Microsoft SQL используйте параметр mssqlDbContexts;

    • для базы данных PostgreSQL используйте параметр postgresqlDbContexts;

      Примечание

      В данной версии не поддерживается аутентификация Windows.

  8. В параметре value с ключом ServerUrl укажите URL для подключения к Key Server. 

    Примечание

    По умолчанию используется защищенное соединение (порт по умолчанию - 81).

    При использовании соединения по HTTP укажите порт, отличающийся от 80 (порт 80 используется как порт по умолчанию для HTTP-соединений сервера IIS ).

    Информация

    Key Server должен быть доступен с мобильного телефона.

    Пример
    Для HTTPS — <add key="ServerUrl" value="https://airkeycloud.indeed.local:81" /> 

    Для HTTP — <add key="ServerUrl" value="http://airkeycloud.indeed.local:82" />
  9. Укажите URL для подключения к Log Server в параметре Url тега logServer.

    Пример
    <logServer Url="http://logserver.indeed.local/ls/api" CertificateThumbprint="" CertificateFilePath="" CertificateFilePassword="" />
  10. Сохраните изменения и перезагрузите сервер IIS.

Настройка событий сервера

Установка и настройка осуществляется на Log Server.

В качестве хранилища можно использовать все способы хранения, которые поддерживает Log Server.

Отслеживать события можно следующими способами: 

  • При хранении в событиях Windows — через Windows Events;
  • При хранении в базе данных — сторонними средствами мониторинга или с помощью SQL-запросов.
  • При использовании Syslog — сторонними средствами мониторинга с поддержкой Syslog. 
Важно!

В текущей версии Indeed AM просмотр событий Key Server с помощью Management Console не поддерживается.

Чтобы настроить события Key Server, выполните следующее:

  1. На Log Server выполните установку пакета Indeed.AirKey.EventLog.Setup

  2. Откройте файл clientApps.config (находится в папке C:\inetpub\wwwroot\ls).

  3. Для параметра SchemaId со значением akcSchema задайте место хранения лог-файлов. В теге ReadTargetId и вложенным тегом TargetId тега WriteTargets установите необходимый параметр:

    • akcEventLogTarget — чтение и запись событий производится из отдельного журнала событий Windows. Это значение задано по умолчанию.

      Информация

      Просмотр событий осуществляется в журнале событий Windows на Log Server: Панель управления→Администрирование→ Просмотр событий→Журналы приложений и служб→Indeed AirKey→ Operational.

    • akcSqlTarget — чтение и запись событий производится из базы данных Microsoft SQL.

      Информация

      События доступны в таблице EventEntities через SQL-запрос, либо с использование API Indeed AM.

Пример
        <Application Id="akc" SchemaId="akcSchema"> 
<ReadTargetId>akcSqlTarget</ReadTargetId>
<WriteTargets>
<TargetId>akcSqlTarget</TargetId>
</WriteTargets>
<AccessControl> <!--<CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" />--> </AccessControl> </Application>

Если в качестве хранилища событий вы используете базу данных, выполните настройку подключения к базе в файле akcSqlTarget.config (находится в папке C:\inetpub\wwwroot\ls\targetConfigs). 

Важно!

Для событий Key Server необходимо использовать отдельную базу данных. 

Сервис очистки старых данных

В файле Web.config (находится в папке C:\inetpub\wwwroot\airkeycloud) можно задать параметры сервиса очистки старых данных из таблицы AkDatas:

Пример
<jobSettings>
<cleanAkDatas enabled="true" firstRunTime="00:00" intervalSec="86400" akDataLifeTimeSec="86400" />
</jobSettings>

Описание атрибутов примера

Имя атрибутаОписаниеЗначениеЗначение по умолчаниюМинимально допустимое значение
enabledФлаг включения сервисаtrue \ falsetrueОтсутствует
firstRunTimeВремя первого запуска сервисаСтрока в формате времени hh:mm00:00 (полночь)Отсутствует
intervalSecИнтервал запуска сервисаЧисло секунд86400 (24 ч)600
akDataLifeTimeSecВремя жизни данныхЧисло секунд86400 (24 ч)600

Проверка состояния сервера

Чтобы проверить состояние Key Server, используйте метод API /api/HealthCheck. Сервер в фоновой задаче осуществляет проверку состояния хранилища. Интервал выполнения фоновой задачи задается в конфигурационном файле Web.config (находится в папке C:\inetpub\wwwroot\airkeycloud) в секции jobSettings:

Пример
<jobSettings>
<storageHealthCheck intervalSec="60" />
</jobSettings>

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

Используйте следующие пакетные файлы, расположенные в дистрибутиве Indeed AM в папке Indeed AM <номер версии>\Indeed AM Indeed Key Server\8.2.2\Misc\EA.Config.Encryptor:

  • EncryptConfig.bat — для шифрования конфигурационного файла;

  • DecrypConfig.bat — для расшифрования конфигурационного файла.