簡介
本文檔介紹通過思科FMC和思科FDM的應用程式程式設計介面(API)瀏覽器進行的導航。
必要條件
對REST API有基礎認識。
需求
此演示要求具有對Firepower管理中心(FMC)GUI的訪問許可權,其中至少有一個裝置由此Firepower管理中心(FMC)管理。 對於本演示的FDM部分,需要在本地管理Firepower威脅防禦(FTD)才能訪問FDM GUI。
採用元件
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
檢視通過FMC API Explorer的導航
要訪問FMC API資源管理器,請導航到下一個URL:
https://<FMC_mgmt_IP>/api/api-explorer
您必須使用用於FMC GUI的相同憑據登入。當您輸入API資源管理器URL時,這些憑證會在一個類似於下一個憑證的視窗中輸入。
登入後,可以看到API查詢被按類別劃分,這些類別與您可以使用API進行的可能呼叫相對應。
注意:並非所有可從GUI或CLI使用的配置功能都可以通過API獲得。
按一下某個類別時,該類別會展開,顯示適用於該類別的不同呼叫。這些呼叫與其各自的REST方法和該呼叫的通用資源識別符號(URI)一起顯示。
在下一個示例中,您將請求檢視FMC中配置的訪問策略。按一下相應的方法將其展開,然後按一下Try it out按鈕。
需要強調的是,您可以使用每個API呼叫中的可用引數來引數化查詢。只有那些帶有紅色星號的星號是強制性的,其他星號可以留空。
例如,domainUUID對於所有API呼叫都是必需的,但在API資源管理器上會自動填充該值。
下一步是按一下Execute進行此呼叫。
按一下「執行」之前,您可以檢視對呼叫的響應示例,從而瞭解根據請求正確與否而可能獲得的響應。
執行API呼叫後,您會與響應負載一起獲得響應代碼。在本例中為200,對應於OK請求。 您還會獲取剛剛進行的呼叫的cURL和URL。如果要使用外部客戶端/軟體進行此呼叫,此資訊非常有用。
獲得的答案返回在FMC中配置的ACP及其對象ID。在這種情況下,可以在下一幅影象的紅色框中看到此資訊:
此objectID是在需要引用此ACP的呼叫中輸入的值。例如,在此ACP中建立規則。
包含花括弧{}之間的值的URI是進行此呼叫所需的值。 請記住,domainUUID是唯一一個自動填充的值。
這些呼叫所需的值在呼叫說明中指定。要為ACP建立規則,您需要使用policyID,如下圖所示:
此policyID在指定為containerUUID的欄位中輸入,POST方法的另一個必需欄位是負載或請求正文。您可以使用給出的示例根據需要進行修改。
修改後的負載示例:
{ "action": "ALLOW", "enabled": true, "type": "AccessRule", "name": "Testing API rule", "sendEventsToFMC": false, "logFiles": false, "logBegin": false, "logEnd": false, "sourceZones": { "objects": [ { "name": "Inside_Zone", "id": "8c1c58ec-8d40-11ed-b39b-f2bc2b448f0d", "type": "SecurityZone" } ] }, "destinationZones": { "objects": [ { "name": "Outside_Zone", "id": "c5e0a920-8d40-11ed-994a-900c72fc7112", "type": "SecurityZone" } ] }, "newComments": [ "comment1", "comment2" ] }
執行上一個呼叫後,您將收到201響應代碼,表明該請求已成功並導致了資源的建立。
最後,您必須進行部署,以使這些更改在修改了ACP的FTD中生效。
為此,您必須獲取已準備好部署更改的裝置清單。
本示例包含一對在高可用性中配置的裝置。您必須獲取此HA的ID,如果是獨立裝置,您必須獲取該裝置的ID。
獲取HA的裝置ID所需的查詢如下:
使用裝置ID和部署版本號,您可以修改下一個呼叫示例的負載,以進行呼叫以執行此部署。
一旦執行此呼叫,如果一切正常,您會收到代碼為202的響應。
通過FDM API資源管理器檢視導航
要訪問FDM API資源管理器,可以使用FDM GUI上的按鈕直接訪問它,如下圖所示:
進入API資源管理器後,您會注意到查詢也分為多個類別。
要展開某個類別,必須按一下該類別,然後可以通過按一下其中任何操作來展開每個操作。每個操作中找到的第一個內容是此呼叫的OK響應示例。
您接下來看到的就是可用於限制所發出呼叫響應的引數。請記住,只有標籤為必填的欄位才能進行此類呼叫。
最後,您會找到此呼叫可以返回的可能響應代碼。
如果要進行此呼叫,必須按一下Try It Out。要找到此按鈕,您必須向下滾動直到找到此按鈕,因為它位於每個呼叫的底部。
按一下「Try It Out(試用)」按鈕時,如果呼叫不需要更多欄位,它會立即執行並做出響應。
疑難排解
每個呼叫都會生成一個HTTP響應代碼和響應正文。這麼做可協助您識別錯誤的位置。
下一個是當會話過期時發生的常見錯誤,指示令牌由於過期而無效。
下面是呼叫可以返回的HTTP響應代碼示例:
- 2xx系列:成功。有幾個狀態代碼:200(GET和PUT)、201(POST)、202、204(DELETE)。它們表示API呼叫成功。
- 30x系列:重定向。可以在客戶端最初使用HTTP並被重定向到HTTPS時使用。
- 4xx系列:從客戶端傳送到伺服器的API呼叫中的客戶端故障。兩個示例包括指示會話未進行身份驗證的401狀態代碼和指示禁止訪問嘗試的403代碼。
- 5xx系列:伺服器、裝置或服務端故障。這可能是因為裝置API服務被禁用或無法通過IP網路訪問