Passer au contenu

Pourquoi ne puis-je pas choisir un certificat SSL/TLS personnalisé pour ma distribution CloudFront ?

Lecture de 5 minute(s)
0

Je souhaite utiliser un certificat SSL/TLS personnalisé lorsque je configure ma distribution Amazon CloudFront, mais je n'ai pas la possibilité de le choisir.

Brève description

L'option de certificat SSL/TLS personnalisé pour votre distribution CloudFront peut ne pas apparaître dans les scénarios suivants :

  • Votre certificat est stocké dans une autre région AWS.
  • La validation du certificat AWS Certificate Manager (ACM) a échoué.
  • Le certificat a expiré.
  • Vous ne disposez pas des autorisations de Gestion des identités et des accès AWS (AWS IAM) requises pour afficher ou sélectionner des certificats.

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 la configuration de votre certificat

Effectuez les actions de résolution de problèmes suivantes en fonction de la configuration de votre distribution CloudFront.

Certificats ACM

Si vous utilisez un certificat demandé depuis ou importé vers ACM, vérifiez que votre certificat répond aux exigences suivantes :

Pour plus d’informations, consultez la section Pourquoi ne puis-je pas trouver mon certificat ACM importé pour mon équilibreur de charge ou ma distribution CloudFront ?

Certificats importés dans IAM

Si vous avez importé votre certificat SSL/TLS dans IAM, vérifiez que vous avez utilisé le chemin CloudFront correct. Exécutez la commande de l'AWS CLI upload-server-certificate suivante pour charger votre certificat avec un chemin CloudFront spécifique :

aws iam upload-server-certificate
 --server-certificate-name CertificateName
 --certificate-body file://public_key_certificate_file.pem
 --private-key file://privatekey.pem
 --certificate-chain file://certificate_chain_file.pem
 --path /cloudfront/DistributionName/

Remarque : Remplacez CertificateName par le nom de votre certificat, file://public_key_certificate_file par votre clé publique et file://privatekey.pem par votre clé privée. Remplacez également file://certificate_chain_file par votre chaîne de certificats et DistributionName par le nom de votre distribution CloudFront.

Si vous n'avez pas chargé votre certificat avec le chemin CloudFront, exécutez la commande update-server-certificate suivante pour mettre à jour votre certificat avec le chemin :

aws iam update-server-certificate
 --server-certificate-name CertificateName
 --new-path /cloudfront/DistributionName/

Remarque : Remplacez CertificateName par le nom de votre certificat et DistributionName par le nom de votre distribution CloudFront. Une fois que vous avez ajouté un certificat à une distribution CloudFront, le statut de la distribution passe de Déployé à En cours. Une fois que CloudFront a déployé les modifications sur tous les emplacements périphériques, l'état de distribution revient à Déployé. Le temps de déploiement type est de 5 minutes.

Vérifier les autorisations de votre certificat

Vérifiez que vous disposez des autorisations nécessaires lorsque vous attribuez un certificat d'ACM ou d'IAM à la distribution CloudFront

L'utilisateur ou le rôle IAM que vous utilisez pour attribuer le certificat doit disposer des autorisations suivantes :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "acm:ListCertificates",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudfront:ListDistributions",
                "cloudfront:ListStreamingDistributions"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudfront:List*",
                "cloudfront:Get*",
                "cloudfront:Update*"
            ],
            "Resource": "arn:aws:cloudfront::account-id:distribution/distribution-id"
        },
        {
            "Effect": "Allow",
            "Action": "iam:ListServerCertificates",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetServerCertificate",
                "iam:UpdateServerCertificate"
            ],
            "Resource": "arn:aws:iam::account-id:server-certificate/certificate-name-with-path"
        }
    ]
}

Résolution de problèmes supplémentaires

Si vous avez importé votre certificat SSL/TLS dans IAM, vérifiez que la chaîne de certificats utilise l’ordre approprié et que le certificat n'a pas expiré. Pour plus d'informations, consultez la section Comment charger et importer un certificat SSL dans IAM ?

Pour utiliser plusieurs noms de domaine dans votre distribution CloudFront, demandez ou générez un seul certificat SSL/TLS qui inclut tous les domaines requis. Par défaut, ACM prend en charge jusqu'à 100 domaines pour chaque certificat.

Remarque : Vous ne pouvez pas associer plusieurs certificats SSL/TLS (Transport Layer Security) à une seule distribution CloudFront.

Informations connexes

Comment utiliser ACM pour résoudre l'erreur de nom de domaine de distribution CloudFront ?"InvalidViewerCertificate"

Exigences relatives à l'utilisation de certificats SSL/TLS avec CloudFront