RLB*_*ant 4 amazon-s3 amazon-web-services
我是 AWS 的新手。我正在设置一个 S3 存储桶,我想用它来存储我正在开发的 Django 应用程序的媒体文件。
我以创建 AWS 账户的人身份登录,但是当我单击权限选项卡然后尝试编辑存储桶策略时,我收到一条消息,指出“您无权编辑存储桶策略”。
我正在遵循描述 Django 设置配置的指南,但我的理解是这样做的目的是允许对文件进行公共读取访问。我能够毫无问题地设置 CORS 策略。
我创建了一个以他们身份登录的 IAM 用户,但它仍然出现错误。该 IAM 用户有权访问所有 S3 存储桶。该错误指出“在您或您的 AWS 管理员更新您的权限以允许 s3:PutBucketPolicy 操作后,选择保存更改。”
我去了应用于存储桶的策略,它具有此权限。这是 JSON。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": "mybucketARN"
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": "mybucketARN"
}
]
}
Run Code Online (Sandbox Code Playgroud)
必须在存储桶上启用公共访问,然后我才能保存存储桶策略。
这是我添加的政策。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "myBucketarn"
}
]
}
Run Code Online (Sandbox Code Playgroud)
小智 5
当您尝试分配存储桶策略并且其主体中包含“*”时,则需要禁用“阻止公共访问”设置。否则,您将收到错误“在您或您的 AWS 管理员更新您的权限以允许 s3:PutBucketPolicy 操作后,选择保存更改”。
您最初问题中的问题是您设置的策略看起来不像存储桶策略,因为其中没有主体。
即使不禁用“阻止公共访问”设置,您也可以在主体中放置具有特定 ARN 的存储桶策略。
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
3412 次 |
| 最近记录: |