Fix generating presigned URL for K8s authentication#7487
Merged
yuxiang-zhang merged 1 commit intoeksctl-io:mainfrom Jan 19, 2024
Merged
Fix generating presigned URL for K8s authentication#7487yuxiang-zhang merged 1 commit intoeksctl-io:mainfrom
yuxiang-zhang merged 1 commit intoeksctl-io:mainfrom
Conversation
With `aws-sdk-go-v2@1.24.1`, API server requests containing URLs presigned by `sts.PresignClient` fail with an `Unauthorized` error. `aws-sdk-go-v2@1.24.1` adds an extra header `amz-sdk-request` to the generated request, but this header is not allow-listed by `aws-iam-authenticator` server running on the control plane. This is likely due to [this change](aws/aws-sdk-go-v2#2438) which reorders the middleware operations to execute `RetryMetricsHeader` before `Signing`. This changelist removes the `RetryMetricsHeader` middleware from the stack when constructing `sts.PresignClient`.
b895088 to
ce27549
Compare
yuxiang-zhang
approved these changes
Jan 19, 2024
54 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
With
aws-sdk-go-v2@1.24.1, API server requests containing URLs presigned bysts.PresignClientfail with anUnauthorizederror.aws-sdk-go-v2@1.24.1adds an extra headeramz-sdk-requestto the generated request, but this header is not allow-listed byaws-iam-authenticatorserver running on the control plane. This is likely due to this change which reorders the middleware operations to executeRetryMetricsHeaderbeforeSigning.This changelist removes the
RetryMetricsHeadermiddleware from the stack when constructingsts.PresignClient.This functionality is part of
aws-sdk-go-v2and is therefore not covered by unit tests.Fixes #7486
Checklist
README.md, or theuserdocsdirectory)area/nodegroup) and kind (e.g.kind/improvement)BONUS POINTS checklist: complete for good vibes and maybe prizes?! 🤯