Introduzione
Questo documento descrive l'introduzione alla configurazione dell'API REST per Cisco Secure Firewall che utilizza l'API Explorer di Firewall Management Center.
Ulteriori informazioni
L'API REST è un'interfaccia di programmazione delle applicazioni in grado di comunicare in base ai principi RESTful. Le API REST comunicano tramite richieste HTTP ed eseguono operazioni di creazione, lettura, aggiornamento ed eliminazione (CRUD) all'interno di una risorsa. La configurazione tramite l'API REST offre numerose possibilità per automatizzare e semplificare la configurazione dei dispositivi Secure Firewall.
I principali vantaggi dell'uso dell'API REST sono:
- Scalabilità: poiché le operazioni possono essere estese a diverse risorse.
- Flessibilità: facile da implementare in diversi ambienti di sviluppo software; come la maggior parte delle API, utilizza XML, JSON e HTTP.
- Automazione: è possibile semplificare i processi di configurazione per più dispositivi alla volta apportando modifiche di massa alla configurazione, riducendo le attività di configurazione ripetitive che richiedono molto tempo.
L'API REST si basa sulla stessa autenticazione di FMC/FDM e utilizza OAUTH2.0. Ogni funzione nell'API REST è mappata alle stesse autorizzazioni in FMC e FDM.
Configurazione
Presentazione di API Explorer
L'API REST è attivata per impostazione predefinita in FMC. Per confermare l'abilitazione, passare a System > Configuration > REST API Preferences
.
Abilita API Rest
FMC e FDM dispongono di un'interfaccia incorporata denominata API Explorer, che è uno strumento utile per esaminare le funzionalità e le funzioni dell'API REST. Per FMC, è possibile accedere a API Explorer con questo URL; https://
/api/api-explorer
.
Accedere utilizzando le credenziali dell'interfaccia utente di FMC:
Accedere utilizzando le credenziali dell'interfaccia utente di FMC
Dopo aver effettuato l'accesso a API Explorer, viene visualizzata la home page. Qui è possibile trovare la barra multifunzione superiore, i domini e le sezioni di configurazione. Nell'angolo in alto a destra sono disponibili informazioni sulla versione e risorse utili:
Nastro superiore
Individuare quindi tutte le sezioni di configurazione, a partire da Domini. Scegliendo questo elenco a discesa vengono visualizzati tutti i domini FMC esistenti.
Domini
Di seguito sono illustrate le sezioni e le funzionalità di configurazione, incluse le funzionalità supportate da FMC:
Sezioni di configurazione
Infine, nella parte inferiore della pagina, è disponibile la sezione Schemi. Di seguito è possibile esaminare alcune delle configurazioni in JSON per ottenere ulteriori funzionalità supportate che è possibile utilizzare come riferimento per generare le richieste HTTP per queste funzionalità:
Schemi
Uso di API Explorer
Tornando alle sezioni di configurazione, passare a Dispositivi:
Configurazione dispositivi
L'API REST per FMC supporta i metodi HTTP successivi. Si noti che ciascuna di esse esegue un'operazione CRUD:
L'URI (Unified Resource Identifier) accompagna ciascuno di questi metodi con il percorso corrispondente a ciascun oggetto:
/api/fmc_config/v1/domain/{domainUUID}/devices/devicerecords
Scegliendo uno di questi metodi, è possibile espandere e visualizzare i parametri inclusi nella richiesta GET HTTP:
- Filtro
- Scostamento
- Limite
- Espansa
- UUID (Domain Universally Unique Identifier)
GET devices/device records
Nota: l'UUID del dominio è fondamentale per la generazione delle richieste HTTP, in quanto a ogni oggetto è assegnato un identificatore univoco necessario per eseguire le operazioni.
UUID dominio record dispositivo
Copiare l'UUID del dominio:
e276abec-e0f2-11e3-8169-6d9ed49b625f
È quindi possibile visualizzare la sezione Risposte, in cui è possibile trovare l'URL Curl e Request insieme alla risposta predefinita del server a questo metodo e ad alcuni esempi di risposta del server.
Sezione Risposte.
Test FMC API Explorer GET, metodo
È ora possibile testare le funzionalità di API Explorer facendo clic su Try it out
:
Seleziona Prova
Per questa particolare richiesta HTTP GET (di dispositivi, record di dispositivi), non è necessario includere altri UUID o parametri aggiuntivi ed è possibile scegliere Esegui:
Selezionare Execute
FMC restituisce un valore Server Response 200 se la richiesta HTTP GET ha esito positivo e il corpo della risposta contiene le informazioni sul dispositivo per tutti i dispositivi registrati nel FMC.
200 GET Response Output.
Da questo output, si noti che esiste un FTD gestito da questo FMC, denominato FTDv-703.
OTTIENI UUID dominio record dispositivo
È possibile annotare il valore ID così come viene utilizzato per accedere alle richieste API destinate a questo FTD in particolare. Copiare l'ID:
"name": "FTDv-703"
"id": "6bad6bbc-0b05-11ee-9a47-84ecf73b3ccf"
Come ultimo esempio, è possibile recuperare tutte le configurazioni di interfaccia di un particolare dispositivo gestito (FTDv-703) utilizzando l'UUID di un dispositivo (ottenuto dalla risposta precedente) in questo metodo:
"id": "6bad6bbc-0b05-11ee-9a47-84ecf73b3ccf"
Passa a GET
- Devices > Device records > physicalinterfaces
.
/api/fmc_config/v1/domain/{domainUUID}/devices/devicerecords/{containerUUID}/physicalinterfaces
FMC risponde (con l'output Risposta server) e si può notare che questo dispositivo (FTD) dispone di due interfacce dati e di un'interfaccia diagnostica configurata con l'UUID e le configurazioni corrispondenti.
Risposta di GET Device Records Physical Interfaces.
From Response body:
"type": "PhysicalInterface",
"id": "005056B3-9582-0ed3-0000-004294967553",
"name": "GigabitEthernet0/0"
"type": "PhysicalInterface",
"id": "005056B3-9582-0ed3-0000-004294967554",
"name": "GigabitEthernet0/1"
"type": "PhysicalInterface",
"id": "005056B3-9582-0ed3-0000-004294967555",
"name": "Diagnostic0/0"
La struttura ad albero precedente e la logica di accesso ai metodi HTTP sono applicabili a tutti gli oggetti. Passando dall'UUID generale a quello specifico, è possibile leggere, modificare o aggiungere modifiche alla configurazione del FMC e di specifici dispositivi gestiti.
Struttura URI.
L'API explorer di FMC può essere utile come guida o riferimento per visualizzare le funzionalità e i metodi di configurazione supportati, in modo da poter progettare e personalizzare il codice per le distribuzioni di configurazione.
È inoltre possibile interagire con l'API di FMC utilizzando più piattaforme API come Postman o da un host locale tramite script Python o Perl.
Nota: è possibile visitare il repository Secure-Firewall di Github per visualizzare una grande quantità di modelli e risorse di automazione.