Un endpoint API è la fine di una connessione API, in cui viene ricevuta una chiamata API.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Cos'è la sicurezza delle API?
Cos'è una chiamata API?
Top 10 di sicurezza API OWASP
Cos'è un'API?
Sicurezza delle applicazioni Web
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
Una interfaccia di programmazione applicazioni (API) è un modo per un'applicazione di richiedere un servizio da un'altra applicazione. Le API consentono agli sviluppatori di evitare di ricostruire le funzionalità dell'applicazione già esistenti. Un endpoint API è il luogo in cui tali richieste (note come chiamate API) vengono soddisfatte.
Se Alice e Bob si parlano al telefono, le parole di Alice viaggiano verso Bob e viceversa. Alice dirige le sue parole all'endpoint della conversazione: Bob.
Alice: "Ciao Bob" ----------> Bob
Allo stesso modo, un'integrazione API è come una conversazione. Ma invece di dire "Ciao", un client API dice al server API qualcosa come "Ho bisogno di alcuni dati" effettuando una chiamata API. L'endpoint del server API dice quindi "Ecco i dati", una risposta API. E gli endpoint API non sono entità fisiche come Alice e Bob; esistono nel software, non nell'hardware.
Le API sono ospitate su uno o più server, computer specializzati che archiviano dati ed eseguono programmi software. Ciascun server "serve" dati, contenuti e funzionalità software ad altri dispositivi su Internet. L'endpoint API è quasi sempre ospitato su un server.
L'altra estremità della connessione API è il client API, l'entità che richiede servizi dall'API. Alcuni lo chiamano "utente" API, anche se la maggior parte delle chiamate API sono automatizzate.
Per poter essere utilizzata, un'API deve disporre di documentazione. La documentazione indica, tra le altre cose, quali tipi di richieste accetterà l'API, cosa può fare l'API, come formatta le sue risposte e quali sono i suoi endpoint. Gli sviluppatori possono esaminare la documentazione di un'API e incorporare queste informazioni durante la creazione delle loro applicazioni.
Ad esempio, consulta la documentazione dell'API di Cloudflare che include quali sono gli endpoint all'indirizzo: https://api.cloudflare.com/
Gli URL (Uniform Resource Locator) vengono utilizzati per molteplici scopi sul Web, inclusa l'individuazione di pagine Web. Ad esempio, l'URL per la versione in inglese americano di questa pagina Web è https://www.cloudflare.com/learning/security/api/what-is-api-endpoint/. Quando un utente inserisce quell'URL nel proprio browser, il browser sa dove trovare questa pagina Web e può caricarla.
Gli URL indicano anche gli endpoint API. Quando Alice e Bob parlano al telefono, Alice chiama Bob al numero di telefono di Bob. Allo stesso modo, un URL dell'endpoint API è come un numero di telefono per effettuare chiamate API.
Un server API può ospitare uno o più endpoint API, il che significa che accetterà ed elaborerà le chiamate dirette agli URL di tali endpoint. I client API devono anche avere un URL in modo che il server API sappia dove inviare le sue risposte, proprio come Bob e Alice hanno entrambi bisogno di un numero di telefono per far funzionare le telefonate tra di loro. Gli sviluppatori impostano questo URL durante la creazione delle loro applicazioni.
Un URL include sempre il protocollo di livello applicazione, come HTTP, utilizzato per raggiungerlo. La maggior parte delle API Web utilizza HTTP, quindi è incluso nell'URL dell'endpoint API.
Un'API progettata correttamente non accetta chiamate API da chiunque. Ciò lascerebbe il server API aperto alla ricezione di dati dannosi dagli autori di attacchi. Inoltre, l'utilizzo dell'API spesso costa denaro, quindi in questi casi il server API deve verificare se la chiamata API proviene da un cliente pagante.
Per questi motivi, il server API deve assicurarsi che il client API da cui proviene la chiamata sia noto e attendibile. Ciò è possibile tramite un processo detto autenticazione.
L'autenticazione consente di verificare l'identità. Proprio come ci sono diversi modi in cui un utente umano può autenticarsi su un sistema, ci sono quattro modi principali in cui gli endpoint API possono imporre l'autenticazione:
Il TLS reciproco è il metodo di autenticazione più efficace nella maggior parte dei casi. Per prima cosa, autentica sia l'endpoint che il client, non solo il client, quindi entrambe le parti possono essere sicure di ricevere dati da una fonte legittima. Utilizza anche chiavi private, che non sono mai condivise tra gli endpoint e quindi non possono essere intercettate in transito. D'altra parte, chiavi API, password e token possono essere tutti duplicati o rubati.
Cloudflare API Shield utilizza il TLS reciproco per autenticare endpoint e client API, aiutando a proteggere entrambe le parti da un attacco. API Shield fornisce anche altre funzioni di sicurezza API, tra cui la limitazione della frequenza e la prevenzione contro la perdita dei dati (DLP) — Scopri di più su API Shield.