Информация

Для настройки компонента требуется установить компонент "Обычная проверка подлинности" .

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

Информация

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

Информация

Файлы для EAPhone Management Server расположены: indeed AM <Номер версии>\Indeed AM Phone Management Server\Distrib\

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

Установка компонента 

Информация

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

  1. Откройте командную строку с правами администратора.
  2. Перейдите в папку Distrib компонента EAPhoneServer.
  3. Запустите установку компонента через вызов команды: 

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

Удаление компонента EAPhoneServer

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

Настройка компонента 

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

    Информация

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

    Информация

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

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

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

Информация

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

  1. Откройте Admine Console и основную политику системы, которая распространяется на целевых пользователей системы.
  2. Перейдите на вкладку "Администраторы" и добавьте сервисного пользователя для компонента Indeed AM EaPhone Server в роль "Администратор". 



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

Информация

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

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

    Информация

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

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

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

      Пример
      <add key="password" value="Q1q2E3e4" />
    3. В строке с параметром 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 для подключения к лог серверу. Редактируем тег logServer.
    1. URL - url для подключения к log серверу в формате http(s)://полное_dns_имя_сервера/ls/api.
    2. CertificateThumbprint - если закрытый ключ в реестре, а сертификат в хранилище компьютера.
    3. CertificateFilePath - если ключевая пара в pfx.
    4. 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 доступного сервера Indeed AM или балансировщика в формате:

    http/https://<Полное DNS имя сервера Indeed AM или балансировщика>/easerver/
    Пример
    <add name="EAWebAPIURL" connectionString="http://dc2.new.loc/easerver/" />

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

Информация

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

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

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

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

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

Доступ у UI API

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

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

Описание методов API компонента

Информация

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

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

Регистрация 

Информация

Скрипт по работе с данным методом API доступен по ссылке.


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

  1. Входные данные: 
    1. Username - Имя пользователя в формате UPN для которого следует зарегистрировать номер телефона. 
    2. Phone - Номер телефона пользователя, который следует зарегистрировать в системе.
  2. Выходные данные: HTTP ответ с кодом состояния HTTP.
  3. Пример запроса:
    1. URL - http://AmIndeed.demo.local/EAPhoneServer/api/IID/CreatePhone
    2. Данные - ‘{ "Username": "User@demo.local",  "Phone": "123456"}’


Генерируемые события

Информация

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

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

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

  • Описание: Телефонный номер успешно зарегистрирован.
  • Пользователь - В данном параметре указывается пользователь, для которого была выполнена регистрация. Формат имени пользователя задается в конфигурационном файле, в параметре lognames.
  • Инициатор - В данном параметре указывается пользователь, который указан в качестве администратора компонента EAPhoneServer в конфигурационном файле. Формат имени пользователя задается в конфигурационном файле, в параметре lognames.
  • Пользователь API - В данном параметре указывается пользователь, который был аутентифицирован по Basic аутентификации перед использованием метода API. Имя отображается в формате, который был указан при вводе в форму аутентификации. 
  • Телефон - В данном параметре отображается номер телефона пользователя, который будет зарегистрирован. 

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

При возникновении ошибки, во время регистрации провайдера, генерируется событие с уникальным Id - 2073. Тело события содержит: 

  • Описание: Ошибка регистрации телефонного номера.
  • Пользователь - В данном параметре указывается пользователь, для которого была выполнена регистрация. Формат имени пользователя задается в конфигурационном файле, в параметре lognames.
  • Инициатор - В данном параметре указывается пользователь, который указан в качестве администратора компонента EAPhoneServer в конфигурационном файле. Формат имени пользователя задается в конфигурационном файле, в параметре lognames.
  • Пользователь API - В данном параметре указывается пользователь, который был аутентифицирован по Basic аутентификации перед использованием метода API. Имя отображается в формате, который был указан при вводе в форму аутентификации. 
  • Описание ошибки - В данном параметре указывается более подробное описание возникшей ошибки. 
  • Инициатор ошибки - В данном параметре указывается пользователь, по причине которого возникла ошибка. 

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

    Информация

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

Изменение

Информация

Скрипт по работе с данным методом API доступен по ссылке.

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

  1. Входные данные :
    1. Phone - Номер телефона пользователя, который следует зарегистрировать в системе.
    2. Username - Имя пользователя в формате UPN для которого следует изменить номер телефона.
  2. Выходные данные: HTTP ответ с кодом состояния HTTP.
  3. Пример запроса: 
    1. URL - http://AmIndeed.demo.local/EAPhoneServer/api/IID/UpdatePhone
    2. Данные - ‘{ "Username": "User@demo.local",  "Phone": "654321"}’Пример запроса:


Генерируемые события

Информация

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

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

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

  • Описание: Телефонный номер успешно изменен.
  • Пользователь - В данном параметре указывается пользователь, для которого была выполнена регистрация. Формат имени пользователя задается в конфигурационном файле, в параметре lognames. 
  • Инициатор - В данном параметре указывается пользователь, который указан в качестве администратора компонента EAPhoneServer в конфигурационном файле. Формат имени пользователя задается в конфигурационном файле, в параметре lognames.
  • Пользователь API - В данном параметре указывается пользователь, который был аутентифицирован по Basic аутентификации перед использованием метода API. Имя отображается в формате, который был указан при вводе в форму аутентификации.  
  • Телефон - В данном параметре отображается измененный номер телефона пользователя. 

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

При возникновении ошибки, во время изменения провайдера, генерируется событие с уникальным Id - 2074. Тело события содержит: 

  • Описание: Ошибка изменения телефонного номера.
  • Пользователь - В данном параметре указывается пользователь, для которого была выполнена регистрация. Формат имени пользователя задается в конфигурационном файле, в параметре lognames.
  • Инициатор - В данном параметре указывается пользователь, который указан в качестве администратора компонента EAPhoneServer в конфигурационном файле. Формат имени пользователя задается в конфигурационном файле, в параметре lognames.
  • Пользователь API - В данном параметре указывается пользователь, который был аутентифицирован по Basic аутентификации перед использованием метода API. Имя отображается в формате, который был указан при вводе в форму аутентификации. 
  • Описание ошибки - В данном параметре указывается более подробное описание возникшей ошибки. 
  • Инициатор ошибки - В данном параметре указывается пользователь, по причине которого возникла ошибка. 

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

    Информация

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

Удаление

Информация

Скрипт по работе с данным методом API доступен по ссылке.

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

  1. Входные данные:
    1. Username - Имя пользователя в формате UPN для которого следует удалить номер телефона.
  2. Выходные данные: HTTP ответ с кодом состояния HTTP.
  3. Пример запроса:
    1. URL - http://AmIndeed.demo.local/EAPhoneServer/api/IID/DeletePhone
    2. Данные - ‘{ "Username": "User@demo.local"}’


Генерируемые события

Информация

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

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

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

  • Описание: Телефонный номер успешно удален.
  • Пользователь - В данном параметре указывается пользователь, для которого была выполнена регистрация. Формат имени пользователя задается в конфигурационном файле, в параметре lognames. 
  • Инициатор - В данном параметре указывается пользователь, который указан в качестве администратора компонента EAPhoneServer в конфигурационном файле. Формат имени пользователя задается в конфигурационном файле, в параметре lognames.
  • Пользователь API - В данном параметре указывается пользователь, который был аутентифицирован по Basic аутентификации перед использованием метода API. Имя отображается в формате, который был указан при вводе в форму аутентификации.  

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

При возникновении ошибки, во время удаления провайдера, генерируется событие с уникальным Id - 2075. Тело события содержит: 

  • Описание: Ошибка удаления телефонного номера.
  • Пользователь - В данном параметре указывается пользователь, для которого была выполнена регистрация. Формат имени пользователя задается в конфигурационном файле, в параметре lognames.
  • Инициатор - В данном параметре указывается пользователь, который указан в качестве администратора компонента EAPhoneServer в конфигурационном файле. Формат имени пользователя задается в конфигурационном файле, в параметре lognames.
  • Пользователь API - В данном параметре указывается пользователь, который был аутентифицирован по Basic аутентификации перед использованием метода API. Имя отображается в формате, который был указан при вводе в форму аутентификации. 
  • Описание ошибки - В данном параметре указывается более подробное описание возникшей ошибки. 
  • Инициатор ошибки - В данном параметре указывается пользователь, по причине которого возникла ошибка. 

    Информация

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


  • No labels