Aws-cli: Kebijakan harus berupa JSON yang valid dan byte pertama harus '{'

Dibuat pada 19 Agu 2017  ·  3Komentar  ·  Sumber: aws/aws-cli

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\"}]}"
}
$

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 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.

Semua 3 komentar

--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
Apakah halaman ini membantu?
0 / 5 - 0 peringkat