Compartilhar via


Detalhes do serviço da API REST de Gerenciamento de Certificados

As seções a seguir descrevem os detalhes da API REST do GERENCIAMENTO de Certificados (CM) do MIM (Microsoft Identity Manager).

Arquitetura

As chamadas da API REST do MIM CM são manipuladas pelos controladores. A tabela a seguir mostra a lista completa de controladores e exemplos do contexto no qual eles podem ser usados.

Controller Rota de exemplo
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

Cabeçalhos de solicitação e resposta HTTP

As solicitações HTTP enviadas à API devem incluir os seguintes cabeçalhos (essa lista não é exaustiva):

parâmetro Descrição
Autorização Obrigatórios. O conteúdo depende do método de autenticação. O método é configurável e pode ser baseado em WIA (Autenticação Integrada do Windows)) ou Serviços de Federação do Active Directory (AD FS) (ADFS).
Tipo de conteúdo Obrigatório se a solicitação tiver um corpo. Deve ser application/json.
Content-Length Obrigatório se a solicitação tiver um corpo.
Cookie O cookie de sessão. Pode ser necessário, dependendo do método de autenticação.

As respostas HTTP incluem os seguintes cabeçalhos (essa lista não é exaustiva):

parâmetro Descrição
Tipo de conteúdo A API sempre retorna application/json.
Content-Length O comprimento do corpo da solicitação, se presente, em bytes.

Controle de versão de API

A versão atual da API REST do CM é 1.0. A versão é especificada no segmento diretamente após o segmento /api no URI: /api/v1.0. O número de versão é alterado quando modificações principais são feitas na interface de API.

Habilitar a API

A seção <ClmConfiguration> do arquivo Web.config foi estendida com uma nova chave:

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

Essa chave determina se a API REST do CM é exposta aos clientes. Se a chave for definida como "false", o mapeamento de rota para a API não será executado na inicialização do aplicativo. Solicitações subsequentes para pontos de extremidade de API retornam um código de erro HTTP 404. Por padrão, a chave é definida como "desabilitada".

Observação

Depois de alterar esse valor para "true", lembre-se de executar iisreset no servidor.

Habilitar rastreamento e registro em log

A API de REST do MIM CM emite os dados de rastreamento para cada solicitação HTTP enviada a ela. Você pode definir o nível de detalhamento das informações de rastreamento emitidas ajustando o valor de configuração a seguir:

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

Tratamento de erros e solução de problemas

Quando ocorrerem exceções ao processar uma solicitação, a API REST do CM MIM retorna um código de status HTTP para o cliente web. Para erros comuns, a API retorna um código de status HTTP apropriado e um código de erro.

Exceções sem tratamento são convertidas para uma HttpResponseException com o Código de Status HTTP 500 ("Erro interno") e rastreadas no log de eventos e no arquivo de rastreamento do MIM CM. Cada exceção sem tratamento é gravada no log de eventos com uma ID de correlação correspondente. A ID de correlação também é enviada para o consumidor da API na mensagem de erro. Para solucionar o erro, o administrador pode pesquisar no log de eventos os detalhes da ID de correlação e do erro correspondentes.

Observação

Rastreamentos de pilha que correspondem a erros, que são gerados como resultado do consumo da API REST do MIM CM, não são enviados de volta para o cliente. Os rastreamentos não são enviados de volta ao cliente devido a preocupações de segurança.