Поделиться через


Сведения о службе REST API PAM

Ниже описывается интерфейс API REST управления привилегированным доступом (PAM) диспетчера удостоверений Майкрософт (MIM).

Заголовки запросов HTTP

HTTP-запросы, отправляемые в API, должны содержать следующие заголовки (этот список не является исчерпывающим):

Header Описание
Авторизация Обязательный. Содержимое зависит от метода проверки подлинности, который можно настроить и может быть основан на WIA (встроенная проверка подлинности Windows) или ADFS.
Content-Type Требуется, если в запросе есть текст. Нужно задать значение application/json.
Content-Length Требуется, если в запросе есть текст.
Куки-файл Файл cookie данного сеанса. Может потребоваться в зависимости от метода проверки подлинности.

Заголовки HTTP-ответов

Http-ответы должны содержать следующие заголовки (этот список не является исчерпывающим):

Header Описание
Content-Type API всегда возвращает .application/json
Content-Length Длина текста запроса, если он имеется, в байтах.

Управление версиями

Текущая версия интерфейса API — 1. Версию API можно указать с помощью параметра запроса в URL-адресе запроса, как показано в следующем примере: http://localhost:8086/api/pamresources/pamrequests?v=1 Если в запросе версия не указана, запрос выполняется для последней выпущенной версии API-интерфейса.

Безопасность

Для доступа к API требуется встроенная проверка подлинности Windows (IWA). Эти параметры необходимо настроить вручную в службах IIS перед установкой диспетчера удостоверений Майкрософт (MIM).

Протокол HTTPS (TLS) поддерживается, но его нужно настроить в службах IIS вручную. Дополнительные сведения см. в разделе Реализация протокола SSL для портала FIM в разделе Шаг 9. Выполнение задач FIM 2010 R2 после установки руководства по установке FIM 2010 R2.

Вы можете создать новый сертификат SSL-сервера, выполнив следующую команду в командной строке Visual Studio:

Makecert -r -pe -n CN="test.cwap.com" -b 05/10/2014 -e 12/22/2048 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12

Команда создает самозаверяющий сертификат, который можно использовать для тестирования веб-приложения, использующего ПРОТОКОЛ SSL, на веб-сервере с URL-адресом test.cwap.com. Идентификатор идентификатора, определенный параметром -eku , идентифицирует сертификат как сертификат SSL-сервера. Сертификат хранится в моем хранилище и доступен на уровне компьютера. Сертификат можно экспортировать из оснастки "Сертификаты" в mmc.exe.

Междоменный доступ (CORS)

CORS поддерживается, но его нужно настроить в службах IIS вручную. Добавьте следующие элементы в развернутый файл web.config интерфейса API, чтобы разрешить междоменные вызовы:

<system.webServer>       
    <httpProtocol> 
        <customHeaders> 
            <add name="Access-Control-Allow-Credentials" value="true"  /> 
            <add name="Access-Control-Allow-Headers" value="content-type" /> 
            <add name="Access-Control-Allow-Origin" value="http://<hostname>:8090" /> 
        </customHeaders> 
    </httpProtocol> 
</system.webServer> 

Обработка ошибок

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

Код состояния HTTP Описание
401 Не авторизовано
403 Запрещено
408 Истекло время ожидания запроса
500 Внутренняя ошибка сервера
503 Служба недоступна

Фильтрация

Запросы API-интерфейса REST PAM могут содержать фильтры для указания свойств, которые необходимо включить в ответ. Синтаксис фильтра основан на выражениях OData.

Фильтры могут определять любые из свойств запросов, ролей или ожидающих запросов PAM. Например, ExpirationTime, DisplayName или любое допустимое свойство запроса, роли или ожидающего запроса PAM.

Данный интерфейс API поддерживает в критериях фильтра следующие операторы: And, Equal, NotEqual, GreaterThan, LessThan, GreaterThenOrEqueal и LessThanOrEqual.

Следующий пример запросов содержит фильтры:

  • Этот запрос возвращает все запросы PAM в заданном диапазоне дат: http://localhost:8086/api/pamresources/pamrequests?$filter=ExpirationTime gt datetime'2015-01-09T08:26:49.721Z' and ExpirationTime lt datetime'2015-02-10T08:26:49.722Z'

  • Этот запрос возвращает роль PAM с отображаемым именем "Доступ к файлам SQL": http://localhost:8086/api/pamresources/pamroles?$filter=DisplayName eq 'SQL File Access'