Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement sigv4 signing for s3 downloads #21956

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

chris-smith-zocdoc
Copy link
Contributor

Fixes #21955

@chris-smith-zocdoc chris-smith-zocdoc changed the title implement sigv4 signing for s3 downloads DRAFT: implement sigv4 signing for s3 downloads Feb 14, 2025
@chris-smith-zocdoc

This comment was marked as resolved.

@chris-smith-zocdoc

This comment was marked as resolved.

@chris-smith-zocdoc chris-smith-zocdoc changed the title DRAFT: implement sigv4 signing for s3 downloads implement sigv4 signing for s3 downloads Feb 17, 2025
# and fallback to us-east-1
signing_region = request.region or aws_credentials.default_region or "us-east-1"

signer = auth.SigV4Auth(aws_credentials.creds, "s3", signing_region)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it worth supporting the old codepath under a flag (HmacV1Auth)? Not sure risky you view this change as

Copy link
Contributor

@tdyas tdyas Feb 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea. If on the remote chance a user does see an issue, they can just configure the old behavior. Even if S3 might be perfectly fine with it, I can imagine a user using some S3 API-compatible service which we have never heard of and having an issue. It may never happen but I can't discount the possibility. Feature flags are cheap insurance.

You can set a removal_version and removal_hint on the transition option so that we maintainers know to remove the option at an appropriate point in the future (or reevaluate its necessity at least, maybe document that in the removal_hint).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a particular options subsystem I should add to? I don't see one for url handlers/s3. Or I could make a new one

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I don't see one either. Maybe add a new one then?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe aws-s3-download-handler or a better name?

@chris-smith-zocdoc chris-smith-zocdoc force-pushed the cs_fix_aws_sigv4 branch 2 times, most recently from 0beaff9 to 9a2032c Compare February 27, 2025 20:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

AWS S3 download fails when using KMS encrypted objects
2 participants