Impossible de sélectionner un certificat SSL personnalisé (stocké dans AWS IAM)

98

Je vais créer une nouvelle distribution chez CloudFront . J'ai déjà téléchargé mon certificat SSL sur AWS IAM à l'aide de l'AWS CLI. Ce certificat apparaît dans la liste déroulante Certificat SSL personnalisé sur la nouvelle page de distribution, mais il est DÉSACTIVÉ .

Quelqu'un peut-il me dire pourquoi? Comment sélectionner mon certificat SSL personnalisé pour cette distribution?

theGeekster
la source
avez-vous téléchargé le certificat en utilisant un compte root?
mohamnag le

Réponses:

124

Il a fallu une journée entière à AWS pour propager le nouveau certificat à tous ses nœuds. Le jour suivant, lorsque je me suis connecté à ma console AWS, le certificat est apparu dans la liste déroulante et a également été activé et j'ai pu configurer la distribution avec succès.

Veillez également à sélectionner us-east-1(Virginie du Nord) lorsque vous effectuez la demande de certificat; c'est la seule région qui le prend en charge pour le moment (même si votre bucket / élément se trouve dans une autre région)

theGeekster
la source
3
Attend
12
Refaire le certificat en Virginie du Nord a résolu mon problème. C'est bizarre certifié a en fait un statut de problème différent dans différentes régions ... lol
Neekey
3
Lors de la création d'une nouvelle distribution CloudFront, Amazon déclare spécifiquement "Vous pouvez utiliser un certificat stocké dans AWS Certificate Manager (ACM) dans la région USA Est (Virginie du Nord), ou vous pouvez utiliser un certificat stocké dans IAM."
Shea
6
Selon docs.aws.amazon.com/acm/latest/userguide/acm-services.html et aws.amazon.com/certificate-manager/faqs , "pour utiliser un certificat ACM avec CloudFront, vous devez demander ou importer le certificat dans la région USA Est (Virginie du Nord) ".
Big Pumpkin
J'ai créé un certificat en utilisant la région du N.Virginia dans ACM et la validation DNS. Cela fonctionnait en 10 minutes.
Deepan Prabhu Babu
39

Seuls les certificats enregistrés dans AWS Certificate Manager (ACM) dans la région USA Est (Virginie du Nord) seront activés pour une utilisation dans CloudFront

Reinaldo Almeida
la source
3
Bien
27
  • Importez le certificat dans IAM ou créez-en un via ACM dans us-east-1, comme indiqué dans les autres commentaires.

  • Attendez que la validation soit terminée, c'est-à-dire pas orange.

  • Chargez la page de modification des paramètres de distribution cloudfront.
  • Si l'option SSL personnalisé est grisée, déconnectez-vous de la console et reconnectez-vous . Après cette étape, l'option grisée est devenue vivante pour moi. J'imagine qu'il est en quelque sorte mis en cache et que la connexion de déconnexion le rafraîchit.
neo01124
la source
2
Quoi?! Nous sommes en 2020 maintenant, c'est toujours la solution.
y3sh
3
Oui, j'ai perdu une heure de ma vie pour comprendre que vous devez vous déconnecter et vous connecter ...
peter_v
C'est la meilleure réponse. C'est la déconnexion / connexion qui a finalement résolu ce problème après avoir enregistré mon certificat ACM.
MillerMedia
19

Attendez quelques minutes et rechargez la distribution settingspage pour voir l'option SSL personnalisée ENABLED .

J'ai eu le même problème, je n'ai pas utilisé mon AWScompte root et le IAMchemin était correctement défini /cloudfront/.

Jonathan Maim
la source
14

J'ai eu des problèmes similaires et cela a fonctionné plus facilement pour moi d'importer le certificat dans AWS Certificate Manager.

Si vous utilisez AWS Certificate Manager avec un compartiment S3, assurez-vous d'importer le certificat dans la région USA Est (Virginie du Nord). À ce jour, c'est la seule région d'ACM qui prend en charge S3. Voir https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html

Ryan Walls
la source
2
Sur place! C'est la solution à ce problème - Merci Ryan
EdsonF
3
Voilà la solution! Lien plus pertinent: docs.aws.amazon.com/acm/latest/userguide/acm-regions.html : pour utiliser un certificat ACM avec Amazon CloudFront, vous devez demander ou importer le certificat dans la région USA Est (Virginie du Nord) . Les certificats ACM de cette région associés à une distribution CloudFront sont distribués à tous les emplacements géographiques configurés pour cette distribution.
illagrenan du
11

Revenez à la page d'accueil de cloudfront après l'émission du certificat et actualisez la page. Ça a marché pour moi

MrAAAAaaaahhhhHHHHHH
la source
2
Whan une situation embarrassante et qui saurait que c'est la solution: D
Ariful Haque
5

La raison pour laquelle il n'apparaît pas maintenant est probablement que le chemin iam que vous avez défini n'est pas / cloudfront / [1]. Vous pouvez utiliser le même cli que vous avez utilisé pour télécharger le certificat pour modifier le chemin par défaut de / ou vous pouvez télécharger à nouveau le certificat. Faites-moi savoir si cela ne résout pas le problème.

  1. http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#CNAMEsAndHTTPS
Imperalix
la source
4

Assurez-vous que vous ne téléchargez pas le certificat à l'aide d'un compte racine AWS. Si vous utilisez un compte root, le certificat sera visible mais vous ne pourrez pas le sélectionner.

Au lieu de cela, créez un nouvel utilisateur IAM avec des droits adéquats (j'ai utilisé un compte avec une stratégie administrative attribuée) et téléchargez le certificat à l'aide de ces informations d'identification. Le certificat devrait alors être disponible.

Kristopher Cargile
la source
Cela a fonctionné pour moi, j'ai créé le certificat en tant qu'utilisateur root mais le paramètre SSL personnalisé a été désactivé lors de la modification de la distribution, même si je pouvais voir le certificat comme une option dans la liste déroulante. Après avoir créé un utilisateur administrateur et connecté avec ce compte, l'option n'était plus désactivée.
Simon L. Brazell
3

Si vous demandez un certificat dans une autre région (pas us-east-1), définissez votre région sur us-east-1 et demandez à nouveau un certificat. Je demande juste le même nom de domaine dans ap-northest-2 et cela fonctionne immédiatement.

utilisateur1035957
la source
1

Utilisez ceci:

{
"Effect": "Allow",
"Action": [
    "iam:DeleteServerCertificate",
    "iam:UploadServerCertificate",
    "iam:ListServerCertificates",
    "iam:GetServerCertificate"
],
    "Resource": "*"
}
d.balu
la source
1
Salut @ d.balu, pourriez-vous s'il vous plaît fournir des explications supplémentaires à votre réponse?
toti08
0

Je vois qu'il y a déjà beaucoup de bonnes réponses, et chacune d'elles peut être la raison pour laquelle vous Custon SSL Certificate section est désactivée. Je pense que je viens d'en trouver un autre et c'était le cas pour moi:

Pour de nombreux "services intégrés", notamment CloudFront, seuls quelques algorithmes et tailles de clé sont pris en charge. J'essayais d'utiliser mon certificat RSA 4096 bits et une clé de longueur adéquate.

Pour le moment, pour une utilisation avec les "services intégrés", AWS n'accepte que des longueurs de clé de 1024 ou 2048 bits.

Mentionné ici: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-prerequisites.html

wiktus239
la source
0

Si le certificat n'apparaît pas dans la liste déroulante, vous pouvez copier et coller l'ARN complet du certificat. L'ARN se trouve dans le Gestionnaire de certificats en sélectionnant le certificat que vous souhaitez utiliser.

user2531882
la source
0

Le compte racine AWS ne peut pas sélectionner un certificat personnalisé dans CloudFront.

Veuillez créer un nouvel utilisateur IAM avec la stratégie ci-dessous et créer une distribution CloudFront avec cet utilisateur et vous pourrez sélectionner un certificat SSL personnalisé.

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": ["*"],
    "Resource": ["*"]
  }]
}
Subhash
la source