s3桶策略访问对象url



什么是s3桶策略权限提供IAM用户访问对象url,这基本上是一个HTTPs url的对象,我已经上传到s3桶。

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListBucket",
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::bucket"
},
{
"Sid": "GetObject",
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": "arn:aws:s3:::bucket/*"
}
]
}

有了上面的策略,我可以把对象下载到我的本地,但我不能用包含Https链接的对象url访问它。如果我保持s3桶的完整公共,只有这样我才能有https访问对象的url。

我不想提供完整的公共访问和如何提供访问这个桶策略?

您可以通过为对象生成s3个预签名url来获得https url。这将允许临时使用生成的url访问。

除此之外,一种常见的选择是与外部世界共享s3对象,而不将bucket设为公共使用CloudFront的说明见:

  • Amazon S3 + Amazon CloudFront: A Match Made in Cloud

Amazon S3中的对象默认是私有的。它们不能通过匿名URL访问。

如果您希望特定的IAM User能够访问桶,那么您可以为IAM User自己添加权限。然后,在访问桶时,他们需要识别自己并证明自己的身份。这最好通过对Amazon S3进行API调用来完成。,包括身份验证。

如果您必须通过URL访问私有对象,那么您可以创建一个Amazon S3预签名URL,这是一个有时间限制的URL,提供对私有对象的临时访问。这证明了您的所有权,并将让S3为您提供内容。预签名URL可以用几行代码生成。

最新更新