简介
本文档介绍应用编程接口(API)管理员如何向Firepower管理中心(FMC)进行身份验证、生成令牌并将其用于任何进一步的API交互。
先决条件
要求
Cisco 建议您了解以下主题:
使用的组件
- 支持REST API(版本6.1或更高版本)且已启用REST API的Firepower管理中心。
- REST客户端,如Postman、Python脚本、CURL等
背景信息
REST API越来越受欢迎,因为网络管理员可以使用轻量级可编程方法来配置和管理其网络。FMC支持使用任何REST客户端以及使用内置API资源管理器进行配置和管理。
配置
在FMC上启用REST API
步骤1.导航至System > Configuration > REST API Preferences > Enable REST API。
步骤2.选中启用REST API复选框。
步骤3.单击保存,启用REST API时显示“保存成功”对话框,如图所示:
在FMC上创建用户
在FMC上使用API基础设施的最佳做法是将UI用户和脚本用户分开。有关各种用户角色的了解以及创建新用户的指南,请参阅《FMC用户帐户指南》。
请求身份验证令牌的步骤
步骤1.打开REST API客户端。
步骤2.将客户端设置为执行POST命令,URL:https://<management_center_IP_or_name>/api/fmc_platform/v1/auth/generatetoken。
步骤3.将用户名和密码作为基本身份验证报头。POST正文应为空。
例如,使用Python的身份验证请求:
import requests
url = "https://10.10.10.1//api/fmc_platform/v1/auth/generatetoken"
payload = {}
headers = {
'Authorization': 'Basic Y2lzY291c2VyOmNpc2NwYXBpdXNlcg=='
}
response = requests.request("POST", url, headers=headers, data = payload, verify=False)
print(response.headers)
使用CURL的身份验证请求的另一个示例:
$ curl --request POST 'https://10.10.10.1/api/fmc_platform/v1/auth/generatetoken' --header 'Authorization: Basic Y2lzY291c2VyOmNpc2NwYXBpdXNlcg==' -k -i
HTTP/1.1 204 204
Date: Tue, 11 Aug 2020 02:54:06 GMT
Server: Apache
Strict-Transport-Security: max-age=31536000; includeSubDomains
Cache-Control: no-store
Accept-Ranges: bytes
Vary: Accept-Charset,Accept-Encoding,Accept-Language,Accept
X-auth-access-token: aa6f8326-0a0c-4f48-9d85-7a920c0fdca5
X-auth-refresh-token: 674e87d1-1572-4cd1-b86d-3abec04ca59d
USER_UUID: fc47b914-8121-11ea-ac18-f0428d0155cd
DOMAIN_ID: 111
DOMAIN_UUID: e276abec-e0f2-11e3-8169-6d9ed49b625f
global: e276abec-e0f2-11e3-8169-6d9ed49b625f
DOMAINS: [{"name":"Global","uuid":"e276abec-e0f2-11e3-8169-6d9ed49b625f"}]
X-Frame-Options: SAMEORIGIN
X-UA-Compatible: IE=edge
X-Permitted-Cross-Domain-Policies: none
X-XSS-Protection: 1; mode=block
Referrer-Policy: same-origin
Content-Security-Policy: base-uri 'self'
X-Content-Type-Options: nosniff
如图所示,来自基于GUI的客户端(如Postman)的示例:
发送后续API请求
注意:您在输出中看到的是响应报头,而不是响应正文。实际响应正文为空。 需要提取的重要报头信息是X-auth-access-token、X-auth-refresh-token和DOMAIN_UUID。
成功向FMC进行身份验证并提取令牌后,您需要利用以下信息来获取更多API请求:
- 将报头X-auth-access-token<authentication token value>作为请求的一部分添加。
- 在刷新令牌的请求中添加报头X-auth-access-token<authentication token value>和X-auth-refresh-token<refresh token value>。
- 在向服务器发出的所有REST请求中,使用身份验证令牌中的Domain_UUID。
使用此报头信息,您可以使用REST API成功与FMC交互。
排除常见问题
- 为身份验证发送的POST请求和响应正文为空。您需要在请求报头中传递基本身份验证参数。所有令牌信息都通过响应报头返回。
- 使用REST客户端时,可能会看到与SSL证书问题相关的错误,原因是自签名证书。您可以根据您使用的客户端关闭此验证。
- 用户凭证不能同时用于REST API和GUI接口,如果同时用于两者,则用户将注销而不发出警告。
- FMC REST API身份验证令牌的有效期为30分钟,最多可刷新三次。