2014-04-08 29 views
8

द्वारा अपलोड की गई फ़ाइलों को डाउनलोड नहीं किया जा सकता है मैंने अमेज़ॅन एस 3 पर एक बाल्टी बनाई है और बाल्टी पॉलिसी जोड़ा है जिससे फाइल अपलोड करने के लिए किसी अन्य उपयोगकर्ता खाते का उपयोग किया जा सके। मैंने निम्नलिखित बाल्टी नीति को जोड़ा।साझा खाते एस 3 बाल्टी

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

{ 
    "Version": "2008-10-17", 
    "Id": "Policyxxxxxxxxxxxx", 
    "Statement": [ 
     { 
      "Sid": "Stmtxxxxxxxxxxxxx", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::<account_number>:root" 
      }, 
      "Action": [ 
       "s3:AbortMultipartUpload", 
       "s3:GetObject", 
       "s3:ListMultipartUploadParts", 
       "s3:PutObject" 
      ], 
      "Resource": "arn:aws:s3:::<bucket_name>/*" 
     }, 
     { 
      "Sid": "Stmtxxxxxxxxxxx", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::<account_number>:root" 
      }, 
      "Action": [ 
       "s3:PutBucketLogging", 
       "s3:PutBucketNotification", 
       "s3:ListBucket" 
      ], 
      "Resource": "arn:aws:s3:::<bucket_name>" 
     } 
    ] 
} 

उत्तर

7

तो समस्या यह है कि अमेज़न S3 बाल्टी बाल्टी मालिक के स्वामित्व में केवल वस्तुओं के लिए बाल्टी नीति लागू है। तो यदि आप बाल्टी मालिक हैं और बाल्टी नीति के माध्यम से ऑब्जेक्ट अनुमति देते हैं तो इसका मतलब है कि आपको यह सुनिश्चित करने की भी आवश्यकता है कि वे ऑब्जेक्ट अपलोड के दौरान आपको अनुमति दें। वस्तुओं को अपलोड करने के लिए क्रॉस-खाता अनुमतियां प्रदान करते समय केवल उन्हीं वस्तुओं को प्रतिबंधित कर सकते हैं जो केवल पढ़ने की अनुमति के साथ आते हैं।

स्रोत: http://docs.aws.amazon.com/AmazonS3/latest/dev/AccessPolicyLanguage_UseCases_s3_a.html संबंधित चर्चा: https://forums.aws.amazon.com/thread.jspa?messageID=524342&%20#524342 उदाहरण बाल्टी नीति:

{ 
    "Version":"2012-10-17", 
    "Statement":[ 
     { 
     "Sid":"111", 
     "Effect":"Allow", 
     "Principal":{ 
      "AWS":"1111111111" 
     }, 
     "Action":"s3:PutObject", 
     "Resource":"arn:aws:s3:::examplebucket/*" 
     }, 
     { 
     "Sid":"112", 
     "Effect":"Deny", 
     "Principal":{ 
      "AWS":"1111111111" 
     }, 
     "Action":"s3:PutObject", 
     "Resource":"arn:aws:s3:::examplebucket/*", 
     "Condition":{ 
      "StringNotEquals":{ 
       "s3:x-amz-grant-full-control":[ 
        "[email protected]" 
       ] 
      } 
     } 
     } 
    ] 
} 
-1

अपने आप उन नीति में परिवर्तन की तरह एक बार आप उन्हें तैनात किया दिखेगा वास्तव में कैसे देखने के लिए IAM नीति परीक्षक का उपयोग करना चाहिए IAM उपयोगकर्ता खाते का उपयोग कर सकते हैं।

http://docs.aws.amazon.com/IAM/latest/UsingPolicySimulatorGuide/iam-policy-simulator-guide.html

+0

सेट प्रिंसिपल आईएएम उपयोगकर्ता नहीं है लेकिन दूसरा खाता है .. यह एक ग्राहक है और मेरे पास थिट खाते तक पहुंच नहीं है। – cnvzmxcvmcx

0

मैं एक ऐसी ही समस्या

मैं बाल्टी में एक नई अमेज़न खाते में <sharerprofile> से फाइल कॉपी किया <bucketname> और मैं का सामना करना पड़ा एक्सेस सुरक्षा के कारण नए अमेज़ॅन खाते से फ़ाइलों को डाउनलोड नहीं किया जा सका।

तो मैं निम्नलिखित किया:

aws --profile <sharerprofile> s3api put-object-acl --acl authenticated-read --bucket <bucketname> --key <pathofthefileInBucket> 

मैं कैसे एक से अधिक फ़ाइलों के लिए स्वचालित रूप से ऐसा करने के लिए नहीं मिला, तो मैं प्रत्येक फ़ाइल

0

के लिए एक ही आदेश को दोहराने के लिए इसी तरह की स्थिति का सामना करना पड़ रहा था कि गंतव्य खाते को पूर्ण पहुंच नहीं दी गई थी कि क्लाउडफ़्रंट पढ़ने की पहुंच प्रदान करने वाली बाल्टी नीति काम नहीं करती है।

ओपी के "s3:x-amz-grant-full-control":[ "[email protected]" ], या id=xxx के अलावा, Canned ACL का उपयोग करने का एक और तरीका है। bucket-owner-full-control का उपयोग करके, हमें एक विशिष्ट ईमेल या कैनोनिकल आईडी सूचीबद्ध करने की आवश्यकता नहीं है।

{ 
    "Statement":[ 
    { 
     "Effect":"Allow", 
     "Principal":{"AWS":"111111111111"}, 
     "Action":"s3:PutObject", 
     "Resource":["arn:aws:s3:::examplebucket/*","arn:aws:s3:::examplebucket"] 
    }, 
    { 
     "Effect":"Deny", 
     "Principal":{"AWS":"111111111111"}, 
     "Action":"s3:PutObject", 
     "Resource":"arn:aws:s3:::examplebucket/*", 
     "Condition": { 
     "StringNotEquals": {"s3:x-amz-acl":"bucket-owner-full-control"} 
     } 
    } 
    ] 
} 
संबंधित मुद्दे