5

Michael Hartl tarafından hazırlanan Rails Tutorial Bölüm 11'in sonunda, bir kullanıcı adı ve izin vermek için IAM kullanarak bir kepçe oluşturarak kullanıcı yüklemelerini Amazons S3 hizmetine başarılı bir şekilde yönetmeyi başardım. Kullanıcı bir AmazonS3FullAccess ilkesi. Web sitemde bilinmeyen bir kullanıcının web sitemde görüntü yüklemesi için bir kepçeye tam erişime izin vermek için kirli ve çok güvensiz hissediyor ve bu şekilde hissetmem gerektiğinden emin değilim.Resim dosyalarını carrierwave ile karşıya yükleyen kullanıcılar için uygun s3 izinleri

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

benim çözümde değil eminim ve en iyi şekilde googling herhangi bir cevap bulamadık: Aşağıdaki Hangisi

de bir özel politika oluşturdu bunun hakkında git. Carrierwave (kendi projem için carrierwave_direct kullanarak niyetiyle), sis ve mini_magick mücevherleri kullanıyorum.

cevap

4

Kullanıcıların sitenize dosya yüklemesine izin vermenin en iyi ve muhtemelen en güvenli yolu (örn. S3), Tarayıcı Tabanlı Yükleme Yüklemelerini kullanmaktır.

Bu, kullanıcıların sunucularınızı kullanmadan doğrudan S3'e yüklemelerini sağlar. Sunucularınızda, erişim tuşlarınızı kullanarak bir istek imzası oluşturursunuz. Browser Based Uploads Using Post

Ben carrierwave aşina değilim kendim ama bu kullanışlı bulabilir:

Burada bu konuda daha fazla bilgi bulabilirsiniz Bunu kontrol edecek cevap için Uploading directly to S3 in rails

+0

teşekkür ederiz. –