Chiffrement des données dans Amazon API Gateway - Amazon API Gateway

Chiffrement des données dans Amazon API Gateway

La protection des données fait référence au fait de protéger les données pendant leur transit (lorsqu’elles sont transmises en direction ou en provenance d’API Gateway) et au repos (lorsqu’elles sont stockées dans AWS).

Chiffrement des données au repos dans Amazon API Gateway

Si vous choisissez d’activer la mise en cache pour une API REST, vous pouvez activer le chiffrement du cache. Pour en savoir plus, consultez la section Paramètres du cache des API REST dans API Gateway.

Pour en savoir plus sur la protection des données, consultez le billet de blog Modèle de responsabilité partagée AWS et RGPD sur le Blog sur la sécurité d’AWS.

Chiffrement et déchiffrement de la clé privée de votre certificat

Lorsque vous créez un nom de domaine personnalisé pour des API privées, votre certificat ACM et votre clé privée sont chiffrés à l’aide d’une clé KMS gérée par AWS portant l’alias aws/acm. Vous pouvez afficher l’ID de clé portant cet alias dans la console AWS KMS sous Clés gérées par AWS.

API Gateway n’accède pas directement à vos ressources ACM. Il utilise AWS TLS Connection Manager pour sécuriser les clés privées de votre certificat et y accéder. Lorsque vous utilisez votre certificat ACM pour créer un nom de domaine personnalisé API Gateway pour des API privées, API Gateway associe votre certificat à AWS TLS Connection Manager. Pour cela, une autorisation est créée dans AWS KMS pour votre clé gérée par AWS avec le préfixe aws/acm. Une autorisation est un instrument de politique qui autorise TLS Connection Manager à utiliser des clés KMS dans les opérations de chiffrement. Elle permet au principal bénéficiaire (TLS Connection Manager) d’appeler les opérations d’autorisation spécifiées sur la clé KMS pour déchiffrer la clé privée de votre certificat. TLS Connection Manager utilise ensuite 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 nom de domaine personnalisé API Gateway pour les API privées, l’autorisation est supprimée.

Si vous souhaitez supprimer l’accès à la clé KMS, nous vous recommandons de remplacer ou de supprimer le certificat du service à l’aide de la AWS Management Console ou de la commande update-service de l’AWS CLI.

Contexte de chiffrement pour API Gateway

Un contexte de chiffrement est un ensemble optionnel de paires clé-valeur contenant des informations contextuelles sur l’utilisation possible de vos clés privées. AWS KMS lie le contexte de chiffrement aux données chiffrées et l’utilise comme données authentifiées supplémentaires pour prendre en charge le chiffrement authentifié.

Lorsque vos clés TLS sont utilisées avec API Gateway et TLS Connection Manager, le nom de votre service API Gateway est inclus dans le contexte de chiffrement utilisé pour chiffrer votre clé au repos. Vous pouvez vérifier le nom de domaine personnalisé API Gateway pour lequel votre certificat et votre clé privée sont utilisés en consultant le contexte de chiffrement dans vos journaux CloudTrail, comme indiqué dans la section suivante, ou en consultant l’onglet Ressources associées de la console ACM.

Pour déchiffrer des données, le même contexte de chiffrement est inclus dans la demande. API Gateway utilise le même contexte de chiffrement dans toutes les opérations cryptographiques AWS KMS, où la clé est aws:apigateway:arn et la valeur est l’Amazon Resource Name (ARN) de la ressource PrivateDomainName d’API Gateway.

L’exemple suivant présente le contexte de chiffrement dans la sortie d’une opération telle que CreateGrant.

"constraints": { "encryptionContextEquals": { "aws:acm:arn": "arn:aws:acm:us-west-2:859412291086:certificate/9177097a-f0ae-4be1-93b1-19f911ea4f88", "aws:apigateway:arn": "arn:aws:apigateway:us-west-2:859412291086:/domainnames/denytest-part1.pdx.sahig.people.aws.dev+cbaeumzjhg" } }, "operations": [ "Decrypt" ], "granteePrincipal": "tlsconnectionmanager.amazonaws.com"

Chiffrement des données en transit dans Amazon API Gateway

Les API créées avec Amazon API Gateway présentent uniquement des points de terminaison HTTPS. API Gateway ne prend pas en charge les points de terminaison non chiffrés (HTTP).

API Gateway gère les certificats pour les points de terminaison execute-api par défaut. Si vous configurez un nom de domaine personnalisé, vous spécifiez le certificat correspondant. La meilleure pratique consiste à ne pas épingler les certificats.

Pour plus de sécurité, vous pouvez choisir une version de protocole TLS (Transport Layer Security) minimale à appliquer pour votre domaine personnalisé API Gateway. Les API WebSocket et les API HTTP ne prennent en charge que TLS 1.2. Pour en savoir plus, consultez la section Sélection d’une politique de sécurité pour le domaine personnalisé de votre API REST dans API Gateway.

Vous pouvez également configurer une distribution Amazon CloudFront avec un certificat SSL personnalisé dans votre compte et l’utiliser avec des API régionales. Vous pouvez ensuite configurer la politique de sécurité pour la distribution CloudFront avec TLS 1.1 ou supérieur, en fonction de vos exigences de sécurité et de conformité.

Pour plus d’informations sur la protection des données, consultez Protection de vos API REST dans API Gateway et la publication de blog Responsabilité partagée AWS et RGPD sur le Blog de sécurité AWS.