Подтвердить что ты не робот

Насколько безопасны ключи доступа Amazon AWS Access?

Я хочу предложить назначенные URL-адреса моим кодам s3 с датой истечения срока действия. .net sdk прекрасно генерирует эти URL-адреса, но, глядя на них, я немного волнуюсь:

https://s3.amazonaws.com/upload_youtipit/myfile?AWSAccessKeyId=**MYACCESSKEY**&Expires=1317924047&response-content-disposition=attachment;filename=feedback.jpg&response-content-type=image/jpeg&Signature=podKJSrNeFel6%2B0aOneb342H5GA%3D

Почему мне нужно разместить мой (общедоступный) AWSAccessKey в URL? Разве это не должно быть более конфиденциальным? Я знаю, что это не секрет, но я до сих пор не чувствую себя комфортно, обнажая его публично.

Насколько вероятно, что кто-то, у кого есть мой открытый ключ, может угадать/брутфорсировать мой закрытый ключ?

4b9b3361

Ответ 1

Идентификатор ключа доступа не является секретом и не нуждается в защите.

Фактически вы можете указывать устаревшие URL-адреса случайным незнакомым людям, если хотите, чтобы они имели доступ к объекту S3. Они могут видеть ключ доступа в этом URL-адресе, но не могут ничего сделать с ним, что вы не авторизовались.

ссылка: http://docs.amazonwebservices.com/AWSSecurityCredentials/1.0/AboutAWSCredentials.html#AccessKeys

Ответ 2

Я согласен с принятым ответом, но есть простой способ сделать то, что вы хотите.

Вам нужно использовать Amazon IAM для создания пользователя, который может читать только файлы (это не имеет особого значения, но они, по крайней мере, должны быть прочитаны только в ведро, с которым вы имеете дело). Затем используйте ТУ пользователей AWS ID и секрет, чтобы создать ссылку для загрузки.

Это не открывает все ваше ведро, так как для просмотра всего ведра человеку нужен AWSID этого читателя IAM, а также его секретный ключ. Вам все равно нужно создавать URL-адреса с ограничением по времени.

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

Это должно сделать это. Этот AWSID не имеет доступа ни к чему и не связан с вами.

В целом Amazon теперь рекомендует, чтобы ваш основной AWSID не использовался "ни для чего". Вы создаете пользователей с разрешениями в IAM, затем используйте эти коды. Это позволяет обеспечить большую гибкость безопасности. Вы можете отключить пользователя только для чтения с помощью простого действия в консоли IAM.

Ответ 3

ваш закрытый ключ является односторонним вычислением некоторых неизвестных параметров, он может даже не использовать сам открытый ключ как часть алгоритма. зная, что ваш AWSAccessKeyId не должен влиять на сложность принудительного принудительного использования вашего личного ключа.

https гарантирует единственное, что кто-то может сказать о вашем соединении (если они обнюхивают сетевой трафик), заключается в том, что он находится между вашим IP и IP-адресом s3.amazonaws.com на порту 443. Даже тот факт, что вы подключаетесь к amazon должен был бы быть выведен из известных диапазонов ip-адресов, назначенных им (что, вероятно, хорошо известно в любом случае)

единственный способ попасть в ваш AWSAccessKeyId в адресной строке - физически увидеть его на вашем экране, установить на вашем компьютере какой-либо ключ-регистратор или троян на вашем компьютере или сертификат MIM (человек в середине) amazon SSL, который чрезвычайно сложно, даже если у кого-то есть доступ к необходимым узлам сети.

Leon