Как создать подписанные URL-адреса для Amazon S3, предоставляемые CloudFront с помощью .NET - PullRequest
0 голосов
/ 21 февраля 2019

То, чего я хочу достичь, - это создать singedURL, указывающий дистрибутив CloudFront, который исходит из корзины S3.

Мне удалось подписать URL-адрес, который указывает непосредственно на корзину S3, как описано в следующей спецификации AWS - Создание URL-адреса предварительно назначенного объекта с помощью AWS SDK для .NET , и он работал нормально.

Но мне действительно нужно создать подписанный URL-адрес CloudFront.

Я предполагаю, что мой дистрибутивнастроен правильно, так как я могу получить к нему доступ (https://d298o8yem5c56d.cloudfront.net/123.pdf) при условии, что для параметра «Ограничить доступ для просмотра» установлено значение Нет в настройках «Поведения». После переключения на Да больше невозможно получить доступ без SignURL.

Я пытался использовать пример кода из Руководства разработчика AWS: Создание подписи URL-адреса с использованием C # и .NET Framework

URL был создан, но я получаю следующее сообщение об ошибке:

AccessDenied Доступ запрещен

Любойидеи что должноЯ проверяю?

1 Ответ

0 голосов
/ 27 февраля 2019

Наконец, я решил проблему, используя пример кода из руководства разработчика AWS: Создание подписи URL-адреса с использованием C # и .NET Framework

Эта проблема, похоже, связана сPrivateKey.xml

Не забудьте заменить PrivateKey.xml на PrivateKey (который можно сгенерировать / загрузить из настроек учетной записи root AWS).В качестве следующего шага его необходимо преобразовать из PEM в XML (требуется .NET)

Хороший и простой способ преобразования из PEM в XML - использование онлайн-конвертера - * 1011.*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...