مرحبا. لقد رأيت هذا الخطأ في عدد قليل من القضايا ، ولا بد لي من التعب. ليس من الواضح بالنسبة لي ما يجب أن يكون الحل. أحاول تحميل سياسة حاوية وأتلقى خطأ JSON. بعد ذلك قمت بتنزيل (استخدمت واجهة المستخدم للدخول وعملت بشكل جيد) / تم الرفع وحصلت على نفس الخطأ. أي اقتراح حول كيفية استخدام الأداة لتحميل هذا؟ ثابر على العمل الجيد!
$ aws s3api get-bucket-policy --bucket cloud-1-$NAME > student-1-bucket.manual.json
$ aws s3api put-bucket-policy --bucket cloud-1-$NAME --policy student-1-bucket.manual.json
An error occurred (MalformedPolicy) when calling the PutBucketPolicy operation: Policies must be valid JSON and the first byte must be '{'
$ cat student-1-bucket.manual.json
{
"Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"ExampleStatement1\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::934017622331:user/student-1-cloud\"},\"Action\":\"*\",\"Resource\":\"arn:aws:s3:::cloud-1-14604\"}]}"
}
$
يقبل --policy
عادةً سلسلة JSON ، والتي تعتقد أن اسم الملف الخاص بك هو في الواقع مستند JSON الذي تريد استخدامه. للقيام بذلك مع الملفات ، ستحتاج إلى استخدام بروتوكول file://
مثل:
aws s3api put-bucket-policy --bucket cloud-1-$NAME --policy file://student-1-bucket.manual.json
ملاحظة لا يمكنني الوصول إلى بيئتك ، لذلك إذا فشل file://
بت ، فقد ترغب في تزويدها بالمسار المطلق إلى student-1-bucket.manual.json
بدلاً من ذلك.
cwgem أنت
تخصيص:
aws s3api put-bucket-policy \
--bucket $BucketName \
--policy file://$PathToPolicy/bucketpolicy.json
فمثلا:
aws s3api put-bucket-policy \
--bucket firstbucket.mydomain.com \
--policy file:///Users/Andy/Desktop/bucketpolicy.json
التعليق الأكثر فائدة
يقبل
--policy
عادةً سلسلة JSON ، والتي تعتقد أن اسم الملف الخاص بك هو في الواقع مستند JSON الذي تريد استخدامه. للقيام بذلك مع الملفات ، ستحتاج إلى استخدام بروتوكولfile://
مثل:ملاحظة لا يمكنني الوصول إلى بيئتك ، لذلك إذا فشل
file://
بت ، فقد ترغب في تزويدها بالمسار المطلق إلىstudent-1-bucket.manual.json
بدلاً من ذلك.