2009-04-19 24 views
10

एस 3 को समझने की कोशिश कर रहा है ... आप S3 पर अपलोड की गई फ़ाइल तक पहुंच को सीमित कैसे करते हैं? उदाहरण के लिए, किसी वेब एप्लिकेशन से, प्रत्येक उपयोगकर्ता में वे फ़ाइलें हैं जिन्हें वे अपलोड कर सकते हैं, लेकिन आप एक्सेस को सीमित कैसे करते हैं ताकि केवल उस उपयोगकर्ता तक उस फ़ाइल तक पहुंच हो? ऐसा लगता है कि क्वेरी स्ट्रिंग प्रमाणीकरण की समाप्ति तिथि की आवश्यकता है और यह मेरे लिए काम नहीं करेगा, क्या ऐसा करने का कोई और तरीका है?अमेज़ॅन एस 3 अनुमतियां

उत्तर

1

आप अपने अनुप्रयोगों में S3 के लिए पूरे पहुँच तर्क का निर्माण करना होगा

14

वहाँ S3 वस्तुओं के लिए उपयोग को नियंत्रित करने के विभिन्न तरीके हैं:

  1. उपयोग क्वेरी स्ट्रिंग प्रमाणन - लेकिन आप के रूप में ध्यान दिया गया है कि इसकी समाप्ति तिथि की आवश्यकता है। आप इसे भविष्य में दूर कर सकते हैं, जो मैंने जो कुछ किया है उसके लिए काफी अच्छा रहा है।

  2. एस 3 एसीएलएस का उपयोग करें - लेकिन इसके लिए उपयोगकर्ता को एडब्ल्यूएस खाता होना चाहिए और एस 3 ऑब्जेक्ट तक पहुंचने के लिए एडब्ल्यूएस के साथ प्रमाणित करना आवश्यक है। यह शायद वह नहीं है जिसे आप ढूंढ रहे हैं।

  3. आप अपने एप्लिकेशन के माध्यम से S3 ऑब्जेक्ट तक पहुंच को प्रॉक्सी करते हैं, जो आपके एक्सेस कंट्रोल तर्क को लागू करता है। यह आपके बैंडविड्थ को आपके बॉक्स के माध्यम से लाएगा।

  4. आप अपने प्रॉक्सी तर्क के साथ एक ईसी 2 इंस्टेंस सेट अप कर सकते हैं - यह बैंडविड्थ को S3 के करीब रखता है और कुछ स्थितियों में विलंबता को कम कर सकता है। इस और # 3 के बीच का अंतर न्यूनतम हो सकता है, लेकिन आपकी विशेष स्थिति पर निर्भर करता है।

8
  1. उपयोगकर्ता अपने सर्वर मारा
  2. सर्वर एक छोटी समाप्ति के साथ एक प्रश्न-स्ट्रिंग प्रमाणीकरण (मिनट, घंटे?)
  3. अपने सर्वर # 2
  4. पर पुन: निर्देशित किया है सेट अप किया है
0

मैं भी इससे निपट रहा हूं। डॉन, जिसने S3 PHP कक्षा का उपयोग किया है, मैंने बताया है कि आप बाल्टी के अंदर डीआईआर का उपयोग कर सकते हैं। तो आप अपनी फ़ाइल को एक यादृच्छिक स्ट्रिंग के साथ एक डीआईआर में डाल सकते हैं और उसके बाद उसे रीडायरेक्ट कर सकते हैं। mybucket.amazon.net/wef49kfe4j409jf4f4f9jdfd/myfile.zip हालांकि सुरक्षित नहीं है, आप अनुमतियों को बदलकर या इसे हटाने और हटाने (इसे सुरक्षित रूप से एक अलग बाल्टी में रखें) आवश्यकतानुसार इसे एक्सेस कर सकते हैं।