Autenticare un'API utilizzando la chiave API

Prima di iniziare

  • Assicurarsi di avere il privilegio funzionale Manage APIs o Activate / Deactivate APIs. Se siete un amministratore, dovete avere questo privilegio.
  • Postman è installato nel sistema, oppure è possibile utilizzare la versione web di Postman

Informazioni su questa attività

L'esposizione delle API mostra la logica dell'applicazione e i dati sensibili e può rappresentare un rischio per la sicurezza dell'organizzazione. Senza autenticazione, le API sono vulnerabili all'accesso non autorizzato, all'uso improprio e all'abuso. Gli utenti o le applicazioni non autenticate possono potenzialmente accedere a dati o risorse sensibili, eseguire azioni non autorizzate o sovraccaricare l'API con richieste eccessive. Per questo motivo la sicurezza delle API diventa un aspetto importante. Uno dei modi per proteggere le API è quello di implementare meccanismi di autenticazione che controllino la loro esposizione attraverso credenziali utente e codici di accesso crittografati. Il meccanismo di autenticazione funziona come un gatekeeper che concede l'accesso solo agli utenti autentici.

È possibile utilizzare diversi metodi di autenticazione API, come l'autenticazione di base HTTP, l'autenticazione con chiave API, l'autenticazione OAuth 2.0 e l'autenticazione JWT. La scelta del metodo di autenticazione appropriato per una particolare API dipende dal livello di sicurezza necessario per convalidare i client e dalla facilità di implementazione.

Ad esempio, l'autenticazione di base HTTP funziona bene per limitare l'accesso pubblico a dati e risorse a basso rischio, ma richiede comunque un livello minimo di controlli di sicurezza. L'autenticazione con chiave API funziona bene in scenari in cui i fornitori di API vogliono identificare i singoli clienti e regolare le loro autorizzazioni come n. Le chiavi API sono adatte per semplici richieste API che non richiedono un elevato livello di sicurezza, mentre i metodi di autenticazione OAuth 2.0 o JWT offrono un maggiore livello di sicurezza sotto forma di revoca del token e di token di aggiornamento.

webMethods API Gateway fornisce vari metodi di autenticazione come Basic Auth, API key, OAuth 2.0, OAuth with OpenID, e JWT. L'esempio seguente illustra uno scenario su come accedere in modo sicuro alle API utilizzando l'autenticazione basata sulla chiave API. Il metodo di autenticazione con chiave API utilizza stringhe generate dal sistema che consistono in una lunga serie di lettere o numeri per creare coppie uniche di credenziali di identificazione e token di accesso all'API. Questo codice numerico chiama programmi da un'altra applicazione; la chiave riconosce quindi il codice, il suo sviluppatore, l'utente e l'applicazione da cui è stata effettuata la chiamata API. Quando il cliente autentica la chiave API, il server riconosce la sua identità e gli permette di accedere ai dati con facilità.

La figura illustra il meccanismo di autenticazione basato sulla chiave API.

autenticare_api

L'esempio seguente illustra i passaggi per proteggere un'API REST, Petstore, con una chiave API e come utilizzare questa chiave API per accedere all'API.

Procedura

  1. Creare un'API REST Petstore.
    1. Aprire il menu delle opzioni e selezionare API.
    2. Fare clic su Crea API.
    3. Selezionare Importa API da URL.
    4. Fornisci le seguenti informazioni:
      • URL- https://petstore.swagger.io/v2/swagger.json
      • Nome - Petstore
      • Versione.. 1.0
      • Amministratore del team
    5. Fare clic su Crea. L'API Petstore viene creata e viene visualizzata la pagina dei dettagli dell' API Petstore.
    6. Fare clic su Attiva per attivare l'API.
  2. Applicare l'API con il criterio Identificazione e accesso per configurare il tipo di identificazione come Chiave API.
    1. Fare clic su Modifica.
    2. Fare clic sulla scheda Criteri.
    3. Fare clic su Identificazione e accesso nella sezione del catalogo dei criteri.
    4. Fare clic su + per il criterio Identifica e autorizza per aggiungere il criterio.
    5. Fornite le seguenti informazioni nella sezione delle proprietà del criterio.
      • Tipo di condizione - OR
      • Tipo di identificazione - Chiave API
      • Condizione di ricerca delle applicazioni - Applicazioni registrate
    6. Fare clic su Salva. L'API viene ora applicata con i criteri necessari.
  3. Creare un'applicazione petstore e associare l'API Petstore all'applicazione.
    L'aggiunta dell'API all'applicazione consente a quest'ultima di accedere all'API. Come sviluppatore di API, quando si chiama l'API in fase di esecuzione, è necessario fornire la chiave API per webMethods API Gateway per identificare l'applicazione.
    1. Fare clic su Applicazioni nella barra di navigazione del titolo.
    2. Fare clic su Crea applicazione.
    3. Fornire le seguenti informazioni per Nome app aspetstore e Versione come 1.0.
    4. Fare clic su Continua a Identificatori.
    5. Fare clic su Continua su API.
    6. Digitare la parola chiave animale domestico nella casella di ricerca per trovare l'API petstore e fare clic su + per aggiungere l'API.
    7. Fare clic su Salva. La domanda viene salvata e viene visualizzata la pagina dei dettagli della domanda.
  4. Prendere nota della chiave API da utilizzare per accedere all'API.
  5. Autenticatevi e accedete all' API di petstore utilizzando la chiave API. Utilizzare l'applicazione Postman per chiamare e accedere all'API.
    1. Postino aperto.
    2. Nell'interfaccia utente di Postman, selezionare il metodo HTTP come GET per recuperare i dettagli degli animali domestici in base allo stato.
    3. Chiamare l'endpoint, http://<host>:<port>/gateway/Petstore/1.0/pet/findByStatus
    4. Nella scheda Autorizzazione, selezionare il tipo di chiave API e fornire le seguenti informazioni.
      • Chiave- x-Gateway-APIKey
      • Valore: la chiave API
      • Aggiungi all' intestazione
    5. Fare clic su Invia. L'API REST viene chiamata con successo e restituisce un codice di stato pari a 200. La risposta contiene i dati di ricerca richiesti.
      Se la chiave API non è valida, quando si accede all'API viene visualizzato un errore con il seguente codice di stato 401.

Cosa fare successivamente

Dopo aver effettuato l'accesso sicuro all'API, si può iniziare a utilizzare l'API.