Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Génération et configuration d’un certificat SSL pour l’authentification backend dans API Gateway

Mode de mise au point
Génération et configuration d’un certificat SSL pour l’authentification backend dans API Gateway - Amazon API Gateway

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.

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.

Vous pouvez utiliser API Gateway pour générer un certificat SSL et utiliser sa clé publique sur le backend afin de vérifier que les requêtes HTTP adressées à votre système backend proviennent d’API Gateway. Votre backend HTTP peut ainsi contrôler et accepter uniquement les demandes provenant d’Amazon API Gateway, même si le backend est accessible publiquement.

Note

Certains backends peuvent ne pas prendre en charge l’authentification de client SSL comme le fait API Gateway et peuvent renvoyer une erreur de certificat SSL. Pour obtenir la liste des serveurs backend non compatibles, consultez Remarques importantes concernant Amazon API Gateway.

Les certificats SSL générés par API Gateway sont auto-signés et seule la clé publique d’un certificat est visible dans la console API Gateway ou via les API.

Génération d’un certificat de client à l’aide de la console API Gateway

  1. Ouvrez la console API Gateway à l’adresse https://console.aws.amazon.com/apigateway.

  2. Choisissez une API REST.

  3. Dans le volet de navigation principal, choisissez Certificats de clients.

  4. Sur la page Certificats de clients, choisissez Générer un certificat.

  5. (Facultatif) Sous Description, entrez une description.

  6. Choisissez Générer un certificat pour générer le certificat. API Gateway génère un nouveau certificat et renvoie le GUID du nouveau certificat, ainsi que la clé publique codée en PEM.

Vous êtes maintenant prêt à configurer une API pour utiliser le certificat.

Configuration d’une API pour utiliser les certificats SSL

Ces instructions supposent que vous avez déjà terminé Génération d’un certificat de client à l’aide de la console API Gateway.

  1. Dans la console API Gateway, créez ou ouvrez une API pour laquelle vous souhaitez utiliser le certificat de client. Vérifiez que l’API a été déployée dans une étape.

  2. Dans le volet de navigation principal, choisissez Étapes.

  3. Dans la section Détails de l’étape, choisissez Modifier.

  4. Pour Certificat de client, sélectionnez un certificat.

  5. Sélectionnez Enregistrer les modifications.

    Si l’API a déjà été déployée dans la console API Gateway, vous devez la redéployer pour que les changements prennent effet. Pour plus d’informations, consultez Création d’un déploiement pour une API REST dans API Gateway.

Une fois qu’un certificat a été sélectionné pour l’API et enregistré, API Gateway l’utilise pour tous les appels aux intégrations HTTP de votre API.

Appel de test pour vérifier la configuration de certificat client

  1. Sélectionnez une méthode d’API. Choisissez l’onglet Test. Vous devrez peut-être choisir la flèche droite pour afficher l’onglet Test.

  2. Pour Certificat de client, sélectionnez un certificat.

  3. Sélectionnez Tester.

API Gateway présente le certificat SSL choisi pour permettre au backend HTTP d’authentifier l’API.

Configuration du serveur HTTPS backend pour vérifier le certificat client

Ces instructions supposent que vous avez déjà terminé Génération d’un certificat de client à l’aide de la console API Gateway et téléchargé une copie du certificat client. Vous pouvez télécharger un certificat client en appelant la commande clientcertificate:by-id de l’API REST API Gateway ou la commande get-client-certificate de l’AWS CLI.

Avant de configurer un serveur HTTPS backend pour vérifier le certificat SSL client d’API Gateway, vous devez avoir obtenu la clé privée codée PEM et un certificat côté serveur qui est fourni par une autorité de certification reconnue.

Si le nom de domaine du serveur est myserver.mydomain.com, la valeur CNAME du certificat du serveur doit être myserver.mydomain.com ou *.mydomain.com.

Les autorités de certification prises en charge comprennent Let’s Encrypt ou l’une des Autorités de certification prises en charge par API Gateway pour les intégrations HTTP et les intégrations de proxy HTTP.

Par exemple, supposons que le fichier de certificat client est apig-cert.pem et que les fichiers de clé privée et de certificat du serveur sont server-key.pem et server-cert.pem, respectivement. Pour un serveur Node.js dans le backend, vous pouvez configurer le serveur comme suit :

var fs = require('fs'); var https = require('https'); var options = { key: fs.readFileSync('server-key.pem'), cert: fs.readFileSync('server-cert.pem'), ca: fs.readFileSync('apig-cert.pem'), requestCert: true, rejectUnauthorized: true }; https.createServer(options, function (req, res) { res.writeHead(200); res.end("hello world\n"); }).listen(443);

Pour une application Express de nœud, vous pouvez utiliser les modules client-certificate-auth pour authentifier des demandes client avec des certificats codés en PEM.

Pour les autres serveurs HTTPS, consultez la documentation du serveur.

Rotation d’un certificat client arrivant à expiration

Le certificat client généré par API Gateway est valide pendant 365 jours. Vous devez effectuer la rotation de ce certificat avant qu’un certificat client sur une étape d’API arrive à expiration afin d’éviter les temps d’arrêt pour l’API. Vous pouvez vérifier la date d’expiration du certificat en appelant la commande clientCertificate:by-id de l’API REST API Gateway ou la commande AWS CLI de get-client-certificate et en inspectant la propriété expirationDate renvoyée.

Pour faire pivoter un certificat client, procédez comme suit :

  1. Générez un nouveau certificat client en appelant la commande clientcertificate:generate de l’API REST API Gateway ou la commande generate-client-certificate de l’AWS CLI. Dans ce didacticiel, nous supposons que l’ID du nouveau certificat client est ndiqef.

  2. Mettez à jour le serveur backend pour inclure le nouveau certificat client. Ne supprimez pas le certificat client existant pour l’instant.

    Certains serveurs peuvent nécessiter un redémarrage pour terminer la mise à jour. Consultez la documentation du serveur pour voir si vous devez redémarrer le serveur pendant la mise à jour.

  3. Mettez à jour l’étape d’API pour utiliser le nouveau certificat client en appelant la commande stage:update de l’API REST API Gateway, avec l’ID du nouveau certificat client (ndiqef) :

    PATCH /restapis/{restapi-id}/stages/stage1 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20170603T200400Z Authorization: AWS4-HMAC-SHA256 Credential=... { "patchOperations" : [ { "op" : "replace", "path" : "/clientCertificateId", "value" : "ndiqef" } ] }

    ou en appelant la commande CLI update-stage.

  4. Mettez à jour le serveur backend pour supprimer l’ancien certificat.

  5. Supprimez l’ancien certificat d’API Gateway en appelant la commande clientcertificate:delete de l’API REST API Gateway, en spécifiant le clientCertificateId (a1b2c3) de l’ancien certificat :

    DELETE /clientcertificates/a1b2c3

    ou en appelant la commande CLI de delete-client-certificate :

    aws apigateway delete-client-certificate --client-certificate-id a1b2c3

Pour effectuer la rotation d’un certificat client dans la console pour une API déployée précédemment, procédez comme suit :

  1. Dans le volet de navigation principal, choisissez Certificats de clients.

  2. Dans le volet Certificats de clients, choisissez Générer un certificat.

  3. Ouvrez l’API pour laquelle vous souhaitez utiliser le certificat client.

  4. Sélectionnez Stages sous l’API sélectionnée, puis choisissez une étape.

  5. Dans la section Détails de l’étape, choisissez Modifier.

  6. Pour Certificat de client, sélectionnez le nouveau certificat.

  7. Pour enregistrer les paramètres, choisissez Enregistrer les modifications.

    Vous devez redéployer l’API pour que les modifications prennent effet. Pour plus d’informations, consultez Création d’un déploiement pour une API REST dans API Gateway.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.