aws / aws-sdk-ruby

The official AWS SDK for Ruby.
https://aws.amazon.com/sdk-for-ruby/
Apache License 2.0
3.58k stars 1.23k forks source link

Unsigned request option #1149

Open wjordan opened 8 years ago

wjordan commented 8 years ago

The AWS CLI has a --no-sign-request option which I've found useful for anonymously downloading S3 objects with public-read ACLs, and I'd like to see a similar feature added to the Ruby SDK.

Although it's currently possible to pass an S3 object's #public_url to open or another Ruby HTTP client, I'd like to be able to leverage the AWS SDK's existing functionality for optimized downloading, file integrity verification and network-error retries, but without requiring credentials to be provided when not necessary.

trevorrowe commented 8 years ago

This is something I've been considering adding to the SDK recently. I'm still considering what the mechanism would be to allow for unauthenticated requests.

awood45 commented 8 years ago

Added to feature request backlog.

Techbrunch commented 6 years ago

@awood45 is this still in the request backlog ?

mullermp commented 5 years ago

Reopening - deprecating usage of Feature Requests backlog markdown file.

github-actions[bot] commented 4 years ago

Greetings! We’re closing this issue because it has been open a long time and hasn’t been updated in a while and may not be getting the attention it deserves. We encourage you to check if this is still an issue in the latest release and if you find that this is still a problem, please feel free to comment or open a new issue.

github-actions[bot] commented 3 years ago

Greetings! We’re closing this issue because it has been open a long time and hasn’t been updated in a while and may not be getting the attention it deserves. We encourage you to check if this is still an issue in the latest release and if you find that this is still a problem, please feel free to comment or open a new issue.

github-actions[bot] commented 2 years ago

Greetings! We’re closing this issue because it has been open a long time and hasn’t been updated in a while and may not be getting the attention it deserves. We encourage you to check if this is still an issue in the latest release and if you find that this is still a problem, please feel free to comment or open a new issue.

yashdave31 commented 8 months ago

Hey @mullermp, is this still in the feature backlog?

mullermp commented 8 months ago

Yes, but it's not prioritized. I think that there is a workaround however. The Clients support an undocumented unsigned_operations key. I can't guarantee the backwards compatibility for it going forward (like in a new major version), but you can do something like this:

Aws::S3::Client.new(unsigned_operations: [:get_object]).get_object(bucket: 'bucket', key: 'test')

In the future we are trying to do pluggable signers, and in a case like this, it would be an AnonymousSigner object but that is a long term goal.