Как читать объект S3 из корзины S3 по подписанному URL-адресу из CloudFront.
Я создаю подписанный URL S3 с помощью boto3, который доступен в течение 3600 секунд.Работает нормально.Через 3600 секунд подписанный URL-адрес недействителен, что является правильным.
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
Я создал CloudFront Distribution с настройками источника в корзину 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/*" } ] }