Halo. Saya telah melihat kesalahan ini dalam beberapa masalah, dan saya pasti lelah. Tidak jelas bagi saya apa solusinya. Saya mencoba mengunggah kebijakan ember dan mendapatkan kesalahan JSON. Saya kemudian mengunduh (menggunakan UI untuk masuk dan berfungsi dengan baik)/mengunggah dan mendapatkan kesalahan yang sama. Adakah saran tentang cara menggunakan alat untuk mengunggah ini? Pertahankan kerja bagus!
$ 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
biasanya menerima string JSON, yang menurutnya nama file Anda sebenarnya adalah dokumen JSON yang ingin Anda gunakan. Untuk melakukannya dengan file, Anda harus menggunakan protokol file://
seperti:
aws s3api put-bucket-policy --bucket cloud-1-$NAME --policy file://student-1-bucket.manual.json
Catatan Saya tidak memiliki akses ke lingkungan Anda, jadi jika bit file://
gagal, Anda mungkin ingin memberikannya jalur absolut ke student-1-bucket.manual.json
sebagai gantinya.
@cwgem Anda sepenuhnya benar! Terima kasih.
Spesifikasi:
aws s3api put-bucket-policy \
--bucket $BucketName \
--policy file://$PathToPolicy/bucketpolicy.json
Sebagai contoh:
aws s3api put-bucket-policy \
--bucket firstbucket.mydomain.com \
--policy file:///Users/Andy/Desktop/bucketpolicy.json
Komentar yang paling membantu
--policy
biasanya menerima string JSON, yang menurutnya nama file Anda sebenarnya adalah dokumen JSON yang ingin Anda gunakan. Untuk melakukannya dengan file, Anda harus menggunakan protokolfile://
seperti:Catatan Saya tidak memiliki akses ke lingkungan Anda, jadi jika bit
file://
gagal, Anda mungkin ingin memberikannya jalur absolut kestudent-1-bucket.manual.json
sebagai gantinya.