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 角色或待決要求的 ExpirationTimeDisplayName 或任何其他有效屬性。

API 支援篩選條件運算式中的下列運算子:AndEqualNotEqualGreaterThanLessThanGreaterThenOrEquealLessThanOrEqual

下列範例要求包含篩選條件:

  • 此要求會傳回特定日期之間的所有 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'