Detalhes do serviço API PAM REST

As secções seguintes discutem detalhes da Microsoft Identity Manager (MIM) Gestão de Acesso Privilegiado (PAM) REST API.

HTTP solicitam cabeçalhos

Os pedidos HTTP que são enviados para a API devem incluir os seguintes cabeçalhos (esta lista não é exaustiva):

Cabeçalho Description
Autorização Obrigatório. O conteúdo depende do método de autenticação, que é configurável e pode ser baseado na WIA (Windows Autenticação Integrada) ou ADFS.
Content-Type Obrigatório se o pedido tiver um corpo. Deve ser definido para application/json .
Comprimento do conteúdo Obrigatório se o pedido tiver um corpo.
Cookie O biscoito da sessão. Pode ser necessário dependendo do método de autenticação.

Cabeçalhos de resposta HTTP

As respostas HTTP devem incluir os seguintes cabeçalhos (esta lista não é exaustiva):

Cabeçalho Description
Content-Type A API regressa application/json sempre.
Comprimento do conteúdo O comprimento do corpo pedido, se presente, em bytes.

Controlo de versões

A versão atual da API é 1. A versão API pode ser especificada através de um parâmetro de consulta no URL de pedido, como no exemplo seguinte: http://localhost:8086/api/pamresources/pamrequests?v=1 Se a versão não for especificada no pedido, o pedido é executado contra a versão mais recente da API.

Segurança

O acesso à API requer autenticação Windows Integrada (IWA). Isto deve ser configurado manualmente no IIS antes de Microsoft Identity Manager instalação (MIM).

HTTPS (TLS) é suportado, mas deve ser configurado manualmente no IIS. Para obter informações, consulte: Implementar camada de tomadas seguras (SSL) para o Portal FIM no passo 9: Executar as tarefas de pós-instalação FIM 2010 R2 no Guia de Laboratório de Ensaios DE Instalação FIM 2010 R2.

Pode gerar um novo certificado de servidor SSL executando o seguinte comando no Visual Studio Comando Prompt:

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

O comando cria um certificado auto-assinado que pode ser usado para testar uma aplicação web que utiliza SSL num servidor web onde o URL está test.cwap.com . O OID definido pela -eku opção identifica o certificado como um certificado de servidor SSL. O certificado está guardado na minha loja e está disponível ao nível da máquina. Pode exportar o certificado a partir do encaixe de certificados em mmc.exe.

Acesso ao domínio transversal (CORS)

O CORS é suportado, mas deve ser configurado manualmente no IIS. Adicione os seguintes elementos ao ficheiro API web.config implantado para configurar a API para permitir chamadas de domínio cruzado:

<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> 

Processamento de erros

A API devolve respostas de erro HTTP para indicar as condições de erro. Os erros são compatíveis com o OData. A tabela a seguir mostra os códigos de erro que podem ser devolvidos a um cliente:

Código de estado de HTTP Descrição
401 Não autorizado
403 Proibido
408 Tempo Limite do Pedido
500 Erro interno do servidor
503 Serviço Indisponível

Filtragem

Os pedidos da API PAM REST podem incluir filtros para especificar as propriedades que devem ser incluídas na resposta. A sintaxe do filtro baseia-se em expressões OData.

Os filtros podem especificar qualquer uma das propriedades dos Pedidos PAM, Funções PAM. ou pedidos de PAM pendentes. Por exemplo: ExpirationTime, DisplayName, ou qualquer outro imóvel válido de um Pedido PAM, Função PAM ou Pedido Pendente.

A API suporta os seguintes operadores em expressões de filtro: E, Equal, NotEqual, GreaterThan, LessThan, GreaterThenOrEqueal, e LessThanOrEqual.

Os seguintes pedidos de amostra incluem filtros:

  • Este pedido devolve todos os Pedidos DE PAM entre datas específicas: 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'

  • Este pedido devolve a Função Pam com o nome de exibição "SQL Acesso ao Ficheiro":http://localhost:8086/api/pamresources/pamroles?$filter=DisplayName eq 'SQL File Access'