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


Сведения о службе REST API управления сертификатами

В следующих разделах описаны сведения о REST API управления сертификатами (CM) Microsoft Identity Manager (MIM).

Архитектура

Вызовы REST API CM MIM обрабатываются контроллерами. В следующей таблице представлен полный список контроллеров и примеры контекста, в котором они используются.

Контроллер Образец маршрута
CertificateDataController /api/v1.0/requests/{requestid}/certificatedata/
CertificateRequestGenerationOptionsController /api/v1.0/requests/{requestid}
CertificatesController /api/v1.0/smartcards/{smartcardid}/certificates
/api/v1.0/profiles/{profileid}/certificates
OperationsController /api/v1.0/smartcards/{smartcardid}/operations
/api/v1.0/profiles/{profileid}/operations
PoliciesController /api/v1.0/profiletemplates/{profiletemplateid}/policies/{id}
ProfilesController /api/v1.0/profiles/{id}
ProfileTemplatesController /api/v1.0/profiletemplates/{id}
/api/v1.0/profiletemplates
/api/v1.0/profiletemplates/{profiletemplateid}/policies/{id}
RequestsController /api/v1.0/requests/{id}
/api/v1.0/requests
SmartcardsController /api/v1.0/requests/{requestid}/smartcards/{id}/diversifiedkey
/api/v1.0/requests/{requestid}/smartcards/{id}/serverproposedpin
/api/v1.0/requests/{requestid}/smartcards/{id}/authenticationresponse
/api/v1.0/requests/{requestid}/smartcards/{id}
/api/v1.0/smartcards/{id}
/api/v1.0/smartcards
SmartcardsConfigurationController /api/v1.0/profiletemplates/{profiletemplateid}/configuration/smartcards

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

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

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

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

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

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

Текущая версия интерфейса API REST CM — 1.0. Версия, указанная в сегменте непосредственно за сегментом /api в URI — /api/v1.0. Номер версии изменяется при внесении существенных изменений в интерфейс API.

Включение API

В раздел <ClmConfiguration> файла Web.config добавлен новый ключ:

<add key="Clm.WebApi.Enabled" value="false" />

Этот ключ определяет, доступен ли API REST CM клиентам. Если для ключа задано значение "false", сопоставление маршрута для API не выполняется при запуске приложения. Последующие запросы к конечным точкам API возвращают код ошибки HTTP 404. Ключ по умолчанию имеет значение "disabled".

Примечание

После изменения этого значения на true не забудьте запустить iisreset на сервере.

Включение трассировки и ведения журнала

API-интерфейс REST CM MIM передает данные трассировки для каждого отправленного ему HTTP-запроса. Вы можете изменить уровень детализации данных трассировки, указав следующее значение конфигурации:

<add name="Microsoft.Clm.Web.API" value="0" />

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

При возникновении исключения во время обработки запроса API-интерфейс REST CM MIM возвращает код состояния HTTP веб-клиенту. Для типичных ошибок API возвращает соответствующий код состояния HTTP и код ошибки.

Необработанные исключения преобразуются в исключение HttpResponseException с кодом состояния HTTP код 500 ("Внутренняя ошибка") и записываются в журнал событий и файл трассировки MIM CM. Каждое необработанное исключение записывается в журнал событий с соответствующий идентификатором корреляции. Идентификатор корреляции также отправляется получателю API в сообщении об ошибке. Чтобы устранить ошибку, администратор может найти в журнале событий соответствующий идентификатор корреляции и сведения об ошибке.

Примечание

Трассировки стека, соответствующие ошибкам, которые создаются в результате использования REST API MIM CM, не отправляются обратно клиенту. Трассировки не отправляются клиенту из-за проблем с безопасностью.