Benutzerdefiniertes SSL-Zertifikat (in AWS IAM gespeichert) kann nicht ausgewählt werden

96

Ich werde eine neue Distribution bei CloudFront erstellen . Ich habe mein SSL-Zertifikat bereits bei AWS IAM mithilfe der AWS CLI hochgeladen. Dieses Zertifikat wird in der Dropdown-Liste Benutzerdefiniertes SSL-Zertifikat auf der neuen Verteilungsseite angezeigt, ist jedoch DEAKTIVIERT .

Kann mir jemand sagen warum es so ist? Wie wähle ich mein benutzerdefiniertes SSL-Zertifikat für diese Distribution aus?

theGeekster
quelle
Haben Sie das Zertifikat über das Root-Konto hochgeladen?
Mohamnag

Antworten:

123

AWS brauchte einen ganzen Tag, um das neue Zertifikat an alle Knoten weiterzugeben. Als ich mich am nächsten Tag bei meiner AWS-Konsole anmeldete, wurde das Zertifikat in der Dropdown-Liste angezeigt und war ebenfalls aktiviert. Ich konnte die Verteilung erfolgreich konfigurieren.

Stellen Sie außerdem sicher, dass Sie us-east-1(N. Virginia) auswählen, wenn Sie die Zertifikatanforderung stellen. Dies ist derzeit die einzige Region, die dies unterstützt (auch wenn sich Ihr Bucket / Asset in einer anderen Region befindet.)

theGeekster
quelle
3
Ich habe
12
Wiederholen Sie das Zertifikat in N. Virginia, um mein Problem zu lösen. Es ist seltsam zertifiziert hat tatsächlich unterschiedliche Problemstatus in verschiedenen Regionen ... lol
Neekey
3
Beim Erstellen einer neuen CloudFront-Distribution gibt Amazon ausdrücklich an: "Sie können ein Zertifikat verwenden, das in AWS Certificate Manager (ACM) in der Region US East (N. Virginia) gespeichert ist, oder Sie können ein in IAM gespeichertes Zertifikat verwenden."
Shea
6
Laut docs.aws.amazon.com/acm/latest/userguide/acm-services.html und aws.amazon.com/certificate-manager/faqs "müssen Sie das ACM-Zertifikat anfordern oder importieren, um ein ACM-Zertifikat mit CloudFront zu verwenden Zertifikat in der Region US East (N. Virginia) ".
Big Pumpkin
Ich habe ein Zertifikat mit der Region N. Virginia in ACM und der DNS-Validierung erstellt. Es funktionierte in 10 Minuten.
Deepan Prabhu Babu
38

Für die Verwendung in CloudFront werden nur Zertifikate aktiviert, die in AWS Certificate Manager (ACM) in der Region US East (N. Virginia) registriert sind

Reinaldo Almeida
quelle
3
Schön, dass es irgendwo dokumentiert wurde: D
Baconbeastnz
27
  • Importieren Sie ein Zertifikat in IAM oder erstellen Sie eines über ACM in us-east-1, wie in den anderen Kommentaren erwähnt.

  • Warten Sie, bis die Validierung abgeschlossen ist, dh nicht orange.

  • Laden Sie die Bearbeitungsseite für die Cloudfront-Verteilungseinstellung.
  • Wenn die Option Benutzerdefiniertes SSL ausgegraut ist, melden Sie sich von der Konsole ab und wieder an. Nach diesem Schritt wurde die ausgegraute Option für mich aktiviert. Ich stelle mir vor, dass es irgendwie zwischengespeichert wird und das Logout-Login es aktualisiert.
neo01124
quelle
2
Was?! Es ist jetzt 2020, das ist eigentlich immer noch die Lösung.
y3sh
3
Ja, ich habe eine Stunde meines Lebens verloren, um herauszufinden, dass Sie sich
abmelden
Dies ist die beste Antwort. Das Abmelden / Anmelden hat dies letztendlich für mich behoben, nachdem ich mein ACM-Zertifikat registriert habe.
MillerMedia
19

Warten Sie einfach einige Minuten und laden Sie die distribution settingsSeite neu, um die benutzerdefinierte SSL-Option AKTIVIERT anzuzeigen .

Ich hatte das gleiche Problem, habe mein AWSRoot-Konto nicht verwendet und der IAMPfad wurde korrekt eingestellt /cloudfront/.

Jonathan Maim
quelle
15

Melden Sie sich bei der Konsole an und verwenden Sie diese URL: https://console.aws.amazon.com/acm/home?region=us-east-1#/wizard/. Es wird funktionieren. Der Schlüssel ist die Region.

Philip
quelle
2
Ja, das hat auch bei mir sofort funktioniert. (Ich ging dann zurück und löschte einfach das Zertifikat, das ich unter region = us-west-2 gemacht hatte)
Terje Dahl
14

Ich hatte ähnliche Probleme und es funktionierte reibungsloser, das Zertifikat in AWS Certificate Manager zu importieren.

Wenn Sie AWS Certificate Manager mit einem S3-Bucket verwenden, stellen Sie sicher, dass Sie das Zertifikat in die Region US East (N. Virginia) importieren. Bis heute ist dies die einzige Region in ACM, die S3 unterstützt. Siehe https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html

Ryan Walls
quelle
2
Genau richtig! Dies ist die Lösung für dieses Problem - Danke Ryan
EdsonF
3
Das ist die Lösung! Relevanterer Link: docs.aws.amazon.com/acm/latest/userguide/acm-regions.html : Um ein ACM-Zertifikat mit Amazon CloudFront zu verwenden, müssen Sie das Zertifikat in der Region US East (N. Virginia) anfordern oder importieren . ACM-Zertifikate in dieser Region, die einer CloudFront-Verteilung zugeordnet sind, werden an alle für diese Verteilung konfigurierten geografischen Standorte verteilt.
Illagrenan
9

Kehren Sie nach Ausstellung des Zertifikats zur Cloudfront-Homepage zurück und aktualisieren Sie die Seite. Es hat bei mir funktioniert

MrAAAAaaaahhhhHHHHHH
quelle
1
Was eine peinliche Situation ist und wer das wissen würde, ist die Lösung: D
Ariful Haque
5

Der Grund, warum es jetzt nicht angezeigt wird, ist wahrscheinlich, dass der von Ihnen festgelegte iam-Pfad nicht / cloudfront / [1] ist. Sie können dieselbe CLI verwenden, mit der Sie das Zertifikat hochgeladen haben, um den Standardpfad von / zu ändern, oder Sie können das Zertifikat erneut hochladen. Lassen Sie mich wissen, wenn dies das Problem nicht behebt.

  1. http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#CNAMEsAndHTTPS
imperalix
quelle
4

Stellen Sie sicher, dass Sie das Zertifikat nicht mit einem AWS-Stammkonto hochladen. Wenn Sie ein Root-Konto verwenden, wird das Zertifikat angezeigt, Sie können es jedoch nicht auswählen.

Erstellen Sie stattdessen einen neuen IAM-Benutzer mit angemessenen Rechten (ich habe ein Konto mit einer zugewiesenen Verwaltungsrichtlinie verwendet) und laden Sie das Zertifikat mit diesen Anmeldeinformationen hoch. Das Zertifikat sollte dann verfügbar sein.

Kristopher Cargile
quelle
Dies hat bei mir funktioniert. Ich habe das Zertifikat als Root-Benutzer erstellt, aber die benutzerdefinierte SSL-Einstellung wurde beim Bearbeiten der Distribution deaktiviert, obwohl ich das Zertifikat als Option in der Dropdown-Liste sehen konnte. Nach dem Erstellen eines Administratorbenutzers und dem Anmelden als dieses Konto wurde die Option nicht mehr deaktiviert.
Simon L. Brazell
3

Wenn Sie ein Zertifikat in einer anderen Region anfordern (nicht us-east-1), setzen Sie Ihre Region auf us-east-1 und fordern Sie erneut ein Zertifikat an. Ich fordere nur den gleichen Domainnamen in ap-northeast-2 an und es funktioniert sofort.

user1035957
quelle
1

Benutze das:

{
"Effect": "Allow",
"Action": [
    "iam:DeleteServerCertificate",
    "iam:UploadServerCertificate",
    "iam:ListServerCertificates",
    "iam:GetServerCertificate"
],
    "Resource": "*"
}
d.balu
quelle
1
Hallo @ d.balu, könnten Sie bitte eine weitere Erklärung für Ihre Antwort geben?
Toti08
0

Ich sehe, dass es bereits viele gute Antworten gibt, und jede davon kann der Grund für Ihre sein Custon SSL Certificate Abschnitt deaktiviert ist. Ich glaube, ich habe gerade einen anderen gefunden und das war bei mir der Fall:

Für viele "integrierte Dienste", einschließlich CloudFront, werden nur wenige Algorithmen und Schlüsselgrößen unterstützt. Ich habe versucht, mein RSA 4096-Bit-Zertifikat und einen Schlüssel von ausreichender Länge zu verwenden.

Für die Verwendung mit den "integrierten Diensten" akzeptiert AWS derzeit nur Schlüssellängen von 1024 oder 2048 Bit.

Hier erwähnt: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-prerequisites.html

wiktus239
quelle
0

Wenn das Zertifikat nicht in der Dropdown-Liste angezeigt wird, können Sie die vollständige ARN für das Zertifikat kopieren und einfügen. Die ARN wird im Zertifikat-Manager gefunden, indem Sie das Zertifikat auswählen, das Sie verwenden möchten.

user2531882
quelle
0

Das AWS-Stammkonto kann kein benutzerdefiniertes Zertifikat in CloudFront auswählen.

Erstellen Sie einen neuen IAM-Benutzer mit der folgenden Richtlinie und erstellen Sie mit diesem Benutzer eine CloudFront-Verteilung. Sie können dann ein benutzerdefiniertes SSL-Zertifikat auswählen.

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