Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Id

Note
titleИнформация

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

Для использования компонента потребуется указать пользователя с правами администратора с системе Indeed AM для групп прав:

  • Управление аутентификаторами пользователя.
  • Регистрация аутентификаторов.

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

Info
titleИнформация

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


Info
titleИнформация

Файлы для 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 версии 10.0.1973

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


Info
titleИнформация

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


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

    Code Block
    languagebash
    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.

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

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

    Note
    titleИнформация

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


    Info
    titleИнформация

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

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


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

Info
titleИнформация

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

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

    Info
    titleИнформация

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


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


      Code Block
      languageyml
      titleПример
      <add key="username" value="Admin-API@new.loc" />


    2. В строке с параметром key, со значением password, задайте значение для параметра value. В значении укажите пароль пользователя.

      Code Block
      languageyml
      titleПример
      <add key="password" value="Q1q2E3e4" />


    3. В строке с параметром key, со значением lognames, задайте формат логирования имен пользователей. Поддерживаемые форматы : 

      Info
      titleИнформация

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


      • 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 или значение указанное в конфигурационном файле сервера. 

        Code Block
        languageyml
        titleПример
        <add key="lognames" value="PrincipalName,Sid" />


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

      Code Block
      languageyml
      titleПример
      <logServer Url="http://dc2.new.loc/ils/api/" CertificateThumbprint="" CertificateFilePath="" CertificateFilePassword="" />


  4. Создайте папку для хранения локального кэша событий. По умолчанию задан путь: D:\Temp\IndeedIdServerEventLog\EaPhoneEventCache. Создайте указанную по умолчанию папку, либо укажите любой другой локальный путь. Выдайте полный доступ для пользователя IIS_IUSRS на конечную папку. 

    Code Block
    languageyml
    titleПример
    <logServerClient AppId="ea" Component="server" EventCacheDirectory="C:\inetpub\wwwroot\EAPhoneServer\EventCache" LogServerTargetConfigFile="" />


  5. Для значения параметра connectionString укажите полный URL доступного сервера Indeed AM или балансировщика в формате:

    Code Block
    http/https://<Полное DNS имя сервера Indeed AM или балансировщика>/easerver/


    Code Block
    languageyml
    titleПример
    <add name="EAWebAPIURL" connectionString="http://dc2.new.loc/easerver/" />


  6. Шифрование и расшифровка параметров в теге appSettings.

    Info
    titleИнформация

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


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

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

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

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

Доступ у UI компонента

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

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

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

Info
titleИнформация

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

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


Регистрация 


Note
titleИнформация

Для регистрации событий требуется заменить файл eaSchema.config на Log сервере , если используется SQL база данных. Или обновить компонент IndeedAM.Server.EventLog -  при использовании в качестве хранилища события Windows.


Info
titleИнформация
Скрипт по работе с данным методом 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"}’


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

Info
titleИнформация

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

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

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

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

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

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

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

    Note
    titleИнформация

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


Изменение

Info
titleИнформация

Скрипт по работе с данным методом 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"}’Пример запроса:


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

Info
titleИнформация

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

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

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

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

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

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

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

    Note
    titleИнформация

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


Удаление

Info
titleИнформация

Скрипт по работе с данным методом 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"}’


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

Info
titleИнформация

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

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

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

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

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

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

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

    Note
    titleИнформация

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


Backtotop


Divbox
classrightFloat

Table of Contents