gpt4 book ai didi

amazon-web-services - 即使使用存储桶和/或用户策略,对 AWS s3 存储桶的访问也被拒绝

转载 作者:行者123 更新时间:2023-12-04 22:09:58 24 4
gpt4 key购买 nike

我已经尝试了几乎所有可能的存储桶策略。还尝试向用户添加策略,但每次我尝试使用 AWS 控制台从 s3 存储桶下载对象时都会拒绝访问。

存储桶策略:

{
"Version": "2012-10-17",
"Id": "MyPolicy",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::12345678901011:user/my-username"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
]
},
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::my-bucket/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"XX.XXX.XXX.XXX/24",
"XXX.XXX.XXX.XXX/24"
]
}
}
}
]
}

这不起作用,所以我尝试将 策略添加到我的用户名:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "StmtXXXXXXXXXX",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
]
}
]
}

最佳答案

听起来很奇怪,可以将拥有存储桶的账户 的对象上传到 Amazon S3。无法访问 .
将对象上传到 Amazon S3 (PutObject) 时,可以指定访问控制列表 (ACL)。可能的值为:

  • 私有(private)
  • 公开阅读
  • 公共(public)读写
  • 认证读取
  • aws-exec 读取
  • bucket-owner-read
  • bucket-owner-full-control

  • 您通常应该使用 bucket-owner-full-control 上传对象访问控制列表。这允许桶的所有者访问对象和控制对象的权限(例如删除它)。
    如果未提供此权限,则他们无法访问或修改该对象。
    我知道这与您认为水桶应该工作的方式相矛盾,但这是真的!
    如何解决:
  • 使用 bucket-owner-full-control 重新上传对象ACL,或
  • 原始上传者可以遍历对象并就地执行 CopyObject使用新的 ACL。这会更改权限,而无需重新上传。

  • 更新: 2021 年 11 月,发布了一个新功能: Amazon S3 Object Ownership can now disable access control lists to simplify access management for data in S3 .这避免了指定对象所有权的需要并解决了对象所有权的大多数问题。

    关于amazon-web-services - 即使使用存储桶和/或用户策略,对 AWS s3 存储桶的访问也被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45704513/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com