Serviceinformation om PAM REST API

I följande avsnitt beskrivs information om REST-API:et Microsoft Identity Manager (MIM) Privileged Access Management (PAM).

HTTP-begärandehuvuden

HTTP-begäranden som skickas till API:et bör innehålla följande rubriker (den här listan är inte fullständig):

Huvud Description
Auktorisering Krävs. Innehållet beror på autentiseringsmetoden, som kan konfigureras och kan baseras på WIA (Windows-integrerad autentisering) eller ADFS.
Content-Type Krävs om begäran har en brödtext. Måste anges till application/json.
Innehållslängd Krävs om begäran har en brödtext.
Cookie Sessionscookien. Kan krävas beroende på autentiseringsmetod.

HTTP-svarshuvuden

HTTP-svar bör innehålla följande rubriker (den här listan är inte fullständig):

Huvud Description
Content-Type API:et returnerar application/jsonalltid .
Innehållslängd Längden på begärandetexten, om den finns, i byte.

Versionshantering

Den aktuella versionen av API:et är 1. API-versionen kan anges via en frågeparameter i begärande-URL:en, som i följande exempel: http://localhost:8086/api/pamresources/pamrequests?v=1 Om versionen inte anges i begäran körs begäran mot den senast utgivna versionen av API:et.

Säkerhet

Åtkomst till API:et kräver integrerad Windows-autentisering (IWA). Detta bör konfigureras manuellt i IIS innan Microsoft Identity Manager (MIM) installation.

HTTPS (TLS) stöds, men bör konfigureras manuellt i IIS. Mer information finns i : Implementera SSL (Secure Sockets Layer) för FIM-portalen i steg 9: Utför FIM 2010 R2 efter installationsuppgifter i testlabbguiden installera FIM 2010 R2.

Du kan generera ett nytt SSL-servercertifikat genom att köra följande kommando i Visual Studio-kommandotolken:

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

Kommandot skapar ett självsignerat certifikat som kan användas för att testa ett webbprogram som använder SSL på en webbserver där URL:en är test.cwap.com. Den OID som definieras av -eku alternativet identifierar certifikatet som ett SSL-servercertifikat. Certifikatet lagras i mitt arkiv och är tillgängligt på datornivå. Du kan exportera certifikatet från snapin-modulen Certifikat i mmc.exe.

Korsdomänåtkomst (CORS)

CORS stöds, men bör konfigureras manuellt i IIS. Lägg till följande element i den distribuerade API-web.config-filen för att konfigurera API:et så att anrop mellan domäner tillåts:

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

Felhantering

API:et returnerar HTTP-felsvar för att ange felvillkor. Fel är OData-kompatibla. I följande tabell visas de felkoder som kan returneras till en klient:

HTTP-statuskod Beskrivning
401 Behörighet saknas
403 Förbjudet
408 Timeout för begäran
500 Internt serverfel
503 Tjänsten är inte tillgänglig

Filtrering

PAM REST API-begäranden kan innehålla filter för att ange de egenskaper som ska ingå i svaret. Filtersyntaxen baseras på OData-uttryck.

Filter kan ange någon av egenskaperna för PAM-begäranden, PAM-roller. eller väntande PAM-begäranden. Till exempel: ExpirationTime, DisplayName eller någon annan giltig egenskap för en PAM-begäran, PAM-roll eller väntande begäran.

API:et stöder följande operatorer i filteruttryck: And, Equal, NotEqual, GreaterThan, LessThan, GreaterThenOrEqueal och LessThanOrEqual.

Följande exempelbegäranden omfattar filter:

  • Den här begäran returnerar alla PAM-begäranden mellan specifika datum: 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'

  • Den här begäran returnerar Pam-rollen med visningsnamnet "SQL File Access": http://localhost:8086/api/pamresources/pamroles?$filter=DisplayName eq 'SQL File Access'