Noms de domaine personnalisés pour les API privées dans API Gateway
Vous pouvez créer un nom de domaine personnalisé pour vos API privées. Utilisez un nom de domaine personnalisé privé pour fournir aux appelants d’API une URL plus simple et plus intuitive. Avec un nom de domaine personnalisé privé, vous pouvez réduire la complexité, configurer des mesures de sécurité lors de la liaison TLS et contrôler le cycle de vie des certificats de votre nom de domaine à l’aide d’AWS Certificate Manager (ACM). Pour plus d’informations, consultez Sécurisation de la clé privée du certificat pour votre nom de domaine personnalisé.
Les noms de domaine personnalisés des API privées n’ont pas besoin d’être propres à un compte. Vous pouvez créer example.private.com dans les comptes 111122223333 et 555555555555, à condition que votre certificat ACM couvre le nom de domaine. Pour identifier un nom de domaine personnalisé privé, utilisez l’ARN du nom de domaine en question. Cet identifiant est propre aux noms de domaine personnalisés privés.
Lorsque vous créez un nom de domaine personnalisé privé dans API Gateway, vous êtes un fournisseur d’API. Vous pouvez fournir votre nom de domaine personnalisé privé à d’autres Comptes AWS à l’aide d’API Gateway ou d’AWS Resource Access Manager (AWS RAM).
Lorsque vous invoquez un nom de domaine personnalisé privé, vous êtes un utilisateur d’API. Vous pouvez utiliser un nom de domaine personnalisé privé de votre Compte AWS ou d’un autre Compte AWS.
Lorsque vous utilisez un nom de domaine personnalisé privé, vous créez une association d’accès au nom de domaine entre le point de terminaison d’un VPC et un nom de domaine personnalisé privé. Avec une association d’accès au nom de domaine, les utilisateurs d’API peuvent invoquer votre nom de domaine personnalisé privé tout en étant isolés de l’Internet public. Pour plus d’informations, consultez Tâches des fournisseurs d’API et des utilisateurs d’API pour les noms de domaine personnalisés pour les API privées.
Sécurisation de la clé privée du certificat pour votre nom de domaine personnalisé
Lorsque vous demandez un certificat SSL/TLS à l’aide d’ACM pour créer votre nom de domaine personnalisé pour des API privées, ACM génère une paire de clés publique/privée. Lorsque vous importez un certificat, vous générez la paire de clés. La clé publique devient partie intégrante du certificat. Pour stocker la clé privée en toute sécurité, ACM crée une autre clé à l’aide d’AWS KMS, appelée clé KMS, avec l’alias aws/acm. AWS KMS utilise cette clé pour chiffrer la clé privée de votre certificat. Pour plus d’informations, consultez Protection des données dans AWS Certificate Manager dans le Guide de l’utilisateur AWS Certificate Manager.
API Gateway utilise AWS TLS Connection Manager, un service qui n’est accessible qu’aux Services AWS, pour sécuriser et utiliser les clés privées de votre certificat. Lorsque vous utilisez votre certificat ACM pour créer un nom de domaine personnalisé API Gateway, API Gateway associe votre certificat à AWS TLS Connection Manager. Pour ce faire, nous créons dans AWS KMS une autorisation pour votre clé gérée par AWS. Cette autorisation permet à TLS Connection Manager d’utiliser AWS KMS pour déchiffrer la clé privée de votre certificat. TLS Connection Manager utilise le certificat et la clé privée déchiffrée (texte brut) pour établir une connexion sécurisée (session SSL/TLS) avec les clients des services API Gateway. Lorsque le certificat est dissocié d’un service API Gateway, l’autorisation est supprimée. Pour plus d’informations, consultez Grants dans le Guide du développeur AWS Key Management Service.
Pour plus d’informations, consultez Chiffrement des données au repos dans Amazon API Gateway.
Considérations relatives aux noms de domaine personnalisés privés
Les considérations suivantes peuvent avoir un impact sur votre utilisation des noms de domaine personnalisés privés :
-
API Gateway a besoin d’environ 15 minutes pour configurer votre nom de domaine personnalisé privé.
-
Si vous mettez à jour votre certificat ACM, il faut environ 15 minutes à API Gateway pour effectuer la mise à jour. Pendant ce temps, votre nom de domaine est dans l’état
UPDATINGet vous pouvez toujours y accéder. -
Pour invoquer un nom de domaine personnalisé privé, vous devez créer une association d’accès au nom de domaine personnalisé. Une fois l’association d’accès au nom de domaine créée, il faut compter environ 15 minutes pour qu’elle soit prête.
-
L’ARN du nom de domaine personnalisé privé contient
account-id. Lorsque vous créez un nom de domaine, API Gateway utilise le format ARN d’arn:. Lorsque vous accédez à un nom de domaine personnalisé privé, vous utilisez le format ARN d’partition:apigateway:region::/domainnamesarn:.partition:apigateway:region:account-id:/domainnames/domain-nameVous devrez peut-être modifier vos autorisations IAM pour autoriser l’accès à un nom de domaine privé après l’avoir créé.
-
Vous ne pouvez pas invoquer des noms de domaines personnalisés privés portant le même nom à partir du même point de terminaison de VPC. Par exemple, si vous souhaitez invoquer
arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234etarn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+xyz000, associez chaque nom de domaine personnalisé privé à un point de terminaison de VPC différent. -
Les certificats génériques sont pris en charge, par exemple un certificat pour
*.private.example.com. -
Les noms de domaine personnalisés génériques ne sont pas pris en charge.
-
Seuls les certificats RSA avec une longueur de clé de 2 048 bits et les certificats ECDSA avec des longueurs de clé de 256 et 384 bits sont pris en charge.
-
Vous ne pouvez pas définir de type d’adresse IP pour les API privées afin d’autoriser uniquement les adresses IPv4 à invoquer votre API privée. Seule l’option Dualstack est prise en charge. Pour plus d’informations, consultez Types d’adresses IP pour les API REST dans API Gateway.
-
Pour envoyer du trafic à l’aide de votre API privée, vous pouvez utiliser tous les types d’adresses IP pris en charge par Amazon VPC. Vous pouvez envoyer du trafic à double pile et IPv6 en configurant les paramètres de votre point de terminaison de VPC. Vous ne pouvez pas le modifier à l’aide d’API Gateway. Pour plus d’informations, consultez Ajout de la prise en charge d’IPv6 pour votre VPC.
-
Le mappage de chemins de base à plusieurs niveaux, tel que le mappage de votre API privée à
/developers/feature, n’est pas pris en charge, mais vous pouvez utiliser une règle de routage pour créer une condition de chemin à plusieurs niveaux. Pour plus d’informations, consultez Envoi du trafic à vos API via votre nom de domaine personnalisé dans API Gateway. -
Vous ne pouvez pas définir de version TLS minimale pour votre nom de domaine personnalisé privé. Tous les noms de domaine personnalisés privés ont la politique de sécurité de
TLS-1-2. -
Vous pouvez utiliser une politique de point de terminaison de VPC pour contrôler l’accès à un nom de domaine personnalisé privé. Pour plus d’informations, consultez les exemples 4 et 5 de la section Utilisation de politiques de point de terminaison de VPC pour des API privées dans API Gateway.
-
Vous devez créer une politique de ressources distincte pour votre API privée et pour votre nom de domaine personnalisé privé. Pour invoquer un nom de domaine personnalisé privé, un utilisateur d’API doit avoir accès à la politique de ressources du nom de domaine personnalisé privé, à la politique de ressources de l’API privée et à toute politique ou autorisation de point de terminaison de VPC sur l’API privée.
Considérations relatives à l’utilisation de noms de domaine personnalisés privés avec d’autres ressources API Gateway
Les considérations suivantes peuvent avoir un impact sur la manière dont vous utilisez les noms de domaine personnalisés privés avec d’autres ressources API Gateway :
-
Vous ne pouvez pas envoyer du traffic d’un nom de domaine personnalisé privé vers une API publique.
-
Lorsqu’une API privée est mappée à un nom de domaine personnalisé privé, vous ne pouvez pas modifier le type de point de terminaison de l’API.
-
Vous ne pouvez pas migrer un nom de domaine personnalisé public vers un nom de domaine personnalisé privé.
-
Si vous utilisez un point de terminaison de VPC pour accéder à un nom de domaine personnalisé public, ne l’utilisez pas pour créer une association d’accès au nom de domaine avec un nom de domaine personnalisé privé.
Différences entre les noms de domaine personnalisés privés et les noms de domaine personnalisés publics
Les différences entre les noms de domaine personnalisés privés et publics sont décrites ci-dessous :
-
Les noms de domaine personnalisés privés n’ont pas besoin d’être propres à un compte.
-
Un nom de domaine privé possède un identifiant de nom de domaine. Cet ID identifie de manière unique un nom de domaine personnalisé privé. Il n’est pas généré pour les noms de domaine personnalisés publics.
-
Lorsque vous utilisez l’AWS CLI pour mettre à jour ou supprimer votre nom de domaine personnalisé privé, vous devez fournir l’ID du nom de domaine. Si vous possédez un nom de domaine personnalisé privé
example.comet un nom de domaine public personnaliséexample.comet que vous ne fournissez pas l’ID du nom de domaine, API Gateway modifiera ou supprimera votre nom de domaine public personnalisé public.
Prochaines étapes pour les noms de domaine personnalisés pour les API privées
Pour plus d’informations sur les tâches d’un fournisseur d’API et d’un utilisateur d’API, consultez Tâches des fournisseurs d’API et des utilisateurs d’API pour les noms de domaine personnalisés pour les API privées.
Pour savoir comment créer un nom de domaine personnalisé privé que vous pouvez invoquer dans votre propre Compte AWS, consultez Didacticiel : création et invocation d’un nom de domaine personnalisé pour les API privées.
Pour savoir comment donner à un autre Compte AWS l’accès à votre nom de domaine personnalisé privé, consultez Fournisseur d’API : partage de votre nom de domaine personnalisé privé à l’aide d’AWS RAM. Pour savoir comment associer votre point de terminaison de VPC à un nom de domaine personnalisé privé d’un autre Compte AWS, consultez Utilisateur d’API : association de votre point de terminaison de VPC à un nom de domaine personnalisé privé partagé avec vous.