Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

s3api getobject permission denied

I am trying to fetch a file from s3 using aws-cli

aws s3api get-object --bucket <bucket_name> --key /foo.com/bar/summary-report-yyyymmdd.csv.gz temp_file.csv.gz --profile <profile_name>

but I am getting the following error -

An error occurred (AccessDenied) when calling the GetObject operation: Access Denied

I've rechecked my configuration using

aws configure --profile <profile_name>

and everything seems to be correct there. I am using the same credentials to browse and fetch the file on S3 browser without any issue.

Documentation is of minimal use as I have very limited access to this bucket. I cannot verify the permissions or use

aws s3 --profile <profile_name> ls
like image 913
Aveeral Jain Avatar asked Oct 20 '25 01:10

Aveeral Jain


2 Answers

AccessDenied can mean you dont have permission but its the error returned if the object does not exist (you can read here for the reason why to use this error)

You can make sure you have access to the bucket using the aws s3api list-objects command like

aws s3api list-objects --bucket <bucket_name> --query 'Contents[].{Key: Key, Size: Size}' --profile <profile_name>

Most probably in your case the issue is with the user of / in front of the key

aws s3api get-object --bucket <bucket_name> --key foo.com/bar/summary-report-yyyymmdd.csv.gz temp_file.csv.gz --profile <profile_name>
like image 81
Frederic Henri Avatar answered Oct 22 '25 03:10

Frederic Henri


For me the issue was kms access. I found this helpful: https://aws.amazon.com/premiumsupport/knowledge-center/s3-troubleshoot-403/

like image 40
barakbd Avatar answered Oct 22 '25 03:10

barakbd



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!