Inleiding
Dit document beschrijft de navigatie via Application Programming Interface (API) verkenner van Cisco FMC en Cisco FDM.
Voorwaarden
Basiskennis van REST API.
Vereisten
Voor deze demonstratie is toegang tot de GUI van het Firepower Management Center (FMC) vereist met ten minste één apparaat dat door dit Firepower Management Center (FMC) wordt beheerd. Voor het FDM-deel van deze demonstratie is het nodig dat een Firepower Threat Defence (FTD) lokaal wordt beheerd om toegang te hebben tot de FDM GUI.
Gebruikte componenten
- VCCv
- FTDv
- FTDv lokaal beheerd
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Beoordeel Navigatie via FMC API Explorer
Ga naar de volgende URL om toegang te krijgen tot de FMC API verkenner:
https://<FMC_management_IP>/api/api-explorer
U moet inloggen met dezelfde referenties als voor de FMC GUI. Deze referenties worden ingevoerd in een venster dat vergelijkbaar is met het volgende wanneer u de API verkenner-URL's invoert.
Na inloggen wordt gezien dat de API-vragen worden verdeeld door categorieën die overeenkomen met de mogelijke oproepen die u kunt maken met API's.
Opmerking: niet alle configuratiefuncties die beschikbaar zijn via de GUI of CLI, zijn beschikbaar via de API's.
Wanneer u op een categorie klikt, wordt het aantal beschikbare oproepen voor deze categorie uitgebreid. Deze oproepen worden getoond samen met hun respectievelijke REST-methoden en de Universal Resource Identifier (URI) van die oproep.
In het volgende voorbeeld vraagt u om het toegangsbeleid te zien dat in het VCC is geconfigureerd. U klikt op de corresponderende methode om deze uit te vouwen en vervolgens klikt u op de knop Probeer het uit.
Iets om te benadrukken is dat u uw vragen met de beschikbare parameters in elke API vraag kunt parametriseren. Alleen degenen met een rode asterisk zijn verplicht, de anderen kunnen leeg worden gelaten.
De domainUUID is bijvoorbeeld verplicht voor alle API-oproepen, maar op de API Explorer vult dit automatisch.
De volgende stap is Execute te klikken om deze oproep te doen.
Alvorens op Execute te klikken, kunt u voorbeelden zien van reacties op de oproepen om een idee te krijgen van de mogelijke reacties die u kunt krijgen, afhankelijk van of het verzoek juist is of niet.
Zodra de API-oproep is uitgevoerd, krijgt u, samen met de antwoordpayload, de antwoordcode. In dit geval 200, wat overeenkomt met een OK-verzoek. Je krijgt ook de cURL en de URL van de oproep die je zojuist hebt gedaan. Deze informatie is handig als u wilt bellen met een externe client/software.
Het verkregen antwoord geeft de ACS'en die in het VCC zijn ingesteld samen met hun objectID terug. In dit geval ziet u deze informatie in het rode vak in het volgende beeld:
Dit objectID is de waarde die u invoert in oproepen die verwijzing naar deze ACS vereisen. Bijvoorbeeld het opstellen van een regeling binnen deze ACS-landen.
URIs die waarden tussen krullende haakjes {} bevatten zijn waarden die worden vereist om deze vraag te maken. Onthoud dat domainUUID de enige waarde is die automatisch wordt ingevuld.
De voor deze oproepen vereiste waarden worden gespecificeerd in de beschrijving van de uitnodiging. Om regels voor een ACS te creëren, hebt u de policyID nodig, zoals u in de volgende afbeelding kunt zien:
Dit policyID wordt ingevoerd in het veld dat is opgegeven als containerUID, een ander vereist veld voor POST methoden is de payload of request body. U kunt de gegeven voorbeelden gebruiken om aan uw behoeften aan te passen.
Voorbeeld van gewijzigde nuttige last:
{ "action": "ALLOW", "enabled": true, "type": "AccessRule", "name": "Testing API rule", "sendEventsToFMC": false, "logFiles": false, "logBegin": false, "logEnd": false, "sourceZones": { "objects": [ { "name": "Inside_Zone", "id": "8c1c58ec-8d40-11ed-b39b-f2bc2b448f0d", "type": "SecurityZone" } ] }, "destinationZones": { "objects": [ { "name": "Outside_Zone", "id": "c5e0a920-8d40-11ed-994a-900c72fc7112", "type": "SecurityZone" } ] }, "newComments": [ "comment1", "comment2" ] }
Opmerking: de beschikbare zones, samen met hun ID’s, kunnen worden verkregen met behulp van de volgende query.
Zodra u de vorige oproep uitvoert, krijgt u een 201-responscode, die aangeeft dat het verzoek is geslaagd en heeft geleid tot het aanmaken van de bron.
Tot slot moet u ervoor zorgen dat deze wijzigingen van kracht worden in het FTD waarvan de ACS is gewijzigd.
Hiervoor moet u de lijst van apparaten verkrijgen die wijzigingen hebben klaar om te worden geïmplementeerd.
Het voorbeeld bevat een paar apparaten die in hoge beschikbaarheid zijn geconfigureerd. U moet de ID van deze HA verkrijgen, in het geval van een standalone apparaat, moet u de ID van dat apparaat verkrijgen.
De query die nodig is om de apparaat-ID van de HA te verkrijgen is als volgt:
Met het apparaat-ID en het implementatieversienummer kunt u de payload van het volgende gespreksvoorbeeld wijzigen om te bellen om deze implementatie uit te voeren.
Zodra deze oproep is uitgevoerd, krijgt u een antwoord met code 202 als alles klopt.
Beoordeel Navigatie via FDM API Explorer
Om toegang te krijgen tot de FDM API Explorer, is het mogelijk om een knop op de FDM GUI te gebruiken om er rechtstreeks naar te gaan, zoals wordt getoond in de volgende afbeelding:
Eenmaal in de API Explorer, merkt u dat de vragen ook zijn verdeeld in categorieën.
Om een categorie uit te vouwen, moet u erop klikken, en dan kunt u elk van de bewerkingen uitbreiden door op een van hen te klikken. Het eerste wat in elke operatie wordt gevonden is een voorbeeld van een OK-reactie voor deze oproep.
Het volgende dat u ziet zijn de parameters beschikbaar om de antwoorden van de vraag te beperken die u maakt. Vergeet niet dat alleen de velden gemarkeerd als verplicht zijn om zo'n oproep te doen.
Tot slot vindt u de mogelijke responscodes die deze oproep kan teruggeven.
Als u dit gesprek wilt voeren, moet u op Try It Out klikken. Om deze knop te vinden, moet je naar beneden scrollen tot je deze knop vindt, omdat hij onderaan elke oproep staat.
Wanneer u op de knop Try It Out klikt, als het een oproep is waarvoor niet meer velden nodig zijn, wordt deze direct uitgevoerd en geeft u de reactie.
Problemen oplossen
Elke oproep genereert een HTTP-responscode en een antwoordorgaan. Dit helpt u te identificeren waar de fout is.
De volgende is een veel voorkomende fout die optreedt wanneer de sessie is verlopen, wat aangeeft dat de token ongeldig is omdat deze is verlopen.
De volgende zijn voorbeelden van HTTP-responscodes die oproepen kunnen teruggeven:
- 2xx: succes. Er zijn verschillende statuscodes: 200 (GET en PUT), 201 (POST), 202, 204 (VERWIJDEREN). Zij wijzen op een succesvolle API-oproep.
- 30x-serie: omleiding. Kan worden gebruikt wanneer een client oorspronkelijk HTTP gebruikte en werd omgeleid naar HTTPS.
- 4xx-serie: client-side fout in de API-oproep die van de client naar de server is verzonden. Twee voorbeelden omvatten een 401 statuscode, die aangeeft dat de sessie niet geauthenticeerd is, en een 403-code, die een verboden poging tot toegang aangeeft.
- 5xx-serie: server-, apparaat- of serviceszijdefecten. Dit kan het gevolg zijn van het uitschakelen van de API-service voor apparaten of van ontoegankelijkheid via het IP-netwerk