共用方式為


PAM REST API 服務詳細數據

下列各節將討論 Microsoft Identity Manager (MIM) Privileged Access Management (PAM) REST API 的詳細數據。

HTTP 要求標頭

傳送至 API 的 HTTP 要求應包含下列標頭(此列表並不詳盡):

頁首 說明
授權 必須的。 內容依賴於驗證方法,這種方法是可設定的,可以基於 WIA(Windows 整合式驗證)或 ADFS。
內容-類型 如果要求具有主體,則為必要項。 必須設定為 application/json
內容長度 如果請求有內容,則為必需項。
餅乾 會話 Cookie。 驗證方法而定,可能需要。

HTTP 回應標頭

HTTP 回應應包含下列標頭(此列表不完整):

頁首 說明
內容-類型 API 一律會傳回 application/json
內容長度 如果存在,要求主體的長度會以位元組為單位。

版本控制

API 的目前版本為 1。 API 版本可以透過要求 URL 中的查詢參數來指定,如下列範例所示: http://localhost:8086/api/pamresources/pamrequests?v=1 如果未在要求中指定版本,則會針對最近發行的 API 版本執行要求。

安全

存取 API 需要整合式 Windows 驗證 (IWA)。 這應該在 IIS 中手動設定,才能安裝 Microsoft Identity Manager (MIM)。

支援 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之網頁伺服器上使用 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 要求。 例如: ExpirationTimeDisplayName 或任何其他 PAM 要求、PAM 角色或擱置要求的有效屬性。

API 支援篩選表達式中的下列運算符:AndEqualNotEqualGreaterThan、LessThanGreaterThenOrEquealLessThanOrEqual

下列範例要求包括篩選:

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