S3 Object Access Issue: Some Videos Unaccessible Despite Identical Permissions

0

Hey There,

I'm encountering a perplexing issue with my S3 bucket where some video objects are not accessible despite having identical permissions and settings as others that are accessible. All videos are in the same bucket, and the bucket policy is correctly configured to allow access (see policy below)

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::video.myscreen.com.au/", "Condition": { "StringLike": { "aws:Referer": [ "https://thatwebcompany.com.au/", "https://lms.thatwebcompany.com.au/", "https://ms.itrainly.com/", "https://iwl.itrainly.com/", "https://twc.itrainly.com/", "https://myscreen.com.au/" ] } } } ] }

Here's a breakdown:

  1. Working Video URL:

  2. Non-working Video URL (after renaming a copy of the working video):

Steps Taken:

  • Verified identical permissions for both objects in AWS S3.
  • Moved the non-working video to the same object path as the working video.
  • Downloaded the working video, renamed it to the non-working video file name, and uploaded it back to S3. The renamed copy doesn't work.
  • Checked for any unusual characters in the file names.
  • Cleared browser cache and tested on different browsers and devices.
  • Checked AWS configurations including IAM policies, CORS settings, and bucket policies.
  • The Canonical ID's of the objects are identical
  • Neither files use AWS KMS encryption

Despite these steps, the issue persists. The error received is a 403 when trying to access the non-working video. Any insights or suggestions would be greatly appreciated!

Thank you.

Mark_K
asked 6 months ago155 views
2 Answers
0

Did you see this document? You've gone through some of the steps you mention, but not all of them.

https://docs.aws.amazon.com/AmazonS3/latest/userguide/troubleshoot-403-errors.html

answered 6 months ago
0

The 2 things that jump out to me is the resource and principal.

You are only specifying the root and not objects in the resource.

Try

"Resource":[ "arn:aws:s3:::video.myscreen.com.au/", "arn:aws:s3:::video.myscreen.com.au/*" ]

And for principal

"Principal": { "AWS": "*" }

profile picture
EXPERT
answered 6 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions