Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Le sezioni seguenti introducono i prodotti API e i concetti correlati, come quote e chiavi API.
Che cos'è un prodotto API?
In qualità di fornitore di API, crei prodotti API per raggruppare le tue API e renderle disponibili per l'utilizzo da parte degli sviluppatori di app. Puoi considerare i prodotti API come la tua 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 in base ai metodi HTTP e alla quota.
I prodotti API sono il meccanismo centrale per 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 bundle di operazioni che definiscono una linea di prodotti o un piano di servizio specifico.
Casi d'uso comuni
Puoi creare più prodotti API che contengono operazioni per gestire 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
- Base: fino a 1000 richieste al giorno
- Gratuito: fino a 100 richieste al giorno
O livello di accesso:
- Premium: lettura, scrittura, aggiornamento ed eliminazione
- Di base: lettura e aggiornamento
- Gratuito: sola lettura
o qualsiasi combinazione di quanto sopra:
- Extra Premium: leggi e scrivi un numero illimitato di volte al giorno
- Premium: leggi e scrivi fino a 1000 richieste al giorno
- Base: accesso in lettura e scrittura fino a 100 volte al giorno
- Gratuito: leggi fino a 1000 volte al giorno
- Gratuito: accesso di sola lettura limitato a 100 richieste al giorno
Requisiti
I prodotti API che fanno parte del pagamento a consumo devono includere:
- proxy estensibili creati con gli hook di flusso o
- norme estensibili come le norme VerifyAPIKey o OAuthv2
Operazioni
Un'operazione è un gruppo di attributi che limitano l'accesso a uno o più proxy API in base a criteri quali percorso della risorsa, metodo HTTP e 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. |
Servizio remoto | Dipende | Obbligatorio solo se installi e prevedi di utilizzare l'adattatore Apigee per 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 di un URL di richiesta proxy API che segue il percorso 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 metriche, monitoraggio o 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 qualsiasi attributo personalizzato a livello di prodotto API e sono accessibili in fase di 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 almeno un prodotto API. In seguito all'accoppiamento di un'app con uno o più prodotti API, Apigee assegna all'app una chiave consumer univoca. Vedi anche Controllo dell'accesso alle API mediante la registrazione delle app.
La chiave utente o il token di accesso fungono da credenziali di richiesta. Lo sviluppatore dell'app incorpora la chiave consumer nell'app, in modo che quando l'app effettua una richiesta a un'API ospitata da Apigee, l'app trasmetta la chiave consumer nella richiesta in uno dei seguenti modi:
- Quando l'API utilizza la verifica della chiave API, l'app deve passare direttamente la chiave consumer.
- Quando l'API utilizza la verifica del token OAuth, l'app deve trasmettere un token derivato dalla chiave utente.
L'applicazione della chiave API non avviene automaticamente. Indipendentemente dall'utilizzo della chiave consumer o dei token OAuth
come credenziali di richiesta, il proxy API convalida le credenziali di richiesta nei proxy API
includendo un criterio VerifyAPIKey o una configurazione dei criteri VerifyAccessToken
(vedi
criterio 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 trasmesse nella richiesta, Apigee esegue i seguenti passaggi:
- Ottieni 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 utente utilizzata per generare il token.
- Recupera l'elenco dei prodotti API a cui è stata associata la chiave utente.
- Verifica che il proxy API corrente 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.
- Verifica che la quota, se specificata, non sia stata superata.
- Verifica che la chiave utente non sia scaduta o revocata, 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 sintesi, Apigee genera automaticamente le chiavi consumer, ma gli editori di API devono applicare il controllo delle chiavi nei proxy API utilizzando le policy appropriate.
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 Gestione dei prodotti API. In questo caso, dovrai approvare le richieste di chiavi da qualsiasi app che aggiunge il prodotto API. Per maggiori informazioni, vedi Controllo dell'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 risorse con una quota elevata come prodotto premium e utilizzare lo stesso bundle con una quota inferiore come prodotto di base. Le quote possono contribuire a proteggere i tuoi server dal sovraccarico se un prodotto è popolare e riceve un gran numero 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 per un prodotto API non applica automaticamente la quota. Si tratta semplicemente di un limite predefinito a cui è possibile fare riferimento nelle norme relative alle quote. Ecco alcuni vantaggi dell'impostazione di una quota sul prodotto a cui fare riferimento per le norme relative alle 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 di quota del prodotto API in fase di runtime, i criteri di quota fanno automaticamente riferimento alle impostazioni di quota aggiornate.
Per ulteriori informazioni, consulta le seguenti risorse:
- Criteri per le quote
- In che modo le impostazioni di quota di un prodotto API interagiscono con le norme relative alle quote in un proxy API?.
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 saperne di più sull'utilizzo degli ambiti con le norme OAuth di Apigee, consulta la sezione 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 API disponibili per tutti gli sviluppatori. Puoi aggiungerli a portali per sviluppatori integrati o basati su Drupal. |
Private o Internal only |
Prodotti API progettati per l'uso privato o interno.
Per il portale integrato, puoi aggiungere prodotti API Per i portali per sviluppatori basati su Drupal, puoi gestire l'accesso ai prodotti API
|