简介
本文档介绍如何通过Cisco FMC和Cisco FDM的应用程序编程接口(API)资源管理器进行导航。
先决条件
对REST API的基本了解。
要求
此演示要求使用至少一个由此Firepower管理中心(FMC)管理的设备来访问Firepower管理中心(FMC) GUI。 对于本演示的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的规则,您需要策略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资源管理器查看导航
要访问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网络无法访问的结果