2014-11-17 4 views
0

Я храню файлы в ведре S3. Я хочу, чтобы доступ к файлам был ограничен.Ограничить доступ к ведро S3 на AWS

В настоящее время любой, у кого есть URL-адрес файла, имеет доступ к файлу.

Я хочу поведение, при котором доступ к файлу осуществляется только при его доступе через мое приложение. Приложение размещено на EC2.

Ниже приведены 2 возможных способа, которыми я мог бы найти.

  1. Используйте ключ «referer» в политике ведра.

  2. Изменение «разрешено происхождение» в конфигурации CORS

Какой из выше 2 следует использовать, учитывая тот факт, что «реферер» может быть подделан в заголовке запроса.

Может ли облачный бизнес играть здесь роль?

ответ

0

Когда вы работаете с частным ведром S3, вы захотите использовать AWS SDK, подходящий для вашего прецедента.

Здесь лежит SDKs на разных языках: http://aws.amazon.com/tools/

В каждом SDK, вы можете найти примеры вызовов на S3.

Если вы пытаетесь совершать частные звонки через браузерный JavaScript, вы можете получить can use CORS.

0

Я бы рекомендовал использовать предварительный URL-адрес, который разрешает доступ к закрытым объектам, хранящимся на Amazon S3. Это средство обеспечения безопасности объектов, но предоставление временного доступа к определенному объекту.

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

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

См. Документацию: Sample code in Java

Смежные вопросы