gpt4 book ai didi

amazon-web-services - S3 策略 - 公共(public)写入但仅经过身份验证的读取

转载 作者:行者123 更新时间:2023-12-04 14:27:54 25 4
gpt4 key购买 nike

我正在尝试做的是让(匿名)用户将文件共享到指定的存储桶。但是,他们应该无法读取已经存在的文件(而且我什至不关心他们自己提交的文件)。唯一应该能够从存储桶中列出/获取对象的帐户应该是存储桶的所有者。

这是我到目前为止得到的:

{
"Version": "2012-10-17",
"Id": "PutOnlyPolicy",
"Statement": [
{
"Sid": "Allow_PublicPut",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::myputbucket/*"
},
{
"Sid": "Deny_Read",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::myputbucket/*"
},
{
"Sid": "Allow_BucketOwnerRead",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::myAWSAccountID:root"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::myputbucket/*"
}
]
}

上述策略使我能够将文件写入存储桶(例如通过 android 应用程序 S3anywhere),但我无法获取对象,即使使用我经过身份验证的帐户也是如此。

关于如何完成此操作,您有任何提示吗?谢谢!

最佳答案

默认情况下,匿名用户无法读取存储桶内容。所以你的政策中应该只有这些行:

{
"Version": "2012-10-17",
"Id": "PutOnlyPolicy",
"Statement": [
{
"Sid": "Allow_PublicPut",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::myputbucket/*"
}
]
}

关于amazon-web-services - S3 策略 - 公共(public)写入但仅经过身份验证的读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41638167/

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