Introduzione ai prodotti basati su API

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Le seguenti sezioni introducono i prodotti API e i concetti correlati, come quote e chiavi API.

Che cos'è un prodotto API?

In qualità di provider di API, crei prodotti API per raggruppare le API e renderle disponibili per l'uso da parte degli sviluppatori di app. Puoi pensare ai prodotti basati su API come a una linea di prodotti.

Nello specifico, un prodotto API raggruppa una o più operazioni. Un'operazione specifica un proxy API e i percorsi delle risorse a cui è possibile accedere su quel proxy. Un'operazione può anche limitare l'accesso tramite metodi HTTP e per quota.

I prodotti API sono il meccanismo centrale per controllo dell'accesso alle API. Se definisci uno o più prodotti API in un'app per sviluppatori, puoi limitare l'accesso ai proxy con una chiave API. In Apigee, viene eseguito il provisioning delle chiavi API, non per le API stesse, ma per i prodotti API. In altre parole, viene eseguito il provisioning delle chiavi API per i bundle di operazioni che definiscono una linea di prodotti o un piano di servizio specifico.

Casi d'uso comuni

Puoi creare più prodotti API contenenti operazioni per gestire casi d'uso specifici. Ad esempio, puoi creare un prodotto API che raggruppa una serie di operazioni che contengono risorse di mappatura per consentire agli sviluppatori di integrare facilmente le mappe nelle loro applicazioni.

Inoltre, è possibile utilizzare i prodotti API per definire criteri basati sui livelli di prezzo, ad esempio:

Il numero di richieste:

  • Premium: richieste illimitate al giorno
  • Base: fino a 1000 richieste al giorno
  • Gratuita: fino a 100 richieste al giorno

O livello di accesso:

  • Premium: lettura, scrittura, aggiornamento ed eliminazione
  • Base: lettura e aggiornamento
  • Gratuito: sola lettura

O qualsiasi combinazione delle opzioni precedenti:

  • Premium extra: leggi e scrivi un numero illimitato di volte al giorno
  • Premium: lettura e scrittura fino a 1000 richieste al giorno
  • Base: accesso in lettura e scrittura fino a 100 volte al giorno
  • Gratuita: leggi fino a 1000 volte al giorno
  • Gratuito: accesso di sola lettura limitato a 100 richieste al giorno

Requisiti

I prodotti basati su API che fanno parte di un pagamento a consumo devono includere:

Suite operativa

Un'operazione è un gruppo di attributi che limitano l'accesso a uno o più proxy API in base a criteri come percorso risorsa, metodo HTTP e quota. Un'operazione include i seguenti attributi:

Attributo Obbligatorio? Descrizione
proxy API Obbligatorio Ogni gruppo di operazioni deve specificare un proxy API. È consentito un solo proxy per gruppo di operazioni.
Servizio remoto Dipende Obbligatorio solo se installi e prevedi di utilizzare Apigee Adapter for Envoy.
Percorso della risorsa Obbligatorio Ogni gruppo di operazioni deve specificare uno o più percorsi delle risorse. I percorsi delle risorse in un'operazione limitano l'accesso a risorse specifiche su un proxy API. Un percorso risorsa è la parte dell'URL di una richiesta proxy API che segue il percorso base del proxy.
Metodo HTTP Facoltativo Puoi anche limitare l'accesso a un proxy con il metodo HTTP. Ad esempio, se specifichi i metodi GET e POST per un gruppo di operazioni, solo le richieste HTTP GET e POST potranno accedere al proxy per il percorso della risorsa specificato. Se non viene specificato alcun metodo, sono consentiti tutti i metodi.
Quota Facoltativo Puoi specificare una quota per il gruppo di operazioni. La quota specificata in un gruppo di operazioni ha la precedenza su una quota a livello di prodotto API, se specificata.
Attributi personalizzati Facoltativo Gli attributi personalizzati sono utili per le metriche, il monitoraggio o i casi in cui vuoi archiviare informazioni aggiuntive con un prodotto API a cui è possibile accedere o recuperare in un secondo momento. Gli attributi personalizzati associati a un'operazione esistono in aggiunta agli attributi personalizzati a livello di prodotto dell'API e sono accessibili nel runtime come variabili di flusso con il prefisso apiproduct.operation.attributes.

Chiavi API

Quando registri un'app di uno sviluppatore nella tua organizzazione, l'app deve essere associata ad almeno un prodotto API. In seguito all'associazione di un'app con uno o più prodotti API, Apigee assegna all'app una chiave utente univoca. Vedi anche Controllare l'accesso alle API registrando le app.

La chiave utente o il token di accesso fungono da credenziali di richiesta. Lo sviluppatore di app incorpora la chiave utente nell'app in modo che, quando l'app invia una richiesta a un'API ospitata da Apigee, l'app passi la chiave utente nella richiesta in uno dei seguenti modi:

  • Quando l'API utilizza la verifica della chiave API, l'app deve trasmettere direttamente la chiave utente.
  • Quando l'API utilizza la verifica del token OAuth, l'app deve passare un token che è stato derivato dalla chiave utente.

L'applicazione forzata delle chiavi API non avviene automaticamente. Sia che utilizzi la chiave utente o i token OAuth come credenziali di richiesta, il proxy API convalida le credenziali della richiesta nei proxy API includendo un criterio VerificationAPIKey o una configurazione del criterio VerifyAccessToken (vedi il criterio OAuthv2) nel flusso appropriato. Se non includi un criterio di applicazione delle credenziali nel proxy API, qualsiasi chiamante può richiamare le tue API.

Per verificare le credenziali passate nella richiesta, Apigee esegue i seguenti passaggi:

  1. Recupera le credenziali trasmesse con la richiesta. Nel caso della verifica del token OAuth, Apigee verifica che il token non sia scaduto, quindi cerca la chiave consumer utilizzata per generare il token.
  2. Recupera l'elenco dei prodotti API a cui è stata associata la chiave utente.
  3. Verifica che l'attuale proxy API sia incluso nel prodotto API, se il percorso della risorsa corrente (percorso URL) è abilitato nel prodotto API e, se incluso nel prodotto, che la richiesta utilizzi un verbo HTTP specificato.
  4. Verifica che la quota, se specificata, non sia stata superata.
  5. Verifica che la chiave utente non sia scaduta o revocata, controlla che l'app non sia revocata e che lo sviluppatore dell'app sia attivo.

Se tutti i controlli precedenti vengono superati, la verifica delle credenziali ha esito positivo.

In conclusione, Apigee genera automaticamente chiavi consumer, ma i publisher di API devono applicare il controllo delle chiavi nei proxy API utilizzando criteri appropriati.

Approvazione della chiave

Per impostazione predefinita, tutte le richieste per ottenere una chiave per accedere a un prodotto API da un'app vengono approvate automaticamente. In alternativa, puoi configurare il prodotto API in modo da dover approvare manualmente le chiavi. L'impostazione è descritta in Gestire i prodotti basati su API. In questo caso, dovrai approvare le richieste chiave da qualsiasi app che aggiunge il prodotto API. Per maggiori informazioni, consulta Controllare l'accesso alle API registrando le app.

Quote

Le quote possono proteggere i server di backend da alte variazioni del traffico e differenziare la linea di prodotti. Ad esempio, puoi raggruppare risorse con una quota elevata come prodotto premium e utilizzare lo stesso bundle con una quota inferiore come prodotto di base. Le quote possono aiutarti a proteggere i server dal sovraccarico del prodotto se un prodotto è popolare e riceve una grande quantità di richieste in un breve periodo di tempo.

Puoi specificare una quota che si applica a tutti i proxy API inclusi con il prodotto API oppure specificare le quote a livello di operazione. Una quota specificata in un'operazione ha la precedenza su una quota impostata a livello di prodotto API.

L'impostazione di limiti di quota su un prodotto API non applica automaticamente la quota. È semplicemente un limite predefinito a cui è possibile fare riferimento nei criteri per le quote. Ecco alcuni vantaggi dell'impostazione di una quota sul prodotto di riferimento per i criteri delle quote:

  • Utilizza un criterio per le quote per applicare un'impostazione uniforme a tutti i proxy API in un prodotto API.
  • Se modifichi le impostazioni delle quote del prodotto API in fase di runtime, i criteri per le quote fanno automaticamente riferimento alle impostazioni della quota aggiornate.

Per ulteriori informazioni, consulta le seguenti risorse:

Ambiti OAuth

Puoi definire gli ambiti OAuth come elenchi separati da virgole che devono essere presenti nei token di accesso associati al prodotto. Per saperne di più sull'utilizzo degli ambiti con i criteri OAuth di Apigee, consulta Utilizzo degli ambiti OAuth2.

Livelli di accesso

Quando definisci un prodotto API, puoi impostare i seguenti livelli di accesso:

Livello di accesso Descrizione
Public Prodotti basati su API disponibili per tutti gli sviluppatori. Puoi aggiungerli a portali per sviluppatori integrati o basati su Drupal.
Private o Internal only Prodotti basati su API progettati per uso privato o interno.

Per il portale integrato, puoi aggiungere prodotti API Private o Internal only e renderli disponibili agli sviluppatori di app, se necessario.

Per i portali per gli sviluppatori basati su Drupal, puoi gestire l'accesso ai prodotti API Private o Internal only sul tuo portale per gli sviluppatori, come descritto nelle seguenti sezioni:

  • Per i portali per gli sviluppatori Drupal 10, puoi configurare l'accesso ai prodotti API Private o Internal only sul tuo portale per gli sviluppatori, come descritto nella sezione Configurare le autorizzazioni di accesso ai prodotti API.
  • Per i portali per gli sviluppatori Drupal 7, non puoi aggiungere prodotti API Private o Internal only al tuo portale per gli sviluppatori.

    Per rendere disponibili agli sviluppatori di app i prodotti API Private o Internal only, devi aggiungerli manualmente a un'app registrata dall'API o dalla UI Apigee, come descritto in Controllare l'accesso alle API mediante la registrazione delle app.

    Una volta aggiunto, lo sviluppatore vede il prodotto API associato all'app nel tuo portale, come descritto in Gestione dei prodotti API in un'app. Se lo sviluppatore di app disattiva l'accesso a un prodotto API Private o Internal only, il prodotto API viene rimosso dall'app e deve essere aggiunto di nuovo manualmente dall'amministratore del portale.