Nie można wybrać niestandardowego certyfikatu SSL (przechowywanego w AWS IAM)

98

Mam zamiar stworzyć nową dystrybucję w CloudFront . Już przesłałem swój certyfikat SSL do AWS IAM przy użyciu interfejsu AWS CLI. Ten certyfikat pojawia się na liście rozwijanej Niestandardowy certyfikat SSL na nowej stronie dystrybucji, ale jest WYŁĄCZONY .

Czy ktoś może mi powiedzieć, dlaczego tak jest? Jak wybrać mój niestandardowy certyfikat SSL dla tej dystrybucji?

theGeekster
źródło
czy przesłałeś certyfikat używając konta root?
mohamnag,

Odpowiedzi:

125

Rozpowszechnienie nowego certyfikatu do wszystkich węzłów zajęło AWS cały dzień. Następnego dnia, kiedy zalogowałem się do mojej konsoli AWS, certyfikat pojawił się na liście rozwijanej i został również włączony i mogłem pomyślnie skonfigurować dystrybucję.

us-east-1Podczas składania wniosku o certyfikat upewnij się również, że wybrałeś (N. Virginia); to jedyny region, który w tej chwili go obsługuje (nawet jeśli Twój zasobnik / zasób znajduje się w innym regionie)

theGeekster
źródło
3
Czekałem już 3 dni, niestety
elsurudo
12
Ponowne wydanie certyfikatu w stanie Wirginia N. rozwiązało mój problem. To dziwne, że certyfikat faktycznie ma inny status wydania w różnych regionach ... lol
Neekey
3
Tworząc nową dystrybucję CloudFront, Amazon wyraźnie stwierdza: „Możesz użyć certyfikatu przechowywanego w AWS Certificate Manager (ACM) w regionie Wschodnie stany USA (Północna Wirginia) lub możesz użyć certyfikatu przechowywanego w IAM”.
Shea
6
Zgodnie z dokumentami docs.aws.amazon.com/acm/latest/userguide/acm-services.html i aws.amazon.com/certificate-manager/faqs „aby używać certyfikatu ACM z CloudFront, należy zażądać lub zaimportować certyfikat w regionie Wschodnie stany USA (Północna Wirginia) ”.
Big Pumpkin
Utworzyłem certyfikat przy użyciu regionu Wirginia Północna w ACM i walidacji DNS. Działał w 10 minut.
Deepan Prabhu Babu
39

Tylko certyfikaty zarejestrowane w AWS Certificate Manager (ACM) w regionie Wschodnie stany USA (Północna Wirginia) będą dostępne do użytku w CloudFront

Reinaldo Almeida
źródło
3
Fajnie, że zostało to gdzieś udokumentowane: D
Baconbeastnz
30
  • Zaimportuj certyfikat do IAM lub utwórz go za pomocą ACM w us-east-1, jak wspomniano w innych komentarzach.

  • Poczekaj, aż weryfikacja zostanie zakończona, tj. Nie jest pomarańczowa.

  • Załaduj stronę edycji ustawień dystrybucji w chmurze.
  • Jeśli opcja Custom SSL jest wyszarzona, wyloguj się z konsoli i zaloguj ponownie. Po tym kroku wyszarzona opcja ożyła. Wyobrażam sobie, że jest on w jakiś sposób buforowany, a logowanie przy wylogowaniu odświeża go.
neo01124
źródło
3
Co?! Teraz jest rok 2020, to właściwie wciąż jest poprawka.
y3sh
3
Tak, straciłem godzinę życia, żeby się domyślić, że musisz się wylogować i zalogować ...
peter_v
To najlepsza odpowiedź. Wylogowanie / zalogowanie się ostatecznie rozwiązało ten problem po zarejestrowaniu mojego certyfikatu ACM.
MillerMedia
19

Wystarczy odczekać kilka minut i odświeżyć distribution settingsstronę, aby zobaczyć opcję zwyczaj SSL ENABLED .

Miałem ten sam problem, nie korzystałem z AWSkonta roota, a IAMścieżka była poprawnie ustawiona /cloudfront/.

Jonathan Maim
źródło
14

Miałem podobne problemy i łatwiej było zaimportować certyfikat do Menedżera certyfikatów AWS.

Jeśli używasz Menedżera certyfikatów AWS z zasobnikiem S3, upewnij się, że importujesz certyfikat do regionu Wschodnie stany USA (Północna Wirginia). Na dzień dzisiejszy jest to jedyny region w ACM obsługujący S3. Zobacz https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html

Ryan Walls
źródło
2
Na miejscu! To jest rozwiązanie tego problemu - Dzięki Ryan
EdsonF,
3
To jest rozwiązanie! Bardziej odpowiedni link: docs.aws.amazon.com/acm/latest/userguide/acm-regions.html : Aby użyć certyfikatu ACM z Amazon CloudFront, musisz poprosić o certyfikat lub zaimportować go w regionie Wschodnie
illagrenan
11

Po wystawieniu certyfikatu wróć do strony głównej Cloudfront i odśwież stronę. U mnie to zadziałało

MrAAAAaaaahhhhHHHHHH
źródło
2
Jaka żenująca sytuacja i kto by wiedział, że jest to rozwiązanie: D
Ariful Haque
5

Przyczyną, dla której teraz się nie pojawia, jest prawdopodobnie to, że ustawiona ścieżka iam nie to / cloudfront / [1]. Możesz użyć tej samej listy klienckiej, której użyłeś do przesłania certyfikatu, aby zmienić domyślną ścieżkę do / lub możesz ponownie przesłać certyfikat. Daj mi znać, jeśli to nie pomoże.

  1. http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#CNAMEsAndHTTPS
imperalix
źródło
4

Upewnij się, że nie przesyłasz certyfikatu przy użyciu konta głównego AWS. Jeśli korzystasz z konta głównego, certyfikat będzie widoczny, ale nie będziesz mógł go wybrać.

Zamiast tego utwórz nowego użytkownika IAM z odpowiednimi uprawnieniami (korzystałem z konta z przypisaną polityką administracyjną) i prześlij certyfikat przy użyciu tych poświadczeń. Certyfikat powinien być wtedy dostępny.

Kristopher Cargile
źródło
To zadziałało dla mnie, utworzyłem certyfikat jako użytkownik root, ale niestandardowe ustawienie SSL zostało wyłączone podczas edytowania dystrybucji, mimo że mogłem zobaczyć certyfikat jako opcję w menu rozwijanym. Po utworzeniu użytkownika administratora i zalogowaniu się na to konto opcja nie była już wyłączona.
Simon L. Brazell,
3

Jeśli chcesz otrzymać certyfikat w innym regionie (nie us-east-1), ustaw swój region na us-east-1 i poproś o certyfikat ponownie. Po prostu żądam tej samej nazwy domeny w ap-north-2 i działa natychmiast.

user1035957
źródło
1

Użyj tego:

{
"Effect": "Allow",
"Action": [
    "iam:DeleteServerCertificate",
    "iam:UploadServerCertificate",
    "iam:ListServerCertificates",
    "iam:GetServerCertificate"
],
    "Resource": "*"
}
d.balu
źródło
1
Cześć @ d.balu, czy mógłbyś wyjaśnić swoją odpowiedź?
toti08
1

W moim przypadku nie było żądania ACM w regionie N.Virginia, po tym, jak status ACM zmieni kolor na zielony, muszę się wylogować i zalogować, aby przycisk został włączony.

Minh Chau
źródło
0

Widzę, że jest już wiele dobrych odpowiedzi, a każda z nich może być przyczyną wyłączenia Twojej Custon SSL Certificatesekcji. Myślę, że właśnie znalazłem inny i tak było w moim przypadku:

W przypadku wielu „usług zintegrowanych”, w tym CloudFront, obsługiwanych jest tylko kilka algorytmów i rozmiarów kluczy. Próbowałem użyć mojego 4096-bitowego certyfikatu RSA i klucza o odpowiedniej długości.

W chwili obecnej do użytku z „usługami zintegrowanymi” AWS akceptuje tylko klucze o długości 1024 lub 2048 bitów.

Wspomniany tutaj: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-prerequisites.html

wiktus239
źródło
0

Jeśli certyfikatu nie ma na liście rozwijanej, możesz skopiować i wkleić pełny numer ARN dla certyfikatu. ARN można znaleźć w Menedżerze certyfikatów, wybierając certyfikat, którego chcesz użyć.

user2531882
źródło
0

Konto główne AWS nie może wybrać niestandardowego certyfikatu w CloudFront.

Utwórz nowego użytkownika IAM z poniższymi zasadami i utwórz dystrybucję CloudFront z tym użytkownikiem, aby móc wybrać niestandardowy certyfikat SSL.

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": ["*"],
    "Resource": ["*"]
  }]
}
Subhash
źródło