gpt4 book ai didi

amazon-web-services - 亚马逊上的存储桶权限

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

我试图只允许在 URL(时间戳)上有签名的用户访问存储桶文件。

我向存储桶添加了一个策略:

{
"Version": "2008-10-17",
"Id": "Policy1416760830285",
"Statement": [
{
"Sid": "Stmt1416760822325",
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*",
"Condition": {
"Null": {
"aws:TokenIssueTime": false
}
}
}
]
}

但仍然任何人都可以访问我的 URL。

有什么想法吗?

最佳答案

“任何人仍然可以访问”您的对象这一事实表明您已授予对对象的默认访问权限,然后您试图拒绝没有签名(预签名 URL)的访问。

如果您希望使用预签名 URL 仅提供对 Amazon S3 中对象的访问权限,则不需要存储桶策略。解释...

默认情况下,Amazon S3 中的所有对象都是私有(private)的。然后您可以添加权限,以便人们可以访问您的对象。这可以通过以下方式完成:

  • 对单个对象的访问控制列表权限
  • 存储桶策略(按照您上面的)
  • IAM 用户和组

A Pre-Signed URL 可用于授予对 S3 对象的访问权限,作为“覆盖”访问控制的一种方式。可以通过附加到期时间和签名的 URL 访问通常私有(private)的对象。这是无需 Web 服务器即可提供私有(private)内容的好方法。

如果您的目标是仅在使用预签名 URL 的地方提供内容,则:

  • 不要通过上面列出的常规方法分配任何权限(默认情况下它们保持私有(private))
  • 使用预签名 URL 访问对象

这样,访问对象的唯一方法就是使用预签名 URL(具有签名)。不需要存储桶策略。

关于amazon-web-services - 亚马逊上的存储桶权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27091936/

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