【发布时间】:2019-03-20 14:38:38
【问题描述】:
我正在尝试学习如何使用 AWS 开发 Web 应用程序并关注此研讨会 Build a Modern Web Application
我必须更新 s3 存储桶策略,因此按照 B 部分中的说明,我将 JSON 文件中的字符串 REPLACE_ME_BUCKET_NAME 替换为我创建的存储桶名称 mythicalbucket1,这是我得到的错误:
调用 PutBucketPolicy 操作时发生错误 (MalformedPolicy):策略中的主体无效。
这是 JSON 文件:
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity REPLACE_ME_CLOUDFRONT_ORIGIN_ACCESS_IDENTITY_ID"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mythicalbucket1"
}
]
}
我尝试阅读存储桶策略的文档,但由于我必须向公众(或所有人)授予访问权限,我将 Principal 的值替换为 *,这再次给出了不同的错误。
查看 JSON 文件,我假设 REPLACE_ME_CLOUDFRONT_ORIGIN_ACCESS_IDENTITY_ID 必须替换为一些 CloudFront ID,但不确定在这种情况下是否需要这样做。
我确实浏览了有关 CloudFront ID 和存储桶策略的各种文档,但一切仍然令人困惑。非常感谢您对此的任何帮助。
【问题讨论】:
标签: amazon-web-services amazon-s3