Detalles del servicio DE API REST de Administración de certificados

En las secciones siguientes se describen los detalles de la API REST de administración de certificados (CM) de Microsoft Identity Manager (MIM).

Architecture

Las llamadas a la API de REST de CM de MIM se controlan mediante controladores. En la siguiente tabla se muestra la lista completa de controladores y ejemplos del contexto en el que pueden usarse.

Controller Ruta de ejemplo
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

Encabezados de solicitud y respuesta HTTP

Las solicitudes HTTP enviadas a la API deben incluir los siguientes encabezados (esta lista no es exhaustiva):

Encabezado Descripción
Authorization Necesario. El contenido depende del método de autenticación. El método es configurable y se puede basar en la autenticación integrada de Windows (WIA)) o Servicios de federación de Active Directory (AD FS) (ADFS).
Content-Type Obligatorio si la solicitud tiene un cuerpo. Debe ser application/json.
Content-Length Obligatorio si la solicitud tiene un cuerpo.
Cookie Cookie de la sesión. Puede ser obligatorio en función del método de autenticación.

Las respuestas HTTP incluyen los siguientes encabezados (esta lista no es exhaustiva):

Encabezado Descripción
Content-Type La API siempre devuelve application/json.
Content-Length Longitud del cuerpo de la solicitud en bytes si es que está presente.

Control de versiones de la API

La versión actual de la API de REST de CM es 1.0. La versión se especifica en el segmento que se encuentra justo después del segmento /api del URI: /api/v1.0. El número de versión cambia cuando se realizan modificaciones importantes en la interfaz de API.

Habilitación de la API

La sección <ClmConfiguration> del archivo Web.config se ha extendido con una clave nueva:

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

Esta clave determina si la API de REST de CM se expone a los clientes. Si la clave se establece en "false", la asignación de ruta de la API no se realiza al iniciar la aplicación. Las solicitudes posteriores a los puntos de conexión de API devuelven un código de error HTTP 404. De forma predeterminada, la clave se establece en "disabled".

Nota

Después de cambiar este valor a "true", recuerde ejecutar iisreset en el servidor.

Habilitación del seguimiento y el registro

La API de REST de CM de MIM emite los datos de seguimiento de cada solicitud HTTP que se le envía. Puede establecer el nivel de detalle de la información de seguimiento emitida estableciendo el siguiente valor de configuración:

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

Control de errores y solución de problemas

Cuando se producen excepciones al procesar una solicitud, la API de REST de CM de MIM devuelve un código de estado HTTP al cliente web. Si se trata de errores comunes, la API devuelve un código de estado HTTP adecuado y un código de error.

Las excepciones no controladas se convierten en una HttpResponseException con el código de estado HTTP 500 ("Error interno") y se incluyen en el registro de eventos y en el archivo de seguimiento de CM de MIM. Cada excepción no controlada se incluye en el registro de eventos con un identificador de correlación correspondiente. El identificador de correlación también se envía al consumidor de la API en el mensaje de error. Para solucionar el error, un administrador puede buscar en el registro de eventos el identificador de correlación correspondiente y los detalles del error.

Nota

Los seguimientos de pila que corresponden a errores, que se generan como resultado de consumir la API REST de MIM CM, no se envían de vuelta al cliente. Los seguimientos no se envían de vuelta al cliente debido a problemas de seguridad.