簡介
本文檔介紹通過思科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 AND PUT)、201(POST)、202、204(DELETE)。 它們表示API呼叫成功。
- 30x系列:重定向。可以在客戶端最初使用HTTP並被重定向到HTTPS時使用。
- 4xx系列:從客戶端傳送到伺服器的API呼叫中的客戶端故障。兩個示例包括指示會話未進行身份驗證的401狀態代碼和指示禁止訪問嘗試的403代碼。
- 5xx系列:伺服器、裝置或服務端故障。這可能是因為裝置API服務被禁用或無法通過IP網路訪問