Inleiding
In dit document wordt beschreven hoe een API-beheerder (Application programmeur Interface) kan authenticeren aan Firepower Management Center (FMC), penningen genereren en gebruiken voor elke verdere API-interactie.
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 klanten zoals Postman, Python scripts, CURL, etc.
Achtergrondinformatie
REST API's zijn steeds populairder vanwege de lichtgewicht programmeerbare benadering 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 System>Configuration>REST API-voorkeuren>REST API inschakelen.
Stap 2. Controleer het selectieteken REST API inschakelen.
Stap 3. Klik op Opslaan, een dialoogvenster Opslaan en geslaagd wordt weergegeven wanneer de REST API is ingeschakeld, zoals in de afbeelding:
Een gebruiker op FMC maken
Als beste praktijk om de API infrastructuur op FMC te gebruiken is gebruikers UI en script gebruikers gescheiden te houden. Raadpleeg de gebruikersrekeningen voor de FMC-gids voor het begrip van verschillende gebruikersrollen en de richtlijnen voor het maken van een nieuwe gebruiker.
Stappen om een verificatietoken aan te vragen
Stap 1 . Open uw REST API-client.
Stap 2 . Stel de client in om een POST-opdracht te maken, URL: <management_center_IP_or_name>/api/fmc_platform/v1/auth/generatetoken.
Stap 3. Voeg de gebruikersnaam en het wachtwoord toe als een basisauthenticatieheader. Het POST lichaam moet leeg zijn.
Bijvoorbeeld een verificatieaanvraag waarbij Python wordt gebruikt:
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 verificatieaanvraag 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 cliënt zoals Postman, zoals getoond in de afbeelding:
Volgende API-aanvragen verzenden
Opmerking: Wat je ziet in de output zijn de responskoppen en niet het responslichaam. Het responsorgaan is leeg. De belangrijke header-informatie die moet worden geëxtraheerd is X-auth-access-token, X-auth-verfrissing-token en DOMAIN_UID.
Zodra u voor FMC succesvol heeft geauthenticeerd en de tokens hebt geëxtraheerd, moet u voor verdere API-verzoeken om onderstaande informatie gebruiken:
- Voeg de kop X-auth-access-token toe <verificatie-token waarde>als deel van het verzoek.
- Voeg de kopregels X-auth-access-token toe <verificatie-token> en X-auth-verfrissing-token <verfrissing-token>in verzoeken om het token op te frissen.
- Gebruik Domain_UID van het authenticatiemenk in alle REST-verzoeken aan de server.
Met deze header informatie kunt u met succes met FMC communiceren met REST API's.
Problemen oplossen
- De aanvraag- en antwoordinstantie van de POST die voor de authenticatie wordt verzonden, is leeg. U moet de basisauthenticatieparameters doorgeven in de header van het verzoek. Alle token informatie wordt via de responskop teruggegeven.
- Wanneer u de REST-client gebruikt, kunt u fouten zien die te maken hebben met het SSL-certificeringsprobleem door een zelfondertekend certificaat. U kunt deze validatie uitzetten afhankelijk van de client die u gebruikt.
- De gebruikersreferenties kunnen niet tegelijkertijd worden gebruikt voor REST API en GUI-interfaces, en de gebruiker zal zonder waarschuwing worden aangemeld als deze voor beide interfaces wordt gebruikt.
- De FMC REST API-verificatiepenningen zijn geldig voor 30 minuten en kunnen tot drie keer worden bijgewerkt.