Pourquoi est-ce qu’une erreur « 403 Forbidden » s’affiche-t-elle lorsque je me connecte à mes API publiques API Gateway depuis un VPC ?
Le message d'erreur HTTP « 403 Forbidden » s'affiche lorsque j'appelle mon API publique Amazon API Gateway depuis mon Amazon Virtual Private Cloud (Amazon VPC).
Brève description
Étant donné que les points de terminaison d'interface Amazon VPC acheminent le trafic uniquement vers des API privées, une erreur HTTP « 403 Forbidden » peut s’afficher lorsque vous essayez d'accéder aux API publiques d’API Gateway.
L'erreur HTTP « 403 Forbidden » se produit lorsque vous tentez d'accéder à une API publique d’API Gateway à partir d'un VPC dont les noms DNS privés sont activés. Si vous activez les noms DNS privés, toutes les requêtes provenant d'Amazon VPC et destinées aux API API Gateway sont résolues vers le point de terminaison de VPC d'interface.
Cependant, il n’est pas possible d’utiliser de point de terminaison de VPC d'interface pour vous connecter à des API publiques car le nom DNS privé du point de terminaison est au format *.execute-api.{region}.amazonaws.com. Le caractère * est un espace réservé pour l'ID d'API. Ce format correspond à l'URL d'invocation par défaut d'API Gateway pour les API publiques et privées.
Lorsque vous activez les noms DNS privés, les appels émis vers les URL de l'API API Gateway au format *.execute-api.{region}.amazonaws.com sont résolues vers les adresses IP privées du point de terminaison de VPC d'interface. Ce paramètre achemine l’intégralité du trafic vers l'API Gateway via le point de terminaison de VCP d’interface pour les API publiques et privées.
Le message d'erreur « 403 Forbidden » s'affiche également lorsque vous utilisez AWS Direct Connect pour invoquer l'URL execute-api par défaut afin de vous connecter à des API privées depuis un réseau sur site.
Résolution
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.
Vérifier si votre Amazon VPC utilise des paramètres DNS privés
Pour résoudre l'erreur HTTP « 403 Forbidden », déterminez d'abord si votre Amazon VPC utilise des paramètres DNS privés ou publics. Vous pouvez utiliser l’AWS CLI ou la console Amazon VPC.
AWS CLI
Exécutez la commande describe-vpc-endpoints suivante :
export VPC_ID=YOUR_VPC_ID export REGION=YOUR_REGION aws ec2 describe-vpc-endpoints \ --filters "Name=vpc-id,Values=${VPC_ID}" \ "Name=service-name,Values=com.amazonaws.${REGION}.execute-api" \ --query 'Amazon VPC endpointndpoints[].{Name:Tags[?Key==`Name`].Value|[0],Amazon VPC endpointndpointId:Amazon VPC endpointndpointId,PrivateDnsEnabled:PrivateDnsEnabled}' \ --output table
Remarque : Remplacez YOUR_VPC_ID par l’ID de votre VPC et YOUR_REGION par votre région AWS.
Console Amazon VPC
Vérifiez si vous avez activé le nom DNS privé dans la configuration de votre point de terminaison de VPC d’interface. Vérifiez également s'il existe un point de terminaison de VPC d'interface permettant d'accéder à une API REST privée dans votre VPC. S'il existe un point de terminaison VPC d'interface, vérifiez si vous avez activé les attributs DNS.
Se connecter à des API publiques avec les noms DNS privés activés
Si vous avez activé le DNS privé, configurez des noms de domaine personnalisés optimisés pour les périphériques ou des noms de domaine personnalisés régionaux pour vous connecter à vos API publiques. Vous pouvez ensuite invoquer l'API publique API Gateway avec le nom de domaine personnalisé, tel que api.example.com. La connectivité à vos API REST privées continue de fonctionner via le point de terminaison d'API REST privée.
Si des clients se connectent depuis un réseau sur site, configurez un point de terminaison entrant Amazon Route 53 Resolver. Pour utiliser l'URL d'invocation execute-api, transférez toutes les requêtes DNS privées de votre réseau sur site vers le point de terminaison entrant.
Remarque : Vos ressources VPC doivent disposer d'une connectivité Internet pour se connecter à vos API publiques.
Se connecter à des API publiques avec les noms DNS privés désactivés
Pour autoriser le trafic sortant vers vos API publiques, utilisez les groupes de sécurité de votre VPC. Modifiez également la politique de ressources associée à votre API pour autoriser l'accès depuis le VPC.
Si votre VPC est autorisé à accéder à vos API REST publiques, utilisez la commande execute-api par défaut pour vous connecter à vos API REST publiques. Vous pouvez également utiliser le nom de domaine personnalisé pour vous connecter à votre API REST publique. Pour plus d'informations, consultez la section Contrôler et gérer l'accès aux API REST dans API Gateway.
Si vous désactivez les noms DNS privés pour le point de terminaison de VPC d'interface, l'URL d'invocation execute-api par défaut ne se connecte plus aux API REST privées.
Pour invoquer des API REST privées, effectuez l'une des actions suivantes :
-
Utilisez des en-têtes d'hôte avec votre point de terminaison Amazon VPC comme DNS, comme dans l'exemple suivant :
curl -H "Host: {your-api-id}.execute-api.{region}.amazonaws.com" \ https://Amazon VPC endpoint-xxxxx-xxxxx.execute-api.{region}.Amazon VPC endpoint.amazonaws.com/stage/path -
Créez une zone hébergée privée pour execute-api.{region}.amazonaws.com. Dans la zone privée hébergée, ajoutez un enregistrement A pour votre identifiant d'API. Pointez l'enregistrement A vers les adresses IP du point de terminaison de VPC d'interface afin de pouvoir utiliser l'URL d'invocation execute-api par défaut de l'API REST privée.
Modifier les attributs DNS privés pour un point de terminaison de VPC d'interface
Vous pouvez modifier les attributs DNS privés d'un point de terminaison d'interface. Les modifications affectent la façon dont l'URL d'une étape d'API est résolue en adresse IP privée du point de terminaison de VPC d'interface. Les modifications concernent également la manière dont vous pouvez vous connecter à des API privées et à des API publiques à partir d'un VPC. Pour plus d’informations, consultez la section Attributs DNS de votre VPC.
Informations connexes
Accéder à un service AWS à l’aide d’un point de terminaison de VPC d’interface
- Balises
- Amazon API Gateway
- Langue
- Français
Vidéos associées


Contenus pertinents
- demandé il y a 3 ans
- demandé il y a 2 ans
- demandé il y a 2 ans
- demandé il y a 2 ans
AWS OFFICIELA mis à jour il y a 6 mois