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.
Gestion des certificats avec AWS Certificate Manager
AWS Certificate Manager (ACM)
Assistance aux autorités de certification
CloudFront Le protocole TLS mutuel (origine) nécessite des certificats client avec utilisation étendue des clés (EKU) pour l'authentification client TLS. En raison de cette exigence, vous devez émettre des certificats auprès de votre autorité de certification et les importer dans AWS Certificate Manager. Les fonctionnalités de provisionnement et de renouvellement automatiques des certificats d'ACM ne sont pas disponibles pour les certificats clients TLS (origine) mutuels. CloudFront Le protocole TLS mutuel (origine) prend en charge les certificats clients provenant de deux sources :
-
AWS Autorité de certification privée : vous pouvez émettre des certificats depuis AWS une autorité de certification privée à l'aide de modèles de certificats qui incluent l'authentification du client TLS dans le champ Extended Key Usage (tel que le EndEntityClientAuthCertificate modèle). Après avoir émis le certificat par AWS Private CA, vous devez l'importer dans ACM dans la région USA Est (Virginie du Nord) (us-east-1). Cette approche offre les avantages de sécurité de l'autorité de certification AWS privée tout en vous permettant de contrôler la gestion du cycle de vie des certificats.
-
Autorités de certification privées tierces : vous pouvez également émettre des certificats à partir de votre infrastructure d'autorité de certification privée existante et les importer dans ACM. Cela vous permet de maintenir vos processus actuels de gestion des certificats tout en tirant CloudFront parti des fonctionnalités TLS (origine) mutuelles. Les certificats doivent inclure l'authentification du client TLS dans le champ Utilisation étendue de la clé et doivent être au format PEM avec le certificat, la clé privée et la chaîne de certificats.
Important
Que ce soit pour une autorité de certification AWS privée ou tierce CAs, vous êtes responsable de la surveillance des dates d'expiration des certificats et de l'importation des certificats renouvelés dans ACM avant leur expiration. La fonctionnalité de renouvellement automatique d'ACM ne s'applique pas aux certificats importés utilisés pour le protocole TLS mutuel (origine).
Exigences et spécifications relatives aux certificats
Exigences relatives aux certificats clients
-
Format : format PEM (Privacy Enhanced Mail)
-
Composants : certificat, clé privée et chaîne de certificats
-
Profondeur maximale de la chaîne de certificats : 3 (certificat feuille + certificat intermédiaire + certificat racine)
-
Taille maximale de la chaîne de certificats : 64 Ko
-
Taille du certificat : ne peut pas dépasser 96 Ko
-
Taille maximale de la clé privée : 5 Ko (restriction ACM)
-
Nombre maximum de certificats mTLS d'origine uniques ARNs pouvant être ajoutés ou modifiés par appel d'API de création ou de mise à jour d'une CloudFront distribution : 5
-
Région : Les certificats doivent être stockés dans ACM dans la région USA Est (Virginie du Nord) (us-east-1)
Spécifications des certificats pris en charge
-
Type de certificat : X.509v3
-
Algorithmes à clé publique :
RSA : 2048 bits
ECDSA : P-256
-
Algorithmes de signature :
SHA256 SHA384, SHA512 avec RSA
SHA256 SHA384, SHA512 avec ECDSA
SHA256 SHA384, SHA512 avec RASSA-PSS avec MGF1
-
Utilisation étendue des clés (obligatoire) : le certificat nécessite que l'extension Extended Key Usage (EKU) soit définie sur Authentification client TLS, afin de garantir qu'il est autorisé aux fins du protocole MTL
Exigences relatives aux certificats de serveur
Vos serveurs d'origine doivent présenter des certificats provenant d'autorités de certification reconnues publiquement lors de la prise de contact TLS mutuelle. Pour obtenir des informations complètes sur les exigences relatives aux certificats du serveur d'origine, consultez la section Exigences relatives à l'utilisation de SSL/TLS certificats avec CloudFront.
Demander ou importer un certificat
Avant d'activer le protocole TLS mutuel (origine), vous devez disposer d'un certificat client dans ACM.
Demander et importer un certificat auprès de AWS Private CA
Prérequis :
Une autorité de certification AWS privée configurée dans votre compte
Autorisation d'émettre des certificats depuis AWS une autorité de certification privée
Autorisation d'importer des certificats dans ACM
Un modèle de certificat (ARN) adapté à votre cas d'utilisation
Extended key usage:TLS web client authenticationInstallez OpenSSL AWS , CLI et jq (pour analyser le JSON).
Pour demander un certificat à la PCA et l'importer dans ACM (CLI)AWS
-
Définissez votre ARN CA privé dans une variable pour une réutilisation plus facile.
PCA_ARN="arn:aws:acm-pca:region:account:certificate-authority/12345678..." -
Utilisez OpenSSL pour générer une clé privée ECDSA P-256 (courbe prime256v1) et une demande de signature de certificat (CSR), en vous assurant que l'indicateur -nodes est utilisé pour que la clé privée ne soit pas chiffrée, comme l'exige l'importation ACM.
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes \ -keyout private.key \ -out request.csr \ -subj "/CN=client.example.com" -
Soumettez le CSR à votre autorité de certification AWS privée pour émettre un certificat, qui renvoie l'ARN du nouveau certificat.
CERT_ARN=$(aws acm-pca issue-certificate \ --certificate-authority-arn "$PCA_ARN" \ --csr fileb://request.csr \ --signing-algorithm "SHA256WITHECDSA" \ --validity Value=365,Type="DAYS" \ --template-arn arn:aws:acm-pca:::template/EndEntityCertificate/V1 \ --query 'CertificateArn' --output text) -
Récupérez le bundle de certificats auprès de AWS PCA à l'aide de la commande get-certificate, qui renvoie à la fois le certificat leaf et la chaîne, puis utilisez jq pour les séparer en fichiers distincts.
# Retrieve the full certificate bundle in JSON format aws acm-pca get-certificate \ --certificate-authority-arn "$PCA_ARN" \ --certificate-arn "$CERT_ARN" \ --output json > full_cert.json # Split into Leaf and Chain jq -r '.Certificate' full_cert.json > leaf_cert.pem jq -r '.CertificateChain' full_cert.json > cert_chain.pem -
Importez la clé privée, le certificat feuille et la chaîne de certificats non chiffrés dans AWS ACM, en utilisant le protocole fileb ://pour gérer correctement les données des fichiers binaires dans la CLI.
aws acm import-certificate \ --certificate fileb://leaf_cert.pem \ --private-key fileb://private.key \ --certificate-chain fileb://cert_chain.pem \ --region us-east-1 \ --query 'CertificateArn' \ --output text
Importer un certificat depuis une autorité de certification tierce
Prérequis :
Un certificat, une clé privée non chiffrée et une chaîne de certificats de votre autorité de certification au format PEM
Le certificat doit inclure l'utilisation étendue des clés pour l'authentification du client TLS
Autorisations d'importation de certificats dans ACM
Pour importer un certificat dans ACM (AWS CLI)
aws acm import-certificate \ --certificate fileb://certificate.pem \ --private-key fileb://private-key.pem \ --certificate-chain fileb://certificate-chain.pem \ --region us-east-1 \ --query 'CertificateArn' \ --output text
Étapes suivantes
Après avoir obtenu ou importé votre certificat client dans ACM, vous pouvez configurer votre serveur d'origine pour exiger une authentification TLS mutuelle et activer le protocole TLS mutuel (origine) sur votre distribution. CloudFront Pour obtenir des instructions sur l'activation du protocole TLS mutuel (origine) dans CloudFront, consultez la section suivante « Activer le protocole TLS mutuel (origine) pour les CloudFront distributions ».