Невозможно выбрать собственный сертификат SSL (хранится в AWS IAM)

98

Я собираюсь создать новый дистрибутив в CloudFront . Я уже загрузил свой SSL-сертификат в AWS IAM с помощью AWS CLI. Этот сертификат отображается в раскрывающемся списке Custom SSL Certificate на новой странице распространения, но он ОТКЛЮЧЕН .

Может кто подскажет, почему это так? Как выбрать собственный SSL-сертификат для этой раздачи?

theGeekster
источник
вы загрузили сертификат, используя учетную запись root?
mohamnag

Ответы:

125

AWS потребовался целый день, чтобы распространить новый сертификат на все его узлы. На следующий день, когда я вошел в свою консоль AWS, сертификат появился в раскрывающемся списке и также был включен, и я смог успешно настроить распространение.

Кроме того, us-east-1при запросе сертификата не забудьте выбрать (Северная Вирджиния); это единственный регион, который поддерживает его в настоящее время (даже если ваша корзина / актив находится в другом регионе)

theGeekster
источник
3
К сожалению, ждал уже 3 дня
elsurudo 05
12
Повторный сертификат в Северной Вирджинии решил мою проблему. Странно, что сертификат на самом деле имеет разный статус проблемы в разных регионах ... lol
Neekey
3
При создании нового дистрибутива CloudFront Amazon специально заявляет: «Вы можете использовать сертификат, хранящийся в AWS Certificate Manager (ACM) в регионе Восток США (Северная Вирджиния), либо вы можете использовать сертификат, хранящийся в IAM».
Shea
6
Согласно документам docs.aws.amazon.com/acm/latest/userguide/acm-services.html и aws.amazon.com/certificate-manager/faqs , «чтобы использовать сертификат ACM с CloudFront, вы должны запросить или импортировать сертификат в регионе Восток США (Северная Вирджиния) ".
Big Pumpkin
Я создал сертификат, используя регион Северная Вирджиния в ACM и проверку DNS. Работало через 10 минут.
Дипан Прабху Бабу
39

Только сертификаты, зарегистрированные в AWS Certificate Manager (ACM) в регионе Восток США (Северная Вирджиния), будут доступны для использования в CloudFront.

Рейнальдо Алмейда
источник
3
Приятно, что это где-то задокументировано: D
Baconbeastnz
30
  • Импортируйте сертификат в IAM или создайте его через ACM в us-east-1, как указано в других комментариях.

  • Дождитесь завершения проверки, т.е. не оранжевого цвета.

  • Загрузите страницу редактирования настроек облачного распространения.
  • Если параметр Custom SSL выделен серым цветом, выйдите из консоли и войдите снова. После этого шага для меня активировалась выделенная серым цветом опция. Я представляю, что он каким-то образом кешируется, а выход из системы обновляет его.
neo01124
источник
3
Какие?! Сейчас 2020 год, это все еще исправление.
y3sh
3
Да, потерял час своей жизни, чтобы понять, что вам нужно выйти и войти в систему ...
peter_v
Это лучший ответ. Это был выход / вход, который в конечном итоге исправил это для меня после регистрации моего сертификата ACM.
MillerMedia
19

Просто подождите несколько минут и обновите distribution settingsстраницу , чтобы увидеть вариант пользовательского SSL ENABLED .

У меня была такая же проблема, я не использовал свою AWSучетную запись root, и IAMпуть был правильно установлен /cloudfront/.

Джонатан Мэйм
источник
15

Войдите в консоль и используйте этот URL: https://console.aws.amazon.com/acm/home?region=us-east-1#/wizard/, и он будет работать. Ключ - это регион.

Филип
источник
2
Да, это сразу сработало и для меня. (Затем я вернулся и просто удалил сертификат, который я сделал в разделе region = us-west-2)
Terje Dahl
14

У меня были аналогичные проблемы, и мне было проще импортировать сертификат в AWS Certificate Manager.

Если вы используете AWS Certificate Manager с корзиной S3, убедитесь, что вы импортируете сертификат в регион Восток США (Северная Вирджиния). На сегодняшний день это единственный регион в ACM, поддерживающий S3. См. Https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html.

Райан Уоллс
источник
2
Пятно! Это решение этой проблемы - Спасибо, Райан
EdsonF
3
Это решение! Более подходящая ссылка: docs.aws.amazon.com/acm/latest/userguide/acm-regions.html : чтобы использовать сертификат ACM с Amazon CloudFront, вы должны запросить или импортировать сертификат в регионе Восток США (Северная Вирджиния). . Сертификаты ACM в этом регионе, связанные с распространением CloudFront, распространяются во все географические местоположения, настроенные для этого распространения.
illagrenan
12

Вернитесь на домашнюю страницу облачного интерфейса после того, как сертификат будет выпущен, и обновите страницу. Это сработало для меня

MrAAAAaaaahhhhHHHHHH
источник
2
В неловкой ситуации, и кто бы мог знать, что это решение: D
Ariful Haque
5

Причина, по которой он сейчас не отображается, вероятно, заключается в том, что установленный вами путь iam не является / cloudfront / [1]. Вы можете использовать тот же cli, который вы использовали для загрузки сертификата, чтобы изменить путь по умолчанию /, или вы можете загрузить сертификат снова. Сообщите мне, если это не поможет.

  1. http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#CNAMEsAndHTTPS
Imperalix
источник
4

Убедитесь, что вы не загружаете сертификат с использованием корневой учетной записи AWS. Если вы используете учетную запись root, сертификат будет виден, но вы не сможете его выбрать.

Вместо этого создайте нового пользователя IAM с соответствующими правами (я использовал учетную запись с назначенной административной политикой) и загрузите сертификат, используя эти учетные данные. Сертификат должен быть доступен.

Кристофер Каргайл
источник
Это сработало для меня, я создал сертификат как пользователь root, но настраиваемая настройка SSL была отключена при редактировании распределения, хотя я мог видеть сертификат как вариант в раскрывающемся списке. После создания пользователя-администратора и входа в систему под этой учетной записью опция больше не была отключена.
Саймон Л. Бразелл
3

Если вы запрашиваете сертификат в другом регионе (не us-east-1), установите для своего региона us-east-1 и запросите сертификат еще раз. Я просто запрашиваю такое же доменное имя в ap-northeast-2, и оно сразу работает.

user1035957
источник
1

Использовать это:

{
"Effect": "Allow",
"Action": [
    "iam:DeleteServerCertificate",
    "iam:UploadServerCertificate",
    "iam:ListServerCertificates",
    "iam:GetServerCertificate"
],
    "Resource": "*"
}
d.balu
источник
1
Привет @ d.balu, не могли бы вы объяснить свой ответ подробнее?
toti08
1

В моем случае это не был запрос ACM в регионе Северная Вирджиния, после того, как статус ACM станет зеленым, мне нужно выйти из системы и войти в систему, чтобы включить кнопку.

Минь Чау
источник
0

Я вижу, что уже есть много хороших ответов, и любой из них может быть причиной Custon SSL Certificateотключения вашего раздела. Думаю, я только что нашел еще один, и это было для меня:

Для многих «интегрированных сервисов», включая CloudFront, поддерживаются только несколько алгоритмов и размеров ключей. Я пытался использовать свой 4096-битный сертификат RSA и ключ соответствующей длины.

На данный момент для использования с «интегрированными сервисами» AWS принимает только ключи длиной 1024 или 2048 бит.

Упоминается здесь: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-prerequisites.html

wiktus239
источник
0

Если сертификат не отображается в раскрывающемся списке, вы можете скопировать и вставить полный ARN для сертификата. ARN можно найти в диспетчере сертификатов, выбрав сертификат, который вы хотите использовать.

user2531882
источник
0

Учетная запись root AWS не может выбрать собственный сертификат в CloudFront.

Создайте нового пользователя IAM с указанной ниже политикой и создайте распространение CloudFront с этим пользователем, и вы сможете выбрать собственный сертификат SSL.

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": ["*"],
    "Resource": ["*"]
  }]
}
Субхаш
источник