Introduzione ai prodotti API

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza Apigee Edge documentazione.

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

Che cos'è un prodotto API?

Come provider di API, crei prodotti API per raggruppare le tue API e renderle disponibili per l'utilizzo da parte degli sviluppatori di app. I prodotti API possono essere considerati alla stregua di linee di prodotti.

In particolare, 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 in base ai metodi HTTP e alla quota.

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

Casi d'uso comuni

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

Inoltre, puoi utilizzare i prodotti API per definire i livelli di prezzo in base a criteri quali:

Il numero di richieste:

  • Premium: richieste illimitate al giorno
  • Di base: fino a 1000 richieste al giorno
  • Senza costi: fino a 100 richieste al giorno

O livello di accesso:

  • Premium: lettura, scrittura, aggiornamento ed eliminazione
  • Di base: lettura e aggiornamento
  • Senza costi: di sola lettura

O qualsiasi combinazione di quanto sopra:

  • Extra Premium: lettura e scrittura illimitate al giorno
  • Premium: lettura e scrittura fino a 1000 richieste al giorno
  • Di base: accesso in lettura e scrittura fino a 100 volte al giorno
  • Senza costi: lettura fino a 1000 volte al giorno
  • Senza costi: accesso in sola lettura limitato a 100 richieste al giorno

Requisiti

Pay-as-you-go

I prodotti API inclusi nella modalità di pagamento a consumo devono includere:

Operazioni

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

Attributo Obbligatorio? Descrizione
Proxy API Obbligatorio Ogni gruppo di operazioni deve specificare un proxy API. È consentito un solo proxy per gruppo di operazioni gruppo.
Telecomando 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 della risorsa è la parte di un URL della richiesta del proxy API che segue il percorso di base del proxy.)
Metodo HTTP Facoltativo Puoi anche limitare l'accesso a un proxy in base al metodo HTTP. Ad esempio, se specifichi i metodi GET e POST per un gruppo di operazioni, solo le richieste HTTP GET e POST possono 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 nei 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 a tutti gli attributi personalizzati a livello di prodotto API e sono accessibili nel runtime come variabili di flusso con il prefisso apiproduct.operation.attributes.

Chiavi API

Quando registri l'app di uno sviluppatore nella tua organizzazione, l'app deve essere associata ad at least one API product. Come risultato dell'associazione di un'app a uno o più prodotti API, Apigee assegna all'app una chiave utente univoca. Consulta anche Controllare l'accesso alle API mediante la registrazione delle app.

La chiave utente o il token di accesso fungono da credenziali della richiesta. Lo sviluppatore di app incorpora la chiave utente nell'app, in modo che quando l'app effettua 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 passare direttamente la chiave utente.
  • Quando l'API utilizza la verifica del token OAuth, l'app deve passare un token derivato dalla chiave utente.

L'applicazione della chiave API non avviene automaticamente. Indipendentemente dall'utilizzo della chiave utente o dei token OAuth come credenziali della richiesta, il proxy API convalida le credenziali della richiesta nei proxy API includendo una policy VerifyAPIKey o una VerifyAccessToken configurazione della policy (vedi Policy OAuthv2) nel flusso appropriato. Se non includi una policy 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 passate con la richiesta. Nel caso della verifica del token OAuth, Apigee verifica che il token non sia scaduto e poi cerca la chiave utente utilizzata per generare il token.
  2. Recupera l'elenco dei prodotti API a cui è stata associata la chiave utente.
  3. Verifica che il proxy API corrente sia incluso nel prodotto API, se il percorso della risorsa corrente (percorso dell'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, che l'app non sia revocata, e che lo sviluppatore di app sia attivo.

Se tutti i controlli precedenti vanno a buon fine, la verifica delle credenziali ha esito positivo.

In sintesi, Apigee genera automaticamente le chiavi consumer, ma i publisher di API devono applicare il controllo delle chiavi nei proxy API utilizzando le policy appropriate.

Approvazione delle chiavi

Per impostazione predefinita, tutte le richieste per ottenere una chiave di accesso 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 API. In questo caso, dovrai approvare le richieste di chiavi da qualsiasi app che aggiunge il prodotto API. Per maggiori informazioni, consulta Controllare l'accesso alle API mediante la registrazione delle app.

Quote

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

Puoi specificare una quota che si applica a tutti i proxy API inclusi nel prodotto API oppure specificare 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 dei limiti di quota su un prodotto API non applica automaticamente le quote. Si tratta semplicemente di un limite predefinito a cui è possibile fare riferimento nelle policy per le quote. Ecco alcuni vantaggi dell'impostazione di una quota sul prodotto a cui le policy per le quote possono fare riferimento:

  • Utilizza una policy 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 durante il runtime, le policy per le quote fanno automaticamente riferimento alle impostazioni delle quote aggiornate.

Per ulteriori informazioni, consulta le seguenti risorse:

Ambiti OAuth

Puoi definire gli ambiti OAuth come un elenco separato da virgole che deve essere presente nei token di accesso associati al prodotto. Per maggiori informazioni sull'utilizzo degli ambiti con le policy OAuth di Apigee, consulta Utilizzare gli ambiti OAuth2.

Livelli di accesso

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

Livello di accesso Descrizione
Public Prodotti API disponibili per tutti gli sviluppatori. Puoi aggiungerli ai portali per sviluppatori integrati o Drupal-based.
Private o Internal only Prodotti API progettati per l'uso privato o interno.

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

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

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

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

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