Создание подписанных URL-адресов S3 и Cloudfront с помощью AWS SDK

Кто-нибудь успешно использовал AWS SDK для создания подписанных URL-адресов для объектов в корзине S3, которые также работают через CloudFront? Я'м, используяJavaScript AWS SDK и это'Очень просто генерировать подписанные URL-адреса по ссылкам S3. Я только что создал приватное ведро и использую следующий код для генерации URL:

var AWS = require('aws-sdk')
  , s3 = new AWS.S3()
  , params = {Bucket: 'my-bucket', Key: 'path/to/key', Expiration: 20}

s3.getSignedUrl('getObject', params, function (err, url) {
  console.log('Signed URL: ' + url)
})

Это прекрасно работает, но я также хочу предоставить URL-адрес CloudFront моим пользователям, чтобы они могли получить повышенную скорость загрузки с использованием CDN. Я установил дистрибутив CloudFront, который изменил политику корзины, чтобы разрешить доступ. Однако после этого любой файл мог быть доступен через URL-адрес CloudFront, и Amazon, похоже, проигнорировал подпись в моей ссылке. Прочитав еще немного об этом яМы видели, что люди генерируют файл .pem для получения подписанных URL-адресов, работающих с CloudFront, но почему это не нужно для S3? Похоже, что метод getSignedUrl просто выполняет подписание с использованием секретного ключа AWS и ключа доступа AWS. Кто-нибудь получил настройки, как это работает раньше?

Обновить: После дальнейших исследований выяснилось, что CloudFront обрабатывает URL-подписи, полностью отличающиеся от S3[ссылка на сайт], Однако я'Мне до сих пор неясно, как создать подписанный URL-адрес CloudFront с помощью Javascript.

Ответы на вопрос(2)

Ваш ответ на вопрос