We have a S3 bucket that is public and requires no authentication, yet we cannot access it via boto3 unless there are credentials configured in one of these modes: http://boto3.readthedocs.io/en/latest/guide/configuration.html#configuring-credentials
The only one that actually doesn't require an aws account, would be the IAM role configuration, but we don't control the instance. Is there an equivalent boto3.client() call that would work like 'aws s3 cp s3://
Yep. All you need to do is the following:
>>> import boto3
>>> from botocore import UNSIGNED
>>> from botocore.config import Config
>>> s3 = boto3.client('s3', config=Config(signature_version=UNSIGNED))
And from there any request made from the client will not be signed. Let us know if you have anymore questions.
This works, thanks! My only other comment would be to update the documentation, in the Configuration/Credentials section to mention this.
Most helpful comment
Yep. All you need to do is the following:
And from there any request made from the client will not be signed. Let us know if you have anymore questions.