Перейти к основному содержимому

Indeed Phone Management Server

Indeed Phone Management Server (Phone Management Server ) — это веб-приложение, которое работает на базе IIS. Этот компонент предоставляет облегченное API для регистрации, изменения и удаления номеров  в базе данных SQL.

Для регистрации, изменения и удаления номеров в базе данных SQL требуется установка Indeed AM Storage SMS OTP Provider.

Важно!

Для работы с приложением требуется установить компонент Обычная проверка подлинности (Basic Authentication) для сервера IIS.

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

Файлы для Phone Management Server расположены в папке indeed AM <номер версии>/Indeed AM Phone Management Server/Distrib.

  • Distrib\EA.PhoneManagementServer.deploy.cmd — файл .cmd, необходимый для установки компонента;
  • Scripts <номер версии>\ — скрипты PowerShell с примером вызова каждого метода API;
  • WebDeploy_amd64_en-US.msi — пакет для установки компонента WebDeploy 3.6 версии 10.0.1973.

Установка Phone Management Server

Важно!

Для установки компонента требуется установить WebDeploy версии 10.0.1973 и выше.

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

  1. Откройте командную строку с правами администратора.

  2. Перейдите в папку Distrib компонента EAPhoneServer.

  3. Запустите установку компонента через вызов команды:

    EA.PhoneManagementServer.deploy.cmd /Y
  4. После успешной установки в IIS Manager отобразится отдельное веб-приложение EAPhoneServer.

Настройка Phone Management Server

  1. Откройте компонент EAPhoneServer в IIS Manager.

  2. Откройте Проверка подлинности и включите параметр Обычная проверка подлинности. Отключите все остальные методы проверки подлинности.

  3. Откройте Правила авторизации. Измените существующее правило или добавьте новое. В настройках укажите пользователя или группу пользователей, которым будет доступен вызов методов API.

    Примечание

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

    Информация

    При указании группы пользователей указывается значение атрибута name данной группы. 

    При указании пользователя указывается значение атрибута sAMAccountName или userPrincipalName.

Настройка политики

Информация

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

  1. В Management Console перейдите на страницу основной политики, которая распространяется на целевых пользователей системы.

  2. Перейдите на вкладку Администраторы и добавьте сервисного пользователя для компонента Phone Management Server с ролью Администратор

Настройка конфигурационного файла

Совет

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

  1. Откройте конфигурационный файл Web.config (находится в папке C:\inetpub\wwwroot\EAPhoneServer).

  2. В теге appSettings выполните следующие настройки:

    • В строке с параметром key со значением username задайте значение для параметра value. В значении укажите имя пользователя в формате UPN, созданного для работы с Phone Management Server. 

      Примечание

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

      Пример
      <add key="username" value="eaphone@indeed.local" />
    • В строке с параметром key со значением password задайте значение для параметра value. В значении укажите пароль пользователя.

      Пример
      <add key="password" value="Q1q2E3e4" />
    • В строке с параметром key со значением lognames задайте формат логирования имен пользователей. Поддерживаемые форматы: 

      Совет

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

      • Id — идентификатор пользователя в системе Indeed AM в формате rootUserCatalogProviderId_Guid;

      • Name — значение атрибута name из Active Directory;

      • CanonicalName — имя пользователя в формате Canonical-Name (myserver.demo.local/users/UserName); 

      • PrincipalName — значение атрибута userPrincipalName из Active Directory;

      • SamCompatibleName — имя пользователя в формате domainName\UserName;

      • DistinguishedName — значение атрибута distinguishedName из Active Directory; 

      • Sid — значение атрибута objectSid из Active Directory;

      • Email — значение атрибута mail из Active Directory или значение, указанное в конфигурационном файле сервера;

      • Phone — значение атрибута telephoneNumber из Active Directory или значение, указанное в конфигурационном файле сервера. 

        Пример
        <add key="lognames" value="PrincipalName,Sid" />
  3. Задайте URL для подключения к Indeed Log Server. Отредактируйте тег logServer:

    • URL — URL для подключения к Log Server в формате http(s)://полное_dns_имя_сервера/ls/api;

    • CertificateThumbprint — если закрытый ключ в реестре, а сертификат в хранилище компьютера;

    • CertificateFilePath — если ключевая пара в формате pfx;

    • CertificateFilePassword — пароль от файла pfx;

      Пример
      <logServer Url="http://dc2.new.loc/ls/api/" CertificateThumbprint="" CertificateFilePath="" CertificateFilePassword="" />
  4. Создайте папку для хранения локального кеша событий. По умолчанию задан путь D:\Temp\IndeedIdServerEventLog\EaPhoneEventCache. Создайте указанную по умолчанию папку, либо укажите любой другой локальный путь. Выдайте полный доступ для пользователя IIS_IUSRS на конечную папку. 

    Пример
    <logServerClient AppId="ea" Component="server" EventCacheDirectory="C:\inetpub\wwwroot\EAPhoneServer\EventCache" LogServerTargetConfigFile="" />
  5. Для значения параметра connectionString укажите полный URL доступного Core Server или балансировщика в формате:

    http/https://<полное DNS-имя Core Server или балансировщика>/am/core/
    Пример
    <add name="EAWebAPIURL" connectionString="http://dc2.new.loc/am/core/" />

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

Информация

Настройка рекомендована в целях обеспечения безопасности.

Для шифрования выполните следующую команду в командной строке с правами администратора:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -pe "appSettings" -app "/EAPhoneServer" -prov "DataProtectionConfigurationProvider"

Для расшифровки выполните следующую команду в командной строке с правами администратора:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -pd "appSettings" -app "/EAPhoneServer"

Удаление Phone Management Server

  1. Остановите сервер IIS с компонентом Phone Management Server.
  2. Откройте папку C:\inetpub\wwwroot.
  3. Удалите папку EAPhoneServer со всем содержимым. 
  4. Удалите приложение EAPhoneServer в IIS Manager.
  5. Возобновите работу IIS. 

Доступ к UI API

Для доступа к UI Phone Management Server выполните следующее:

  1. Перейдите по адресу: http(s)://<полное DNS-имя сервера с компонентом Phone Management Server>/EAPhoneServer/swagger.
  2. Выполните авторизацию под пользователем, который входит в группу, настроенную в разделе Правила авторизации. Для входа укажите имя пользователя в формате UPN.

Методы API Phone Management Server

Входные данные передаются в формате JSON. Для вызова метода API используется URL в формате: 

http/https://<полное DNS-имя сервера с компонентом Phone Management Server>/EAPhoneServer/<метод API>

Регистрация

Информация

Скрипт для работы с данным методом API доступен в этой статье базы знаний.

Для регистрации номера телефона используется POST-запрос к методу API:

/api/IID/CreatePhone
  • Входные данные: 
    • Username — имя пользователя в формате UPN, для которого нужно зарегистрировать номер телефона;
    • Phone — номер телефона пользователя, который нужно зарегистрировать в системе;
  • Выходные данные: HTTP-ответ с кодом состояния HTTP;
  • Пример запроса:

Успешная регистрация

Информация

В качестве примера используется формат имени PrincipalName, Sid.

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

Тело события содержит:

  • Описание — телефонный номер успешно зарегистрирован.
  • Пользователь — в данном параметре указывается пользователь, для которого была выполнена регистрация. Формат имени пользователя задается в конфигурационном файле в параметре lognames.
  • Инициатор — в данном параметре указывается пользователь, который указан в качестве администратора компонента Phone Management Server в конфигурационном файле. Формат имени пользователя задается в конфигурационном файле в параметре lognames.
  • Пользователь API — в данном параметре указывается пользователь, который был аутентифицирован по обычной проверке подлинности (Basic Authentication) перед использованием метода API. Имя отображается в формате, который был указан при вводе в форму аутентификации. 
  • Телефон — в данном параметре отображается номер телефона пользователя, который будет зарегистрирован. 

Ошибка при регистрации

Информация

В качестве примера используется формат имени PrincipalName, Sid.

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

Тело события содержит: 

  • Описание — ошибка регистрации телефонного номера.

  • Пользователь — в данном параметре указывается пользователь, для которого была выполнена регистрация. Формат имени пользователя задается в конфигурационном файле в параметре lognames.

  • Инициатор — в данном параметре указывается пользователь, который указан в качестве администратора компонента Phone Management Server в конфигурационном файле. Формат имени пользователя задается в конфигурационном файле в параметре lognames.

  • Пользователь API — в данном параметре указывается пользователь, который был аутентифицирован по обычной проверке подлинности (Basic Authentication) перед использованием метода API. Имя отображается в формате, который был указан при вводе в форму аутентификации. 

  • Описание ошибки — в данном параметре указывается более подробное описание возникшей ошибки. 

  • Инициатор ошибки — в данном параметре указывается пользователь, по причине которого возникла ошибка. 

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

    Примечание

    В случае возникновения ошибки при входе в систему или возникновения ошибки доступа (403) в параметре Телефон будут отображаться данные сервисного пользователя.

Изменение

Информация

Скрипт по работе с данным методом API доступен в этой статье базы знаний.

Для изменения номера телефона используется POST-запрос к методу API:

/api/IID/UpdatePhone
  • Входные данные :
    • Phone — номер телефона пользователя, который нужно зарегистрировать в системе;
    • Username — имя пользователя в формате UPN, для которого нужно изменить номер телефона;
  • Выходные данные: HTTP-ответ с кодом состояния HTTP;
  • Пример запроса: 

Успешное изменение

Информация

В качестве примера используется формат имени: Id, Name, PrincipalName.

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

Тело события содержит:

  • Описание — телефонный номер успешно изменен.
  • Пользователь — в данном параметре указывается пользователь, для которого была выполнена регистрация. Формат имени пользователя задается в конфигурационном файле в параметре lognames
  • Инициатор — в данном параметре указывается пользователь, который указан в качестве администратора компонента Phone Management Server в конфигурационном файле. Формат имени пользователя задается в конфигурационном файле в параметре lognames.
  • Пользователь API — в данном параметре указывается пользователь, который был аутентифицирован по обычной проверке подлинности (Basic Authentication) перед использованием метода API. Имя отображается в формате, который был указан при вводе в форму аутентификации.  
  • Телефон — в данном параметре отображается измененный номер телефона пользователя. 

Ошибка при изменении 

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

Тело события содержит: 

  • Описание — ошибка изменения телефонного номера.

  • Пользователь — в данном параметре указывается пользователь, для которого была выполнена регистрация. Формат имени пользователя задается в конфигурационном файле в параметре lognames.

  • Инициатор — в данном параметре указывается пользователь, который указан в качестве администратора компонента Phone Management Server в конфигурационном файле. Формат имени пользователя задается в конфигурационном файле в параметре lognames.

  • Пользователь API — в данном параметре указывается пользователь, который был аутентифицирован по обычной проверке подлинности (Basic Authentication) перед использованием метода API. Имя отображается в формате, который был указан при вводе в форму аутентификации. 

  • Описание ошибки — в данном параметре указывается подробное описание возникшей ошибки. 

  • Инициатор ошибки — в данном параметре указывается пользователь, по причине которого возникла ошибка. 

  • Телефон — в данном параметре отображается измененный номер телефона пользователя. 

    Примечание

    В случае возникновения ошибки при входе в систему или возникновения ошибки доступа (403) в параметре Телефон будут отображаться данные сервисного пользователя.

Удаление

Информация

Скрипт по работе с данным методом API доступен в этой статье базы знаний.

Для удаления номера телефона используется POST-запрос к методу API: 

/api/IID/DeletePhone
  • Входные данные:
    • Username — имя пользователя в формате UPN, для которого нужно удалить номер телефона;
  • Выходные данные: HTTP-ответ с кодом состояния HTTP;
  • Пример запроса:

Успешное удаление

Информация

В качестве примера используется формат имени: DistinguishedNameSamCompatibleName.

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

Тело события содержит:

  • Описание — телефонный номер успешно удален.
  • Пользователь — в данном параметре указывается пользователь, для которого был удален номер телефона. Формат имени пользователя задается в конфигурационном файле в параметре lognames
  • Инициатор — в данном параметре указывается пользователь, который указан в качестве администратора компонента Phone Management Server в конфигурационном файле. Формат имени пользователя задается в конфигурационном файле в параметре lognames.
  • Пользователь API — в данном параметре указывается пользователь, который был аутентифицирован по обычной проверке подлинности (Basic Authentication) перед использованием метода API. Имя отображается в формате, который был указан при вводе в форму аутентификации.  

Ошибка при удалении 

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

Тело события содержит: 

  • Описание — ошибка удаления телефонного номера.

  • Пользователь — в данном параметре указывается пользователь, для которого был удален номер телефона. Формат имени пользователя задается в конфигурационном файле в параметре lognames.

  • Инициатор — в данном параметре указывается пользователь, который указан в качестве администратора компонента Phone Management Server в конфигурационном файле. Формат имени пользователя задается в конфигурационном файле в параметре lognames.

  • Пользователь API — в данном параметре указывается пользователь, который был аутентифицирован по обычной проверке подлинности (Basic Authentication) перед использованием метода API. Имя отображается в формате, который был указан при вводе в форму аутентификации. 

  • Описание ошибки — в данном параметре указывается подробное описание возникшей ошибки. 

  • Инициатор ошибки — в данном параметре указывается пользователь, по причине которого возникла ошибка. 

    Примечание

    В случае возникновения ошибки при входе в систему или возникновения ошибки доступа (403) в данном параметре будут отображаться данные сервисного пользователя.