Aws-cli: يجب أن تكون السياسات JSON صالحة ويجب أن يكون البايت الأول "{"

تم إنشاؤها على ١٩ أغسطس ٢٠١٧  ·  3تعليقات  ·  مصدر: aws/aws-cli

مرحبا. لقد رأيت هذا الخطأ في عدد قليل من القضايا ، ولا بد لي من التعب. ليس من الواضح بالنسبة لي ما يجب أن يكون الحل. أحاول تحميل سياسة حاوية وأتلقى خطأ 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 بدلاً من ذلك.

ال 3 كومينتر

يقبل --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
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات