Comment puis-je résoudre les problèmes liés à l'utilisation d'un certificat SSL personnalisé pour ma distribution CloudFront ?

Date de la dernière mise à jour : 05/10/2020

J'ai un certificat SSL sur les services AWS Certificate Manager (ACM) ou AWS Identity and Access Management (IAM), et je veux l'utiliser pour ma distribution Amazon CloudFront. Lors de la configuration de ma distribution, je n'ai pas la possibilité de sélectionner mon certificat SSL personnalisé. Je ne peux pas sélectionner le certificat SSL même si je peux utiliser le même certificat avec mon équilibreur de charge. Ou, je reçois une erreur « InvalidViewerCertificate ». Comment puis-je résoudre ce problème ?

Résolution

Pour résoudre les problèmes liés à l'utilisation d'un certificat SSL personnalisé avec votre distribution CloudFront, vérifiez les points suivants :

Résoudre l'erreur « InvalidViewerCertificate »

Si vous obtenez une erreur « InvalidViewerCertificate » lorsque vous essayez de créer ou de mettre à jour une distribution, consultez Comment résoudre l'exception d'erreur « InvalidViewerCertificate » lors de la création ou de la mise à jour d'une distribution CloudFront ?

Si vous utilisez un certificat demandé par ACM ou importé dans celui-ci, vérifiez que votre certificat répond aux exigences

  • Pour attribuer un certificat ACM à une distribution CloudFront, vous devez demander ou importer le certificat dans la région USA Est (Virginie du Nord). Si vous utilisez la console ACM, vérifiez le sélecteur de région dans la barre de navigation. Vérifiez que la case USA Est (Virginie du Nord) est sélectionnée avant de demander ou d'importer le certificat.
    Remarque : une fois que vous avez attribué un certificat ACM à une distribution CloudFront, le certificat est distribué sur tous les emplacements périphériques pour la classe de prix de la distribution CloudFront.
  • Une fois que vous avez validé votre certificat ACM à l'aide de la validation DNS ou de la validation par e-mail, assurez-vous que le statut du certificat affiche Issued (Émis). L'état doit être Issued (Émis) avant que vous ne puissiez attribuer le certificat à une distribution CloudFront.
  • Le certificat doit être un certificat RSA de 2 048 bits ou moins. Bien qu'ACM prenne en charge des certificats RSA de 1 024 à 4 096 bits, les services comme CloudFront qui sont intégrés à ACM prennent en charge des certificats RSA d'un maximum de 2 048 bits.
  • Pour les certificats importés, vous devez vous assurer qu'ils respectent les conditions requises pour l'importation d'un certificat.

Si vous utilisez un certificat importé dans IAM, vérifiez le chemin d'accès CloudFront.

Lorsque vous importez votre certificat SSL dans IAM, vous devez fournir le chemin d'accès correct afin que CloudFront puisse utiliser le certificat. Exécutez la commande de l'interface de ligne de commande AWS (CLI AWS) suivante pour charger votre certificat avec un chemin d'accès CloudFront spécifié :

Remarque : avant d'exécuter cette commande, assurez-vous de remplacer toutes les valeurs par les détails de votre certificat et de votre distribution CloudFront.

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

Remarque : si vous recevez des erreurs lors de l'exécution des commandes de l'interface de ligne de commande (CLI) AWS, vérifiez que vous utilisez la toute dernière version de l’interface de ligne de commande (CLI) AWS

Si vous n'avez pas chargé votre certificat avec le chemin d'accès CloudFront, exécutez cette commande pour mettre à jour votre certificat avec le chemin d'accès :

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

Remarque : une fois que vous avez ajouté un certificat à une distribution CloudFront, l'état de la distribution passe de Deployed (Déployée) à In Progress (En cours). L'état de la distribution redevient Deployed (Déployée) lorsque la modification est déployée sur tous les emplacements périphériques CloudFront. Le temps de déploiement classique est de 5 minutes.

Confirmez que vous disposez des autorisations requises.

Pour attribuer un certificat fourni par ACM ou IAM à la distribution CloudFront, l'utilisateur ou le rôle IAM que vous utilisez pour attribuer le certificat doit au moins 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"
        }
    ]
}

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?