

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Choix d’une source de clé d’API dans API Gateway
<a name="api-gateway-api-key-source"></a>

Lorsque vous associez un plan d’utilisation à une API et activez des clés d’API sur les méthodes d’API, chaque demande entrante vers l’API doit inclure une [clé d’API](api-gateway-basic-concept.md#apigateway-definition-api-key). API Gateway lit la clé et la compare à celles du plan d’utilisation. S’il y a correspondance, API Gateway restreint les demandes en fonction des limitations et quotas définis dans le plan. Sinon, il renvoie une exception `InvalidKeyParameter`. En conséquence, l’appelant reçoit une réponse `403 Forbidden`.

Votre API API Gateway peut recevoir des clés d’API à partir de l’une de ces deux sources :

**`HEADER`**  
Vous distribuez les clés d’API à vos clients et leur demandez de les transmettre comme en-tête `X-API-Key` de chaque demande entrante. 

**`AUTHORIZER`**  
Un mécanisme d’autorisation Lambda renvoie la clé d’API dans le cadre de la réponse d’autorisation. Pour plus d’informations sur la réponse d’autorisation, consultez [Sortie d’un mécanisme d’autorisation Lambda API Gateway](api-gateway-lambda-authorizer-output.md).

**Note**  
Pour connaître les bonnes pratiques à prendre en compte, consultez [Bonnes pratiques concernant les clés d’API et les plans d’utilisation](api-gateway-api-usage-plans.md#apigateway-usage-plans-best-practices).

La procédure ci-dessous montre comment choisir une source de clé d’API pour une API.

------
#### [ AWS Management Console ]

**Pour choisir une source de clé d’API pour une API**

1. Connectez-vous à la console API Gateway.

1. Choisissez une API existante ou créez-en une.

1. Dans le panneau de navigation principal, choisissez **Paramètres de l’API**. 

1. Dans la section **Détails de l'API**, choisissez **Modifier**. 

1.  Sous **Source de clé d’API**, sélectionnez `Header` ou `Authorizer` dans la liste déroulante.

1. Sélectionnez **Enregistrer les modifications**.

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

La [update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html)commande suivante met à jour une API afin de définir la source de la clé d'API sur `AUTHORIZER` :

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

Pour que le client soumette une clé d’API, définissez `value` sur `HEADER` dans la commande précédente.

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

Pour choisir une source de clé d’API pour une API à l’aide de l’API REST API Gateway, appelez [https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateRestApi.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateRestApi.html) comme suit :

```
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"
    }
  ]
}
```

Pour avoir qu’un mécanisme d’autorisation renvoie une clé d’API, définissez la `value` sur `AUTHORIZER` dans l’entrée `patchOperations` précédente.

------