你好。 我在几个问题中看到了这个错误,我一定很累。 对我来说,解决方案应该是什么并不明显。 我正在尝试上传存储桶策略并收到 JSON 错误。 然后我下载了(使用 UI 输入并且工作正常)/上传并得到相同的错误。 关于如何使用该工具上传这个的任何建议? 保持良好的工作!
$ 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
的绝对路径。