I have created a bucket with read-only access for Everyone. I want to try it out using s3cmd, connecting anonymously.
But, if I have "access_key = ", or if I omit access_key altogether, I get "(InvalidAccessKeyId): The AWS Access Key Id you provided does not exist in our records".
Is there a way to run s3cmd without specifying an access_key?
Hi I don't think it's possible. The "InvalidAccessKeyId" error is being returned by Amazon, not raised by s3cmd. I assume the read-only to "Everyone" in fact means to "Everyone who authenticates to Amazon". And the objects should also be accessible over HTTP in addition to the Amazon protocol.
S3 does have a concept of anonymous access, not just access for those authenticating.
Here are some notes from the "GroupGrantee" page of the javadoc:
"public static final GroupGrantee AllUsers
Grants anonymous access to any Amazon S3 object or bucket. Any user will be able to access the object by omitting the AWS Key ID and Signature from a request."
So, I think the issue is that s3cmd is sending an empty access_key instead of omitting it from the request or something. That's cool, I can test this with something else. Just wondering if there was a way to make s3 do it.
as far as i can see the same problem still exists. any fix in works?
the error is:
ERROR: S3 error: 403 (InvalidAccessKeyId): The AWS Access Key Id you provided does not exist in our records.
i didnt provide any access key because i just need access to an anonymous enabled public bucket.
working anonymous login without aws credentials would be useful for people who just want to download a few files in public buckets without giving their credit card information to amazon