2015-01-13 10 views
5

मैंने स्टैक ओवरफ़्लो और अन्य साइटों से सुझाए गए समाधानों का एक समूह प्रयास किया है, लेकिन इसका कोई फायदा नहीं हुआ है।डिफ़ॉल्ट रूप से अपलोड किए गए फ़ाइलों को S3 सार्वजनिक में अपलोड करें

मेरे पास एक बाल्टी है जिसे मैं एक आईएएम खातों में से एक का उपयोग कर वेब पेज से फाइल अपलोड कर रहा हूं। ये अपलोड की गई फ़ाइलें मेरे माता-पिता की बाल्टी के भीतर गतिशील रूप से बनाए गए फ़ोल्डर्स के भीतर स्थित हैं।

मुझे यह सुनिश्चित करने की ज़रूरत है कि नए बनाए गए फ़ोल्डर में रखी गई किसी भी अपलोड की गई फ़ाइलों के साथ बनाया गया कोई भी फ़ोल्डर सभी सार्वजनिक है, इसलिए कोई भी उपयोगकर्ता उन्हें देख सकता है और उन्हें डाउनलोड कर सकता है।

वर्तमान में मैं "एस 3 ब्राउज़र" एप्लिकेशन का उपयोग कर रहा हूं, हालांकि यह मुझे अपलोड की गई किसी भी फाइल को डाउनलोड करने की अनुमति नहीं दे रहा है (हालांकि मैं वास्तव में उन्हें देख सकता हूं)।

किसी भी मदद की बहुत सराहना की जाती है!

उत्तर

10

उस विशिष्ट बाल्टी पर एक बाल्टी नीति बनाएं, जो GetObject अज्ञात उपयोगकर्ताओं के लिए अनुमति देता है। बाल्टी के नाम से "examplebucket" को बदलें। आप अनुमति अनुभाग में अमेज़ॅन एस 3 प्रबंधन कंसोल में Bucket Policy जोड़ सकते हैं।

{ 
    "Version":"2012-10-17", 
    "Statement":[{ 
    "Sid":"AddPerm", 
     "Effect":"Allow", 
     "Principal": "*", 
     "Action":["s3:GetObject"], 
     "Resource":["arn:aws:s3:::examplebucket/*" 
     ] 
    } 
    ] 
} 
+0

भविष्य के खोजकर्ता के लिए - यह भी ध्यान दें कि संस्करण संख्या अमेज़ॅन का संस्करण संख्या है - इसे न बदलें। यदि आप इसे बदलने का प्रयास करते हैं, तो आपको मिलेगा - "नीति में एक वैध संस्करण स्ट्रिंग होना चाहिए - अपरिभाषित" – HockeyJ

+0

एस 3 कंसोल पर 'नीति जनरेटर' भी है जहां आप इस नीति का उपयोग गाइड के रूप में कर सकते हैं, * प्रिंसिपल के लिए * प्रदान कर सकते हैं संसाधन एआरएन में कुंजी, और एक नई नीति उत्पन्न करते हैं। इस तरह यदि संस्करण पुराना है, तो भी आपको एक कार्य नीति मिल जाएगी –

संबंधित मुद्दे