简介
本文档介绍如何通过Cisco FMC和Cisco FDM的应用编程接口(API)浏览器进行导航。
先决条件
对REST API的基本了解。
要求
此演示要求具有对Firepower管理中心(FMC)GUI的访问权限,其中至少有一个设备由此Firepower管理中心(FMC)管理。 对于本演示的FDM部分,需要本地管理Firepower威胁防御(FTD)才能访问FDM GUI。
使用的组件
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
通过FMC API资源管理器查看导航
要访问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资源管理器上会自动填充该值。
下一步是点击执行进行此调用。
在单击“执行”之前,您可以看到对呼叫的响应示例,从而了解根据请求是否正确可以获得哪些可能的响应。
执行API调用后,您会与响应负载一起获取响应代码。在本例中为200,其对应于OK请求。 您还会获取刚刚进行的呼叫的cURL和URL。如果要通过外部客户端/软件进行此呼叫,此信息非常有用。
获得的答案返回在FMC中配置的ACP及其对象ID。在这种情况下,您可以在下一幅图像的红色框中看到此信息:
此objectID是在需要引用此ACP的调用中输入的值。例如,在此ACP中创建规则。
包含花括号{}之间的值的URI是进行此调用所需的值。 请记住,domainUUID是唯一自动填充的值。
这些呼叫所需的值在呼叫描述中指定。要创建ACP的规则,您需要策略ID,如下图所示:
在指定为containerUUID的字段中输入policyID,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网络访问造成的