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/json alltid . |
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'