简介
本文档介绍使用防火墙管理中心API资源管理器的思科安全防火墙的REST API配置。
其他信息
REST API是一个可以基于RESTful原理进行通信的应用编程接口。REST API通过HTTP请求进行通信,并在资源内执行创建、读取、更新和删除(CRUD)操作。通过REST API进行配置可实现大量可能性,从而自动化和简化您配置安全防火墙设备的方式。
使用REST API的主要优势包括:
- 可扩展性 — 因为运营可以扩展到多个资源。
- 灵活性 — 易于在不同软件开发环境中实施;与大多数API一样,它使用XML、JSON和HTTP。
- 自动化 — 您可以通过批量执行配置更改来简化多个设备的配置流程,从而减少耗时的重复配置任务。
REST API依赖与FMC/FDM相同的身份验证并使用OAUTH2.0。 REST API中的每个函数映射到FMC和FDM中的相同权限。
配置
API资源管理器浏览
REST API在FMC内默认启用。您可以通过导航至 System > Configuration > REST API Preferences
.
启用Rest API
FMC和FDM具有称为API Explorer的内置接口,该接口是查看REST API的功能和功能的有用工具。对于FMC,可以使用此URL访问API资源管理器; https://
/api/api-explorer
.
使用FMC GUI凭证登录:
使用FMC GUI凭证登录
访问API资源管理器后,将显示主页。您可以在此处找到顶部功能区、域和配置部分。在右上角,您可以找到版本信息以及有用的资源:
顶部功能区
接下来,查找所有配置部分,从域开始。选择此下拉列表将显示所有现有FMC域。
域
下面显示了配置部分和功能,包括FMC支持的功能:
配置部分
最后,在页面底部,您可以找到Schemas部分。在这里,您可以查看JSON中的部分配置,了解其他受支持的功能,您可以将这些功能作为参考来构建针对这些功能的HTTP请求:
方案
使用API资源管理器
现在,返回配置部分,导航到Devices:
设备配置
FMC的REST API支持下一个HTTP方法。请注意,每个节点都执行CRUD操作:
-
GET — 读取
-
POST — 创建
-
PUT — 更新/替换
-
DELETE — 删除
统一资源标识符(URI)与其中每种方法一起提供到每个对象的相应路径:
/api/fmc_config/v1/domain/{domainUUID}/devices/devicerecords
通过选择以下方法之一,您可以展开并查看GET HTTP请求中包含的参数:
- 过滤器
- 偏移
- 限制
- 已展开
- 域通用唯一标识符(UUID)
GET设备/设备记录
注意:在生成HTTP请求时,域UUID至关重要,因为每个对象都分配有唯一的标识符,这是执行操作所必需的。
设备记录域UUID
复制域UUID:
e276abec-e0f2-11e3-8169-6d9ed49b625f
接下来,可以看到“响应”部分,从中可以找到Curl和“请求URL”,以及此方法的默认服务器响应和一些服务器响应示例。
Responses部分。
测试FMC API Explorer GET方法
现在,您可以通过单击 Try it out
:
选择试用
对于此特定HTTP GET请求(针对设备、设备记录),不需要包含任何其他UUID或其他参数,并且您可以选择Execute:
选择执行
如果HTTP GET请求成功,并且Response正文包含您的FMC中所有已注册设备的设备信息,则FMC返回服务器响应200。
200 GET响应输出。
从此输出中,请注意此FMC管理了一个FTD,名为FTDv-703。
GET设备记录域UUID
您可以记下ID值,因为它用于访问尤其是针对此FTD的API请求。复制ID:
"name": "FTDv-703"
"id": "6bad6bbc-0b05-11ee-9a47-84ecf73b3ccf"
最后一个示例是,您可以在此方法中使用设备UUID(从之前的响应获取)来检索特定受管设备(FTDv-703)的所有接口配置:
"id": "6bad6bbc-0b05-11ee-9a47-84ecf73b3ccf"
导航至 GET
- Devices > Device records > physicalinterfaces
.
/api/fmc_config/v1/domain/{domainUUID}/devices/devicerecords/{containerUUID}/physicalinterfaces
FMC响应(使用服务器响应输出),并且您可以看到此设备(FTD)有两个数据接口和一个诊断接口,这两个接口配置了相应的UUID和配置。
GET设备记录物理接口响应。
From Response body:
"type": "PhysicalInterface",
"id": "005056B3-9582-0ed3-0000-004294967553",
"name": "GigabitEthernet0/0"
"type": "PhysicalInterface",
"id": "005056B3-9582-0ed3-0000-004294967554",
"name": "GigabitEthernet0/1"
"type": "PhysicalInterface",
"id": "005056B3-9582-0ed3-0000-004294967555",
"name": "Diagnostic0/0"
以前的树形结构和访问HTTP方法的逻辑适用于所有对象。从常规到特定UUID,您可以读取、修改或添加对FMC和特定受管设备的配置更改。
URI结构。
FMC API资源管理器可用作查看支持的功能和配置方法的指南或参考,因此您可以为配置部署设计和自定义代码。
您还可以使用多个API平台(如Postman)或通过Python或Perl脚本从本地主机与FMC API交互。
注意:您可以访问Github中的安全防火墙存储库,以查看大量模板和自动化资源。