Che cos'è un criterio?

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Apigee ti consente di programmare il comportamento delle API senza scrivere codice, utilizzando i criteri. Un criterio è come un modulo che implementa una funzione di gestione specifica e limitata. Le norme sono progettate per consentirti di aggiungere facilmente e in modo affidabile tipi comuni di funzionalità di gestione a un'API. I criteri forniscono funzionalità come sicurezza, limitazione della frequenza, trasformazione e mediazione, evitandoti di dover codificare e gestire questa funzionalità in autonomia.

Non sei limitato al set di tipi di norme fornito da Apigee. Puoi anche scrivere script e codice personalizzati (ad esempio applicazioni JavaScript) che estendono la funzionalità del proxy API e ti consentono di innovare al di sopra delle funzionalità di gestione di base supportate dai criteri Apigee.

Questo argomento fornisce una panoramica dei tipi di policy e del loro utilizzo in Apigee. Per informazioni su policy specifiche, consulta la panoramica del riferimento alle policy.

Tipi e categorie di norme

Tecnicamente, una policy è un file di configurazione in formato XML. La struttura di ogni policy (ad esempio, gli elementi di configurazione obbligatori e facoltativi) è definita da uno schema XML. Se hai familiarità con gli strumenti XML, ti consigliamo di prendere confidenza con gli schemi delle norme negli esempi della piattaforma API su GitHub.

Le norme Apigee sono raggruppate nelle seguenti categorie funzionali. Le norme disponibili per ogni categoria di norme sono elencate nella Panoramica dei riferimenti alle norme.

AI

Le policy nella categoria AI ti consentono di ottimizzare e proteggere le prestazioni dei carichi di lavoro e dei modelli di AI.

Estensione

I criteri nella categoria delle estensioni ti consentono di sfruttare l'estensibilità di Apigee per implementare un comportamento personalizzato nel linguaggio di programmazione che preferisci.

Mediazione

Le policy nella categoria di mediazione ti consentono di manipolare attivamente i messaggi mentre scorrono attraverso i proxy API. Consentono di trasformare i formati dei messaggi, da XML a JSON (e viceversa) o di trasformare un formato XML in un altro formato XML. Consentono inoltre di analizzare i messaggi, di generare nuovi messaggi e di modificare i valori dei messaggi in uscita. I criteri di mediazione interagiscono anche con i servizi di base esposti da Apigee, consentendoti di recuperare dati su app, sviluppatori, token di sicurezza e prodotti API in fase di runtime.

Sicurezza

Le policy nella categoria Sicurezza supportano l'autenticazione, l'autorizzazione e la sicurezza basata sui contenuti.

Gestione del traffico

Le policy nella categoria di gestione del traffico ti consentono di controllare il flusso dei messaggi di richiesta e risposta tramite un proxy API. Queste policy supportano il controllo a livello operativo e aziendale. Ti consentono di controllare il throughput raw e anche il traffico per singola app. I tipi di criteri di gestione del traffico ti consentono di applicare le quote e ti aiutano anche a mitigare gli attacchi Denial of Service.

Collegamento di criteri

Affinché una policy venga applicata al proxy API, devi collegarla al proxy in un flusso. Per informazioni, consulta gli altri argomenti di questa sezione, tra cui Collegamento e configurazione di criteri nell'interfaccia utente e Collegamento e configurazione di criteri nei file XML.

Deployment delle modifiche ai criteri

Affinché le modifiche alle policy abbiano effetto, devi eseguire il deployment della revisione del proxy API in un ambiente. Dopo aver collegato un criterio o apportato modifiche a un criterio esistente, utilizza l'interfaccia utente Apigee o l'API Apigee per eseguire il deployment delle modifiche.

Verifica dell'applicazione delle norme

Per verificare che un criterio sia applicato correttamente, l'API deve essere richiamata da un client HTTP. Per verificare una configurazione Quota, imposta una quota (ad esempio, una richiesta al minuto), poi invia più richieste all'API superando il limite di quota che hai impostato nella policy di quota. (Il percorso URI, configurato come impostazione del percorso di base in ProxyEndpoint, nella richiesta riportata di seguito è /weather).

http://ORG_NAME-test.apigee.net/weather/forecastrss?w=12797282

Dopo aver inviato più di una richiesta in un minuto, dovresti visualizzare il seguente messaggio di errore:

{
   "fault":{
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

Ciò indica che il criterio Quota viene applicato da Apigee.

Gestione dei guasti basata su policy

Prendi nota del formato del messaggio di errore riportato sopra. Contiene una proprietà faultstring e una proprietà errorcode. In molti casi, devi implementare un comportamento per gestire questi errori. Ad esempio, potresti voler inviare un messaggio personalizzato a uno sviluppatore la cui app ha superato il Quota.

Per saperne di più sulla gestione dei guasti, consulta Gestione dei guasti.

Best practice: insiemi di norme comuni

Per soddisfare i requisiti di gestione di base, i proxy API in genere applicano le seguenti norme:

Convalida di base delle chiavi API

Flusso di richiesta ProxyEndpoint:
  1. SpikeArrest
  2. XMLThreatProtection o JSONThreatProtection
  3. Convalida delle chiavi API
  4. Quota
  5. ResponseCache
Flusso di risposta ProxyEndpoint:
  1. ResponseCache

Trasformazione di base: JSON in XML

Flusso della richiesta:
  1. SpikeArrest
  2. JSONThreatProtection
  3. Convalida delle chiavi API
  4. Quota
  5. JSONToXML
Flusso di risposta:
  1. XMLToJSON
  2. ResponseCache