Список зарезервированных имен параметров для AWS S3 - PullRequest
0 голосов
/ 08 декабря 2018

Кажется, что параметр GET location является зарезервированным параметром в AWS S3.Скажем, у меня есть ресурс в корзине S3, доступный через Интернет:

http://my -bucket.s3.amazonaws.com / index.html

..и я просто добавляю к нему параметр GET location, я получаю HTTP 403:

http://my -bucket.s3.amazonaws.com / index.html? location = US

Это работает, пока я меняю имя параметра на другое.Например:

http://my -bucket.s3.amazonaws.com / index.html? Loc = US

Очевидно, что location является зарезервированным словом вAWS S3.Мой вопрос: есть ли список всех зарезервированных слов, которые я не должен пытаться использовать в качестве параметров GET для S3?

Я искал документы, но не мог найти такой список.

1 Ответ

0 голосов
/ 08 декабря 2018

location в запросе говорит S3, что вы запрашиваете местоположение корзины.Это один из нескольких «субресурсов» (вещей, которые не являются объектами) в S3, доступ к которым осуществляется через параметры строки запроса.

Вы, вероятно, могли бы составить почти полный список, просмотрев всю справочную документацию по API, но вот частичнаясписок, найденный в некоторых старых документах (версия подписи 2):

Подресурсами, которые должны быть включены при создании элемента CanonicalizedResource, являются acl, жизненный цикл, местоположение, ведение журнала, уведомление, partNumber, policy, requestPayment, torrent, uploadId, закачки, versionId, версии, версии и веб-сайт.

https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html

Они периодически добавляют новые, такие как select и delete и taggingТаким образом, исчерпывающий список не подходит для будущего.

Ваша самая безопасная ставка - использовать параметры, начинающиеся с x- (но не начинающиеся с x-amz, поскольку они могут быть зарезервированы или иметь другие значения).Это упоминается в документации по ведению журнала:

Вы можете включить пользовательскую информацию, которая будет храниться в записи журнала доступа для запроса, добавив пользовательский параметр строки запроса в URL-адрес запроса.Amazon S3 игнорирует параметры строки запроса, которые начинаются с «x-», но включает эти параметры в запись журнала доступа для запроса как часть поля Request-URI записи журнала.

https://docs.aws.amazon.com/AmazonS3/latest/dev/LogFormat.html

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