5

В конце главы 11 учебника Rails от Michael Hartl я успешно разрешил загрузку пользователей в службу Amazons S3, создав ведро с помощью IAM, чтобы установить пользователя и предоставить пользователь - политика AmazonS3FullAccess. Он чувствует себя грязным и очень небезопасным, чтобы позволить неизвестному пользователю на моем веб-сайте иметь полный доступ к ведро для загрузки изображений на моем веб-сайте, и я не уверен, что я должен чувствовать себя таким образом. Я создал пользовательскую политику вПравильные разрешения для s3 для пользователей, загружающих файлы изображений с помощью несущей волны

Что следующее:

 { 
     "Version": "2012-10-17", 
     "Statement": [ 
     { 
      "Sid": "Stmt1445501067518", 
      "Action": [ 
      "s3:GetObject", 
      "s3:PutObject" 
      ], 
      "Effect": "Allow", 
      "Resource": "arn:aws:s3:::bucketname" 
     } 
     ] 
    }

Я не уверен в своем решении и не смогли найти ответы прибегая к помощи для лучшего пути пойдите об этом. Я использую wavewave (с намерением использовать operatorwave_direct для моего собственного проекта), туман и мини-камни.

ответ

4

Лучший и, вероятно, самый безопасный способ разрешить пользователям загружать файлы на ваш сайт (например, S3) - это использовать загружаемые на основе браузера почтовые загрузки.

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

Вы можете прочитать об этом здесь: Browser Based Uploads Using Post

Я не знаком с carrierwave себя, но вы можете найти это полезным: Uploading directly to S3 in rails

+0

Спасибо за ответ Я проверю это. –

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