簡介
本檔案介紹透過Cisco FMC和Cisco 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呼叫中的可用引數來引數化查詢。只有帶有紅色星號的那些是必需的,其它的則可以留空。
例如,對於所有API呼叫,domainUUID都是必需的,但在API Explorer上,會自動填充該值。
下一步是按一下Execute進行此呼叫。
按一下「執行」之前,您可以檢視呼叫回應的範例,瞭解根據要求是否正確,您可以取得哪些可能的回應。
執行API呼叫後,您將獲得響應代碼以及響應負載。在此例中為200,對應於OK請求。 您還會獲取剛剛進行的呼叫的cURL和URL。如果您要透過外部客戶端/軟體進行此呼叫,此資訊將非常有用。
所獲得的答案會傳回FMC中設定的ACP及其objectID。在此情況下,您可以在下一個影像的紅色方塊中看到此資訊:
此objectID是您在需要參照此ACP的呼叫中輸入的值。例如,在此ACP內建立規則。
包含大括弧{}之間值的URI是進行此呼叫所需的值。 請記住,domainUUID是唯一自動填充的值。
這些呼叫所需的值在呼叫描述中指定。若要建立ACP的規則,您需要原則ID,如下圖所示:
此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 Explorer檢視導覽
若要存取FDM API Explorer,可以使用FDM GUI上的按鈕直接移至該瀏覽器,如下圖所示:
在API Explorer中,您會發現查詢也分為不同的類別。
若要展開類別,您必須按一下該類別,然後您可以按一下其中任何一項來展開各項作業。在每項操作中找到的第一件事就是此呼叫的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網路訪問而導致的結果