Я хочу предложить заранее заданные 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? Разве это не должно быть более конфиденциальным? Я знаю, что это не секрет, но мне все равно неудобно раскрывать его публично.
Насколько вероятно, что кто-то, у кого есть мой открытый ключ, сможет угадать / подобрать мой закрытый ключ?
Идентификатор ключа доступа не является секретом и не нуждается в защите.
На самом деле, вы можете выдавать устаревшие URL-адреса случайным незнакомцам, если хотите, чтобы они обращались к объекту S3. Они могут видеть ключ доступа в этом URL, но не могут делать с ним ничего, что вы не авторизовали.
ссылка: http://docs.amazonwebservices.com/AWSSecurityCredentials/1.0/AboutAWSCredentials.html#AccessKeys