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.
Choisissez une source de API clé dans API Gateway
Lorsque vous associez un plan d'utilisation à une API méthode API et que vous activez des API clés, chaque demande entrante API doit contenir une APIclé. APIGateway lit la clé et la compare aux clés du plan d'utilisation. En cas de correspondance, API Gateway limite les demandes en fonction de la limite de demandes et du quota du plan. Sinon, il renvoie une exception InvalidKeyParameter
. En conséquence, l'appelant reçoit une réponse 403 Forbidden
.
Votre API passerelle API peut recevoir des API clés provenant de l'une des deux sources suivantes :
HEADER
-
Vous distribuez API des clés à vos clients et vous leur demandez de les API transmettre comme
X-API-Key
en-tête de chaque demande entrante. AUTHORIZER
-
Un autorisateur Lambda vous renvoie la API clé dans le cadre de la réponse d'autorisation. Pour plus d'informations sur la réponse d'autorisation, consultez Sortie d'un autorisateur API Gateway Lambda.
Note
Pour connaître les bonnes pratiques à prendre en compte, consultez Bonnes pratiques en matière de API clés et de plans d'utilisation.
Pour choisir une source de API clé pour un à API l'aide de la console API Gateway
-
Connectez-vous à la console API Gateway.
-
Choisissez-en un existant API ou créez-en un nouveau.
-
Dans le volet de navigation principal, choisissez APIles paramètres.
-
Dans la section des APIdétails, choisissez Modifier.
-
Sous Source API clé, sélectionnez
Header
ouAuthorizer
dans la liste déroulante. -
Sélectionnez Enregistrer les modifications.
Pour choisir une source API clé pour un à API l'aide de AWS CLI, appelez la update-rest-api
commande comme suit :
aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/apiKeySource,value=AUTHORIZER
Pour que le client soumette une API clé, définissez le value
à HEADER
dans la CLI commande précédente.
Pour choisir une source de API clé pour un API en utilisant la API passerelle RESTAPI, appelez restapi:update
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 qu'un autorisateur renvoie une API clé, définissez le point sur value
AUTHORIZER
dans la patchOperations
saisie précédente.
Selon le type de source de API clé que vous choisissez, appliquez l'une des procédures suivantes pour utiliser des API clés provenant d'en-têtes ou des clés renvoyées par l'autorisateur lors de l'invocation de API méthodes :
Pour utiliser des clés provenant d'en-têtes API :
-
Créez un API avec les API méthodes souhaitées, puis déployez-le API sur une scène.
-
Créez un nouveau plan d'utilisation ou choisissez un plan d'utilisation existant. Ajoutez l'APIétape déployée au plan d'utilisation. Associez une API clé au plan d'utilisation ou choisissez une API clé existante dans le plan. Notez la valeur API clé choisie.
-
Configurez API des méthodes pour exiger une API clé.
-
APIRedéployez-les au même stade. Si vous déployez le API vers une nouvelle étape, veillez à mettre à jour le plan d'utilisation pour associer la nouvelle API étape.
Le client peut désormais appeler les API méthodes tout en fournissant à l'x-api-key
en-tête la API clé choisie comme valeur d'en-tête.
Pour utiliser des clés provenant de l'autorisateur : API
-
Créez un API avec les API méthodes souhaitées, puis déployez-le API sur une scène.
-
Créez un nouveau plan d'utilisation ou choisissez un plan d'utilisation existant. Ajoutez l'APIétape déployée au plan d'utilisation. Associez une API clé au plan d'utilisation ou choisissez une API clé existante dans le plan. Notez la valeur API clé choisie.
-
Créez un mécanisme d’autorisation Lambda par jeton. Incluez,
usageIdentifierKey:
en tant que propriété de niveau racine de la réponse d’autorisation. Pour obtenir des instructions sur la création d'un système d'autorisation basé sur des jetons, consultez. Exemple de fonction TOKEN Lambda d'autorisation{api-key}
-
Configurez API les méthodes pour qu'elles nécessitent une API clé et activez également l'autorisateur Lambda sur les méthodes.
-
APIRedéployez-les au même stade. Si vous déployez le API vers une nouvelle étape, veillez à mettre à jour le plan d'utilisation pour associer la nouvelle API étape.
Le client peut désormais appeler les méthodes API requises sans API fournir de clé explicite. La API clé renvoyée par l'autorisateur est utilisée automatiquement.