如何通过CloudFront的签名URL从S3存储桶中读取S3对象。
我通过boto3创建S3签名的url,该URL可用3600秒。一切正常。 3600秒后,所输入的网址无效。
S3 Signed URL: https://s3.amazonaws.com/BucketName/2018-11-01_19_43_31.pdf?AWSAccessKeyId=XXXXX&Signature=XXXXXX&x-amz-security-token=xxxxxx&Expires=XXXXX
我创建了带有Front Settings的CloudFront分配到S3存储桶。
CloudFront endpoint: https://qwqwqwqwqw.cloudfront.net/
我创建签名的URL(步骤3),并替换为CloudFront Distribution的端点。
https://qwqwqwqwqw.cloudfront.net/2018-11-01_19_43_31.pdf?AWSAccessKeyId=XXXXX&Signature=XXXXXX&x-amz-security-token=xxxxxx&Expires=XXXXX
我能够下载S3对象。 但是在3600秒之后 下载文件。测试用例是-不要下载S3对象。
以下是我的存储桶策略:
{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity $SDSDSFDAs$"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket-name/*"
}
]
}