Selezione di un'origine chiave API - Amazon API Gateway

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Selezione di un'origine chiave API

Quando associ un piano di utilizzo a un'API e abiliti chiavi API su metodi API, ogni richiesta in ingresso all'API deve contenere una chiave API. API Gateway legge la chiave e la confronta con le chiavi nel piano di utilizzo. Se esiste una corrispondenza, API Gateway esegue il throttling delle richieste in base alla quota e al limite delle richieste del piano. In caso contrario, genera un'eccezione InvalidKeyParameter e l'intermediario riceve una risposta 403 Forbidden.

L'API di API Gateway è in grado di ricevere chiavi API da una delle due seguenti origini:

HEADER

Devi distribuire le chiavi API ai clienti e chiedere loro di passare la chiave API come intestazione X-API-Key di ogni richiesta in ingresso.

AUTHORIZER

Puoi fare in modo che la chiave API venga restituita da un'autorizzazione Lambda come parte della risposta di autorizzazione. Per ulteriori informazioni sulla risposta delle autorizzazioni, consulta Output da un autorizzatore Lambda API Gateway.

Nota

Per informazioni sulle best practice da prendere in considerazione, consulta Best practice per le chiavi API e i piani di utilizzo.

Selezione di un'origine della chiave API per un'API utilizzando la console Gateway API
  1. Accedere alla console API Gateway.

  2. Seleziona un'API esistente o creane una nuova.

  3. Nel riquadro di navigazione principale, scegli Impostazioni API.

  4. Nella sezione Dettagli API, scegli Modifica.

  5. In Origine chiave API, seleziona Header o Authorizer nell'elenco a discesa.

  6. Seleziona Salvataggio delle modifiche.

Per scegliere una fonte di chiave API per un'API utilizzando il AWS CLI, chiama il update-rest-apicomando come segue:

aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/apiKeySource,value=AUTHORIZER

Per fare in modo che il client invii una chiave API, imposta value su HEADER nel comando CLI precedente.

Per scegliere un'origine di chiave API per un'API utilizzando l'API REST API Gateway, invoca restapi:update come segue:

PATCH /restapis/fugvjdxtri/ HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T205348Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature={sig4_hash} { "patchOperations" : [ { "op" : "replace", "path" : "/apiKeySource", "value" : "HEADER" } ] }

Per fare in modo che un'autorizzazione restituisca una chiave API, imposta value su AUTHORIZER nell'input patchOperations precedente.

A seconda del tipo di origine della chiave API scelta, usa una delle procedure seguenti per utilizzare chiavi API con origine intestazione o chiavi API restituite dall'autorizzazione nell'invocazione di metodo:

Per utilizzare chiavi API con origine intestazione:
  1. Crea un'API con i metodi API desiderati e quindi implementa l'API in una fase.

  2. Crea un nuovo piano di utilizzo o scegline uno esistente. Aggiungi la fase API distribuita al piano di utilizzo. Collega una chiave API al piano di utilizzo o scegli una chiave API esistente nel piano. Prendi nota del valore della chiave API scelta.

  3. Configura i metodi API in modo che richiedano una chiave API.

  4. Ridistribuisci l'API nella stessa fase. Se distribuisci l'API in una nuova fase, assicurati di aggiornare il piano di utilizzo per collegare la nuova fase API.

Il client può ora chiamare i metodi API fornendo l'intestazione x-api-key con la chiave API scelta come valore di intestazione.

Per utilizzare chiavi API con origine autorizzazione:
  1. Crea un'API con i metodi API desiderati e quindi implementa l'API in una fase.

  2. Crea un nuovo piano di utilizzo o scegline uno esistente. Aggiungi la fase API distribuita al piano di utilizzo. Collega una chiave API al piano di utilizzo o scegli una chiave API esistente nel piano. Prendi nota del valore della chiave API scelta.

  3. Crea una funzione di autorizzazione Lambda basata su token. Includi usageIdentifierKey:{api-key} come proprietà a livello di root della risposta di autorizzazione. Per istruzioni sulla creazione di un autorizzatore basato su token, consulta. Esempio di funzione Lambda TOKEN dell'autorizzatore

  4. Configura i metodi API in modo che richiedano una chiave API e abilita anche l'autorizzazione Lambda per i metodi.

  5. Ridistribuisci l'API nella stessa fase. Se distribuisci l'API in una nuova fase, assicurati di aggiornare il piano di utilizzo per collegare la nuova fase API.

Il client può ora chiamare i metodi che richiedono la chiave API senza fornire esplicitamente una chiave API. La chiave API restituita dall'autorizzazione viene utilizzata automaticamente.