Перейти к основному содержимому
Версия: Indeed Access Manager 8.2

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

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

Чтобы установить Phone Management Server:

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

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

  3. Чтобы запустить установку компонента, используйте команду:

    ```
    EA.PhoneManagementServer.deploy.cmd /Y
    ```

    После успешной установки в Диспетчере IIS отобразится отдельное веб-приложение EAPhoneServer.

Настроить Phone Management Server

  1. Откройте компонент EAPhoneServer в Диспетчере IIS.

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

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

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

    Данная настройка рекомендуется для обеспечения безопасного доступа к компоненту EAPhoneServer.

Настроить политику

Чтобы предоставить сервисному пользователю необходимые права для работы, настройте политику. Для этого:

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

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

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

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

  2. В разделе appSettings задайте значения следующих параметров:

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

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

      Пример
      <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) в параметре Телефон будут отображаться данные сервисного пользователя.

Изменение

Примечание

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

Скрипт по работе с данным методом 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) в данном параметре будут отображаться данные сервисного пользователя.