Fermer

avril 15, 2023

Connectez AWS API Gateway à partir d’un autre compte AWS sur un canal de communication privé

Connectez AWS API Gateway à partir d’un autre compte AWS sur un canal de communication privé


Qu’est-ce que l’API et la passerelle API

Amazon API Gateway est un service que vous pouvez utiliser pour créer des interfaces de programmation d’applications. Ce sont essentiellement la porte d’entrée de votre logique métier ou de vos applications sur AWS. Avec le augmentation rapide de l’utilisation des appareils mobiles et l’essor de l’Internet des objets (IoT), en raison de cela, la plupart des systèmes et données backend sont accessibles aux applications via des API. Pour vous faciliter l’utilisation de ces API, API Gateway peut générer des SDK clients pour un certain nombre de langages, notamment JavaScript, iOS et Android. À l’aide d’API Gateway, vous pouvez créer rapidement et facilement une API personnalisée pour votre code d’application, puis appeler la fonction Lambda à partir de votre API. À l’aide de la console API Gateway, vous pouvez créer votre API REST et ses ressources et méthodes associées, gérer le cycle de vie de votre API, générer vos SDK client et afficher les métriques de l’API.

Amazon API Gateway est utilisé pour créer des API RESTful et HTTP. Si l’utilisation de ces API est limitée aux clients internes, les clients préfèrent utiliser des API privées, car les API privées fournissent un moyen sécurisé d’appeler des API via un point de terminaison de VPC d’interface. L’intégration privée d’API Gateway simplifie l’exposition de vos ressources HTTP/HTTPS derrière un Amazon VPC, pour un accès par des clients en dehors du VPC. AWS fournit toutes les mesures de sécurité à différentes couches de sécurité pour sécuriser l’intégration privée de la passerelle API. Les ressources VPC telles que Elastic Network Interface (ENI) et d’autres ressources associées peuvent être sécurisées à l’aide d’un groupe de sécurité. De plus, des stratégies de ressources sont également appliquées aux points de terminaison de VPC pour le rendre plus sécurisé.

Solution

Le point de terminaison d’un VPC peut être utilisé pour accéder à la passerelle API à partir d’un autre compte AWS sur un réseau privé. Les étapes de mise en œuvre de la solution sont présentées ci-dessous.

Étapes de mise en œuvre

  • Créez un point de terminaison de VPC dans un Amazon Virtual Private Cloud (Amazon VPC) dans le compte (compte A).
  1. Accédez à la console de gestion VPC.
  2. Dans le volet de navigation, choisissez Points de terminaison, Créer un point de terminaison.

  3. Sélectionnez Services AWS pour la catégorie de service.
  4. Sélectionnez com.amazonaws..execute-api pour le nom du service.
  5. Choisissez le VPC dans lequel vous souhaitez créer le point de terminaison pour le champ VPC.
  6. Pour les sous-réseaux, choisissez les sous-réseaux (zones de disponibilité) dans lesquels créer les interfaces réseau des terminaux. Pour obtenir une haute disponibilité pour votre API, choisissez plusieurs sous-réseaux.
  7. Cochez l’option Activer le nom DNS.
  8. sélectionnez le groupe de sécurité à associer aux interfaces réseau du point de terminaison VPC.
    Remarque :- Le groupe de sécurité sélectionné doit autoriser le trafic entrant HTTPS sur le port TCP 443 à partir des plages d’adresses IP requises.
  9. Sélectionnez Accès complet pour la stratégie et cliquez enfin sur le bouton Créer un point de terminaison.

  10. Configurez une règle dans le groupe de sécurité qui autorise le trafic HTTPS entrant du port TCP 443.
  11. Après avoir choisi Créer un point de terminaison et le point de terminaison VPC sera créé, copiez maintenant l’ID de point de terminaison VPC de votre nouveau point de terminaison d’interface (par exemple : vpce-1a2b3c456d7e89012). Ensuite, choisissez Fermer.

  • Créez une API Gateway dans un deuxième compte (compte B).

  1. Aller à la console de la passerelle API
  2. Choisissez Créer une API
  3. Sous REST API, choisissez Build.
  4. Entrez un nom pour le nom de l’API.
  5. Pour Type de point de terminaison, choisissez Privé.
  6. Choisissez Créer une API.

  • Configurez une stratégie de ressources pour la passerelle API afin d’autoriser le point de terminaison VPC du compte A.

  1. Dans le volet de navigation de gauche de la console API Gateway, sous votre API, choisissez Resource Policy.
  2. Sur la page Stratégie de ressources, utilisez la stratégie de ressources ci-dessous dans la zone de texte :
 {

  "Version": "2012-10-17",

  "Statement": [

    {

      "Effect": "Deny",

      "Principal": "*",

      "Action": "execute-api:Invoke",

      "Resource": "execute-api:/*/*/*",

      "Condition": {

        "StringNotEquals": {

          "aws:sourceVpce": "<VPC-endpoint ID>"

        }

      }

    },

    {

      "Effect": "Allow",

      "Principal": "*",

      "Action": "execute-api:Invoke",

      "Resource": "execute-api:/*/*/*"

    }

  ]

}
  • Configurer une méthode pour l’API REST privée

Veuillez consulter un lien vers Configurer les méthodes d’API REST dans API Gateway.

  • Déployer l’API REST privée

Veuillez consulter un lien vers Déployer une API privée à l’aide d’API Gateway.

  • Test de l’API REST privée du compte A

  1. Dans le compte A, lancez une instance Amazon Elastic Compute Cloud (Amazon EC2) dans le même Amazon VPC que votre point de terminaison d’interface.
  2. Connectez-vous à l’instance Amazon EC2.
  3. À partir de la ligne de commande de votre instance Amazon EC2, utilisez l’une des commandes curl suivantes pour appeler l’API REST privée dans le compte B.

curl -i https://.execute-api..amazonaws.com/stage-name

Conclusion

Ce blog explique comment connecter API Gateway à partir d’un autre compte AWS à l’aide de points de terminaison VPC sur un réseau privé avec toutes les mesures de sécurité à différentes couches de sécurité. Les avantages de l’utilisation de la passerelle API sur un réseau privé sont qu’elle réduit la surface d’attaque et diminue la latence du réseau.

TROUVÉ CELA UTILE ? PARTAGEZ-LE




Source link