简介
本文档介绍如何通过CSM API方法提取由思科安全管理器(CSM)管理的设备的以逗号分隔值(CSV)格式的访问控制列表(ACL)。
先决条件
要求
Cisco 建议您了解以下主题:
- 思科安全管理器(CSM)
- CSM API
- API基础知识
使用的组件
本文档中的信息基于以下软件和硬件版本:
- CSM服务器
- CSM API许可证
Product Name: L-CSMPR-API
Product Description: L-CSMPR-API : Cisco Security Manager Pro - License to enable API Access
- 由CSM管理的自适应安全设备(ASA)
- API客户端。您可以使用cURL、Python或Postman。本文演示了Postman的整个过程。
必须关闭CSM客户端应用。如果CSM客户端应用已打开,则必须由使用API方法的用户以外的用户使用。否则,API返回错误。有关使用API功能的其他必备条件,您可以使用下一个指南。API必备条件
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
思科安全管理器(CSM)具有一些用于受管设备配置的功能,需要通过API实施。
其中一个配置选项是提取在CSM管理的每台设备中配置的访问控制列表(ACL)列表的方法。到目前为止,使用CSM API是实现这一要求的唯一方法。
出于这些目的,Postman用作API客户端和CSM版本4.19 SP1、ASA 5515版本9.8(4)。
网络图
CSM API许可证安装/验证
CSM API是许可功能,您可以验证CSM是否具有API许可证,在CSM客户端中,导航至Tools > Security Manager Administration > Licensing页面以确认您已安装许可证。
如果未应用API许可证,但您已拥有可安装许可证的.lic文件,请单击Install a License按钮,您必须将许可证文件存储在CSM服务器所在的同一磁盘下。
要安装更新的思科安全管理器许可证,请执行以下步骤:
步骤1.从您收到的邮件中保存随附的许可证文件(.lic)到文件系统。
步骤2.将保存的许可证文件复制到Cisco Security Manager服务器文件系统上的已知位置。
步骤3.启动Cisco Security Manager客户端。
步骤4.导航至Tools->Security Manager Administration...
步骤5.从“思科安全管理器 — 管理”窗口中,选择许可
步骤6.单击“安装许可证”按钮。
步骤7.从“安装许可证”对话框中,选择“浏览”按钮。
步骤8.导航到并选择Cisco Security Manager服务器文件系统上保存的许可证文件,然后选择“确定”按钮。
步骤9.在“安装许可证”对话框中,单击“确定”按钮。
步骤10.确认显示的“许可证摘要”信息,然后单击“关闭”按钮。
API许可证只能应用于为CSM专业版许可的服务器。许可证无法应用到运行许可证标准版的CSM。API许可证要求
配置步骤
API客户端设置
如果使用Postman,则需要配置一些设置,这取决于每个API客户端,但必须类似。
CSM设置
- 已启用API。在“工具”>“安全管理器管理”>“API”下
API设置
使用CSM API
您需要在API客户端中配置以下两个调用:
1.登录方法
2.获取ACL值
供整个流程参考:
本实验中使用的CSM访问详细信息:
CSM主机名(IP地址):192.168.66.116。在API中,我们在URL中使用主机名。
用户名:admin
密码:管理123
登录方法
在对其他服务调用任何其他方法之前,必须先调用此方法。
CSM API指南:方法登录
请求
1. HTTP方法:POST
2.URL:https://<hostname>/nbi/login
3.正文:
1.0
123
admin
Admin123
true
https://192.168.66.116/nbi/login
其中:
username:与会话关联的CSM客户端用户名
密码:与会话关联的CSM客户端密码。
reqId:此属性唯一标识客户端完成的请求,该值由CSM服务器在关联的响应中回显。它可设置为用户希望用作标识符的任何内容。
heartbeatRequested:此属性可以选择性地定义。如果属性设置为true,则CSM客户端从CSM服务器接收心跳回调。服务器尝试以接近(非活动超时)/ 2分钟的频率ping客户端。如果客户端不响应心跳,则API会在下一个间隔内重试心跳。如果心跳成功,则会重置会话非活动超时。
回叫URL:CSM服务器进行回调的URL。如果heartbeatRequested为true,则需要指定此值。仅允许基于HTTPS的回叫URL
4.发送
选择要查看的原始选项,如本例所示。
回复
登录API验证用户凭证并返回会话令牌作为安全Cookie。会话值存储在asCookie键下,您必须将此值保存为Cookie值。
获取ACL规则
方法execDeviceReadOnlyCLICmds。通过此方法可以执行的一组命令是只读命令,例如提供关于特定设备操作的附加信息的统计信息、监控命令。
《CSM API用户指南》中的方法详细信息
请求
1. HTTP方法:POST
2.URL:https://hostname/nbi/utilservice/execDeviceReadOnlyCLICmds
3. HTTP报头:登录方法返回的用于标识身份验证会话的Cookie。
输入asCookie值,以前从“方法登录”中获取。
密钥:输入“asCookie”
值:获取的输入值。
单击复选框以启用它。
4.正文:
1.0
123
192.168.66.1
show
access-list
注意:以上XML正文可用于执行任何“show”命令,例如:“show run all”、“show run object”、“show run nat”等。
XML“<deviceReadOnlyCLICmd>”元素表示“<cmd>”和“<argument>”中指定的命令必须为只读。
其中:
设备IP:必须对其执行命令的设备IP地址。
cmd:固定命令“show”。正则表达式允许混合大小写[sS][hH][oO][wW]
参数:show命令参数。例如“run”显示设备的运行配置或“access-list”显示访问列表详细信息。
5.发送
回复
验证
您可以选择将响应另存为文件。导航至保存响应>保存到文件。然后选择文件位置并将其另存为.csv类型。
然后,您必须能够打开此.csv文件,例如,使用Excel应用程序。从.csv文件类型中,可将输出另存为其他文件类型,如PDF、TXT等。
故障排除
使用API可能的故障响应。
1.未安装API许可证。
原因:API许可证已过期、未安装或未启用。
可能的解决方案:在“工具”>“安全管理器管理”>“许可”页面下验证许可证的到期日期
验证API功能是否在“工具”(Tools)>“安全管理器管理”(Security Manager Administration)>“API”(API)下启用
确认本指南上面的“CSM API许可证安装/验证”部分的设置。
2. API登录的CSM IP地址使用错误。
原因:CSM服务器的IP地址在API调用的URL中错误。
可能的解决方案:在API客户端的URL中验证主机名是CSM服务器的正确IP地址。
URL:https:// <hostname>/nbi/login
3.错误的ASA IP地址。
原因:<deviceIP></deviceIP>标签之间的正文上定义的IP地址不能正确。
可能的解决方案:确认正文语法中定义了正确的设备IP地址。
4.没有与防火墙的连接。
原因:设备与CSM无连接
可能的解决方案:从CSM服务器运行测试连接并排除与设备的进一步连接故障。
有关更多错误代码和说明,请在下一链接的《思科安全管理器API规范指南》中找到更多详细信息。