2017-09-20 118 views
5

Birkaç saatliğine bu soruya bir cevap bulmaya çalışıyorum ama kesin bir cevap vermeyi başaramadım. Burada birisinin soruma ışık tutacağını umuyordum. Aşağıdaki Örnek AWS S3 URL düşünün: Benim spesifik örnekteWeb Uygulamasında AWS S3 İmzalı URL'leri Gösteriliyor mu?

https://some-bucket.s3-eu-west-2.amazonaws.com/uploads/images/some_image.jpg?X-Amz-Expires=600&X-Amz-Date=20170920T124015Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAI6CJYFYSSWMXXXXX/20170920/eu-west-2/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=0481296b70633de9efb2fce6e20751df2f55fd79b5ff9570c02ff8f587dce825

, yukarıdaki URL bir HTML img etiketi doğrudan maruz am S3 üzerinde bir görüntü görüntülemek için bir istek ve AMZ içinde kullanıcı -Credential hem okuma hem de yazma izinlerine sahiptir. URL de 10 dakika içinde sona erecek şekilde ayarlandı.

Doğrudan bu URL aracılığıyla resme bağlantı vermek güvenli midir, yoksa bu 10 dakikalık süre zarfında imzayı silmek veya değiştirmek için kötü amaçlı hazırlanmış bir REST isteğinde kullanılabilir. görüntüleniyor mu?

Ben farklı bir eylem bu imkansız hale getirmek için farklı bir imza olacak şüpheli, ama AWS auth benim çok sınırlı anlayış göz önüne alındığında, ben daha iyi durumda sadece sormak düşündüm.

Salt okunur bir kullanıcı (ek karmaşıklık) oluşturabilir veya kendi web uygulamasında bir denetleyici eyleminin arkasındaki S3 URL'sini gizleyebilirim (her görüntüyü yüklemek için 2 toplam istek gerektirir, bu da verimsiz olur), ancak Bu yaklaşımlardan herhangi birine başvurmadan önce mevcut yaklaşımımın güvenli olup olmadığını öğrenmek.

zaman için nazikçe teşekkür ederiz. :)

cevap

2

Önceden imzalı url PUT veya üzerine veya nesneyi silmek için İmza + AccessKeyId almak için deneyebilirsiniz izin birisini SİL varsa.

Sadece salt okunur izni ile url imzalanması ve ben sen iyi birisin sanırım make sure.