मैं काम नहीं कर सकता कि मैं अपनी बाल्टी नीति को कैसे प्राप्त करना चाहता हूं। कोई भी सहायताकाफी प्रशंसनीय होगी! मेरे वांछित नियम हैं:ऑब्जेक्ट एसीएल सार्वजनिक होने पर एस 3 बाल्टी नीति को (ज्यादातर) निजी कैसे सेट करें?
- अपने खाते में उपयोगकर्ताओं को उपयोगकर्ता नीतियों के माध्यम से उपयोग कर सकते है, इसलिए विशेष रूप से उन्हें
- गुमनाम उपयोगकर्ताओं (या मेरे AWS खाते के बाहर किसी) को दी गई पहुँच आवश्यकता नहीं होनी चाहिए नहीं पहुंच होनी चाहिए, सिवाय :
- एक फ़ोल्डर/temp_public एक सार्वजनिक GetObject होना चाहिए (यानी आप URL आप फ़ाइल प्राप्त कर सकते हैं पता है)
- इन नीतियों, बाल्टी में फाइलों पर वस्तु एसीएल ओवरराइड करना चाहिए के रूप में वस्तु एसीएल कभी कभी सेट कर रहे हैं सार्वजनिक पढ़ने के लिए।
बाल्टी नीति बनाने के लिए कारण यह है कि बाल्टी में वस्तुओं के कई एक सार्वजनिक एसीएल पढ़ा है (अनजाने सेट जब फ़ाइलें अपलोड किया गया, लेकिन यह भी भविष्य में हो सकता है तो मैं वस्तु एसीएल ओवरराइड करना चाहते है बाल्टी एसीएल के साथ)।
temp_public फ़ोल्डर की उपेक्षा कर, मैं आशा व्यक्त की मैं तो बस ऐसा कर सकता है:
{
"Version": "2008-10-17",
"Id": "Policy123456789",
"Statement": [
{
"Sid": "Stmt1",
"Effect": "Deny",
"NotPrincipal": {
"AWS": "arn:aws:iam::123456789012:root"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket-name/*"
}
]
}
(जहां 123456789012
मेरी एडब्ल्यूएस खाता संख्या है), लेकिन मुझे लगता है कि बाल्टी नीति के साथ सभी उपयोगकर्ताओं के लिए इनकार किया पहुँच जाते हैं। मुझे लगता है कि इस मामले में NotPrincipal काम नहीं कर रहा है?
किसी भी सुझाव के लिए धन्यवाद!
रोरी
अद्यतन: पोस्ट की गई एडब्ल्यूएस मंचों पर here, और जवाब! this answer के लिए एडब्ल्यूएस मंच से आईपी के