Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Amazon S3 : Access Denied for URL using symbols

I would like to download some files uploaded on my S3 Server.

For the moment, all my buckets and files inside them are public, so I can download what I want. Unfortunately, I can't access to files using special characters like a space or "&"...

I tried to change the special characters in my URL by HTML code :

http://s3-eu-west-1.amazonaws.com/custom.bucket/mods/b&b.jar

by

http://s3-eu-west-1.amazonaws.com/custom.bucket/mods/b%26b.jar

But I always have the same error :

<Error>
    <Code>AccessDenied</Code>
    <Message>Access Denied</Message>
    <RequestId>3E987FCE07075166</RequestId>
    <HostId>
        O2EIujdbiAeYg44rsezQlargfT7qVSL8SpqbTxkd/1UwxQrwZ3SJ+R3NlHyGF7rI
    </HostId>
</Error>

Anybody could resolve this problem ?

I can't rename them because there are used by other applications.

like image 756
jbltx Avatar asked Nov 30 '13 14:11

jbltx


1 Answers

I am able to download public files with '&' in the name with no problems using curl:

curl https://s3.amazonaws.com/mybucket/test/b%26b.jar

Recheck the permissions on your file using the AWS console. Make sure the file has "Grantee: Everyone", and Open/Download permissions clicked, as in this screenshot:

AWS Console Screenshot

Make sure to click the "save" button after you add these credentials. Alternatively, try using your security credentials.

like image 167
lreeder Avatar answered Oct 15 '22 08:10

lreeder