Inleiding
In dit document wordt beschreven hoe een API-beheerder (Application Programming Interface) zich kan verifiëren bij Firepower Management Center (FMC), tokens kan genereren en deze kan gebruiken voor eventuele verdere API-interacties.
Voorwaarden
Vereisten
Cisco raadt kennis van de volgende onderwerpen aan:
Gebruikte componenten
- Firepower Management Center dat REST API's (versie 6.1 of hoger) ondersteunt met REST API ingeschakeld.
- REST-clients zoals Postman, Python-scripts, CURL, enz.
Achtergrondinformatie
REST API's worden steeds populairder vanwege de lichtgewicht programmeerbare aanpak die netwerkbeheerders kunnen gebruiken om hun netwerken te configureren en te beheren. FMC ondersteunt configuratie en beheer met behulp van elke REST-client en ook met behulp van de ingebouwde API-verkenner.
Configureren
REST API inschakelen op FMC
Stap 1. Navigeer naar Systeem>Configuratie>REST API-voorkeuren>REST API inschakelen.
Stap 2. Schakel het selectievakje REST API inschakelen in.
Stap 3. Klik op Opslaan, een succesvol opslaan dialoogvenster wordt weergegeven wanneer de REST API is ingeschakeld, zoals weergegeven in de afbeelding:

Een gebruiker maken op FMC
Als een best practice om de API-infrastructuur op FMC te gebruiken, is het om UI-gebruikers en scriptgebruikers gescheiden te houden. Raadpleeg de handleiding Gebruikersaccounts voor FMC voor meer informatie over de verschillende gebruikersrollen en de richtlijnen voor het maken van een nieuwe gebruiker.
Stappen voor het aanvragen van een authenticatie token
Stap 1. Open uw REST API-client.
Stap 2. Stel de client in op een POST-opdracht, URL: https://<management_center_IP_or_name>/api/fmc_platform/v1/auth/generatetoken.
Stap 3. Voeg de gebruikersnaam en het wachtwoord toe als een basiskoptekst voor verificatie. De POST body moet leeg zijn.
Bijvoorbeeld een authenticatieverzoek met 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)
Een ander voorbeeld van een authenticatieverzoek met behulp van 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
Voorbeeld van een op GUI gebaseerde client zoals Postman, zoals weergegeven in de afbeelding:

Verzenden van volgende API-aanvragen
Opmerking: wat u ziet in de uitvoer zijn de antwoordkoppen en niet het antwoordlichaam. Het werkelijke antwoordorgaan is leeg. De belangrijke informatie over de header die moet worden geëxtraheerd is X-auth-access-token, X-auth-refresh-token, en DOMAIN_UUID.
Zodra u zich met succes hebt geverifieerd bij FMC en de tokens hebt geëxtraheerd, moet u voor verdere API-verzoeken onderstaande informatie gebruiken:
- Voeg de koptekst X-auth-access-token <authentication token value> toe als onderdeel van het verzoek.
- Voeg de headers X-auth-access-token <authentication token value> en X-auth-refresh-token <refresh token value> toe bij verzoeken om de token te vernieuwen.
- Gebruik de Domain_UUID van de verificatietoken in alle REST-verzoeken aan de server.
Met deze informatie over de header kunt u met succes communiceren met de FMC met behulp van REST API's.
Veelvoorkomende problemen oplossen
- Het verzoek- en antwoordorgaan van de POST die voor de authenticatie is verzonden, is leeg. U moet de basisverificatieparameters doorgeven in de koptekst van het verzoek. Alle token-informatie wordt via de antwoordkoppen geretourneerd.
- Wanneer u de REST-client gebruikt, ziet u mogelijk fouten met betrekking tot het SSL-certificaatprobleem als gevolg van een zelf ondertekend certificaat. U kunt deze validatie uitschakelen, afhankelijk van de client die u gebruikt.
- Gebruikersreferenties kunnen niet tegelijkertijd voor zowel REST API- als GUI-interfaces worden gebruikt en de gebruiker wordt zonder waarschuwing uitgelogd als deze voor beide wordt gebruikt.
- De FMC REST API-verificatietokens zijn 30 minuten geldig en kunnen tot drie keer worden vernieuwd.