

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à.

# Scelta dell'origine di una chiave API in Gateway API
<a name="api-gateway-api-key-source"></a>

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-basic-concept.md#apigateway-definition-api-key). 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 sistema di autorizzazione Lambda di Gateway API](api-gateway-lambda-authorizer-output.md).

**Nota**  
Per informazioni sulle best practice da prendere in considerazione, consulta [Best practice per le chiavi API e i piani di utilizzo](api-gateway-api-usage-plans.md#apigateway-usage-plans-best-practices).

La procedura seguente descrive come scegliere un’origine della chiave API per un’API.

------
#### [ Console di gestione AWS ]

**Per scegliere un’origine della chiave API per un’API**

1. Accedere alla console API Gateway.

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

1. Nel riquadro di navigazione principale, scegli **Impostazioni API**. 

1. Nella sezione **Dettagli API**, scegli **Modifica**. 

1.  In **Origine chiave API**, seleziona `Header` o `Authorizer` nell'elenco a discesa.

1. Scegli **Save changes** (Salva modifiche).

------
#### [ AWS CLI ]

Il [update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html)comando seguente aggiorna un'API per impostare l'origine della chiave API su`AUTHORIZER`:

```
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, impostare `value` su `HEADER` nel comando precedente.

------
#### [ REST API ]

Per scegliere un'origine di chiave API per un'API utilizzando l'API REST API Gateway, invoca [https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateRestApi.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateRestApi.html) 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.

------