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 Gestionnaire de certificats
AWS Le gestionnaire de certificats (ACM)
Assistance aux autorités de certification
CloudFront origin mTLS nécessite des certificats clients 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 ACM ne sont pas disponibles pour les certificats clients mTLS d'origine. CloudFront origin mTLS 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 Utilisation étendue des clés (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é d'une autorité de certification AWS privée tout en vous permettant de contrôler la gestion du cycle de vie des certificats.
-
Third-party Autorités de certification privées : 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 parti des fonctionnalités mTLS CloudFront d'origine. Les certificats doivent inclure l'authentification du client TLS dans le champ Utilisation étendue des clés et doivent être au format PEM avec le certificat, la clé privée et la chaîne de certificats.
Important
Pour les autorités de certification AWS privées et les autorités de certification tierces, 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 fonction de renouvellement automatique d'ACM ne s'applique pas aux certificats importés utilisés pour les mTL d'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 d'ARN de certificats mTLS d'origine unique pouvant être ajoutés ou modifiés par appel d'API de création ou de mise à jour de CloudFront distribution : 5
-
Région : les certificats doivent être stockés dans ACM dans la région de l'est des États-Unis (Virginie du Nord) (us-east-1)
Spécifications des certificats pris en charge
-
Type de certificat : X.509v3
-
Algorithmes à clé publique :
RSA : 2 048 bits
ECDSA : P-256
-
Algorithmes de signature :
SHA256, SHA384, SHA512 avec RSA
SHA256, SHA384, SHA512 avec ECDSA
SHA256, SHA384, SHA512 avec MGF1 RSASSA-PSS
-
Utilisation étendue de la clé (obligatoire) : le certificat nécessite que l'extension Extended Key Usage (EKU) soit définie sur TLS Client Authentication, afin de s'assurer qu'elle est autorisée à des fins mTLS
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 plus de détails 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 les mTLS d'origine, vous devez disposer d'un certificat client dans ACM.
Demandez et importez un certificat depuis AWS Autorisation de certification privée
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 (AWS CLI)
-
Définissez l'ARN de votre autorité de certification privée dans une variable pour faciliter la réutilisation.
PCA_ARN="arn:aws:acm-pca:region:account:certificate-authority/12345678..." -
Utilisez OpenSSL pour générer une clé P-256 privée ECDSA (courbe prime256v1) et une demande de signature de certificat (CSR), en vous assurant que l'indicateur -nodes est utilisé pour conserver la clé privée non 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 certificat nouvellement émis.
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 feuille 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 non chiffrée, le certificat feuille et la chaîne de certificats dans AWS ACM, en utilisant le protocole fileb ://pour gérer correctement les données des fichiers binaires dans l'interface de ligne de commande.
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 provenant de votre autorité de certification au format PEM
Le certificat doit inclure une utilisation étendue de la clé 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 les mTLS d'origine sur votre distribution. CloudFront Pour obtenir des instructions sur l'activation des mTLS d'origine dans CloudFront, consultez la section suivante « Activer le TLS mutuel d'origine pour les CloudFront distributions ».