Introducción
Este documento describe cómo un administrador de la interfaz de programación de aplicaciones (API) puede autenticarse en Firepower Management Center (FMC), generar tokens y utilizarlos para cualquier otra interacción de la API.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
Componentes Utilizados
- Firepower Management Center que admite API REST (versión 6.1 o superior) con la API REST habilitada.
- Clientes REST como Postman, scripts Python, CURL, etc.
Antecedentes
Las API REST son cada vez más populares debido al enfoque programable ligero que los administradores de red pueden utilizar para configurar y administrar sus redes. FMC admite la configuración y la gestión mediante cualquier cliente REST y también mediante el explorador de API integrado.
Configurar
Habilitación de la API REST en FMC
Paso 1. Navegue hasta Sistema>Configuración>Preferencias de API REST>Activar la API REST.
Paso 2. Marque la casilla de verificación Activar API REST.
Paso 3. Haga clic en Guardar, se mostrará un cuadro de diálogo Guardar correctamente cuando se habilite la API REST, como se muestra en la imagen:

Creación de un usuario en FMC
Una práctica recomendada para utilizar la infraestructura de la API en FMC es mantener separados a los usuarios de la interfaz de usuario y a los usuarios del script. Consulte la Guía de Cuentas de Usuario para FMC para conocer las diferentes funciones de usuario y las pautas para crear un nuevo usuario.
Pasos para solicitar un token de autenticación
Paso 1. Abra el cliente API REST.
Paso 2. Configure el cliente para que realice un comando POST, URL: https://<management_center_IP_or_name>/api/fmc_platform/v1/auth/generatetoken.
Paso 3. Incluya el nombre de usuario y la contraseña como encabezado de autenticación básico. El cuerpo de POST debe estar en blanco.
Por ejemplo, una solicitud de autenticación mediante 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)
Otro ejemplo de una solicitud de autenticación mediante 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
Ejemplo de un cliente basado en GUI como Postman, como se muestra en la imagen:

Envío de solicitudes de API posteriores
Nota: Lo que se ve en el resultado son los encabezados de respuesta y no el cuerpo de la respuesta. El cuerpo de la respuesta real está en blanco. La información de encabezado importante que se debe extraer es X-auth-access-token, X-auth-refresh-token y DOMAIN_UUID.
Una vez que se haya autenticado correctamente en FMC y haya extraído los tokens, para más solicitudes de API debe aprovechar la siguiente información:
- Agregue el encabezado X-auth-access-token <valor de token de autenticación> como parte de la solicitud.
- Agregue los encabezados X-auth-access-token <valor de token de autenticación> y X-auth-refresh-token <valor de token de actualización> en las solicitudes para actualizar el token.
- Utilice Domain_UUID desde el token de autenticación en todas las solicitudes REST al servidor.
Con esta información de encabezado, puede interactuar con éxito con el FMC mediante API REST.
Solucionar problemas comunes
- El cuerpo de solicitud y respuesta del POST enviado para la autenticación está en blanco. Debe pasar los parámetros de autenticación básicos en el encabezado de la solicitud. Toda la información del token se devuelve a través de los encabezados de respuesta.
- Al utilizar el cliente REST, es posible que vea errores relacionados con el problema del certificado SSL debido a un certificado autofirmado. Puede desactivar esta validación en función del cliente que esté utilizando.
- Las credenciales de usuario no se pueden utilizar para las interfaces API REST y GUI simultáneamente, y el usuario se desconectará sin previo aviso si se utiliza para ambas.
- Los tokens de autenticación de la API REST de FMC son válidos durante 30 minutos y pueden actualizarse hasta tres veces.