PAM REST API 服務詳細資料
下列各節討論 Microsoft Identity Manager (MIM) Privileged Access Management (PAM) REST API 的詳細資料。
HTTP 要求標頭
傳送至 API 的 HTTP 要求應包含下列標頭, (此清單並非詳盡) :
標頭 | 描述 |
---|---|
授權 | 必要。 內容取決於驗證方法,這是可設定的,而且可以根據 WIA (Windows 整合式驗證) 或 ADFS。 |
Content-Type | 如果要求有內文,則為必要。 必須設為 application/json 。 |
Content-Length | 如果要求有內文,則為必要。 |
Cookie | 工作階段 Cookie。 根據驗證方法而定,可能為必要。 |
HTTP 回應標頭
HTTP 回應應該包含下列標頭, (這份清單並非詳盡) :
標頭 | 描述 |
---|---|
Content-Type | API 一律會傳 application/json 回 。 |
Content-Length | 要求本文 (如果有的話) 的長度 (以位元組為單位)。 |
版本控制
API 的目前版本為 1。
您可以透過要求 URL 中的查詢參數指定 API 版本,如下列範例所示:http://localhost:8086/api/pamresources/pamrequests?v=1
如果要求中未指定版本,則會針對最新發行的 API 版本來執行要求。
安全性
存取 API 時需要整合式 Windows 驗證 (IWA)。 這應該在 Microsoft Identity Manager (MIM) 安裝之前,在 IIS 中手動設定。
支援 HTTPS (TLS),但應該在 IIS 中手動設定。 如需詳細資訊,請參閱安裝FIM 2010 R2 測試實驗室指南中的步驟 9:在安裝 FIM 2010 R2測試實驗室指南中,為 FIM 入口網站實作安全通訊端層 (SSL) 。
您可以在 Visual Studio 命令提示字元執行下列命令,以產生新的 SSL 伺服器憑證:
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
此命令會建立自我簽署憑證,可用來測試在 URL 為 test.cwap.com
的 Web 服務器上使用 SSL 的 Web 應用程式。 選項定義的 -eku
OID 會將憑證識別為 SSL 伺服器憑證。 憑證會儲存在 我的 存放區中,而且可在電腦層級取得。 您可以從 [憑證] 嵌入式管理單元匯出憑證mmc.exe。
跨網域存取 (CORS)
支援 CORS,但應該在 IIS 中手動設定。 將下列元素加入至已部署的 API web.config 檔案,以設定 API 來允許跨網域呼叫:
<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>
錯誤處理
API 會傳回 HTTP 錯誤回應來指出錯誤情況。 錯誤是 OData 相容。 下表顯示可能會傳回給用戶端的錯誤碼:
HTTP 狀態碼 | 描述 |
---|---|
401 | 未經授權 |
403 | 禁止 |
408 | 要求逾時 |
500 | 內部伺服器錯誤 |
503 | 服務無法使用 |
篩選
PAM REST API 要求可以包含篩選條件,以指定應該包含在回應中的屬性。 篩選語法是根據 OData 運算式。
篩選條件可以指定 PAM 要求、PAM 角色 或 PAM 待決要求的任何屬性。 例如:PAM 要求、PAM 角色或待決要求的 ExpirationTime、DisplayName 或任何其他有效屬性。
API 支援篩選條件運算式中的下列運算子:And、Equal、NotEqual、GreaterThan、LessThan、GreaterThenOrEqueal 和 LessThanOrEqual。
下列範例要求包含篩選條件:
此要求會傳回特定日期之間的所有 PAM 要求:
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'
此要求會傳回顯示名稱為 "SQL File Access" 的 Pam 角色:
http://localhost:8086/api/pamresources/pamroles?$filter=DisplayName eq 'SQL File Access'