Fix credential method selection for chained vs non-chained MFA#86
Closed
propilideno wants to merge 3 commits intoByteNess:mainfrom
Closed
Fix credential method selection for chained vs non-chained MFA#86propilideno wants to merge 3 commits intoByteNess:mainfrom
propilideno wants to merge 3 commits intoByteNess:mainfrom
Conversation
Author
|
Replaced by: #87 |
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.
Introduction
After my changes, I notice that I broke some features when I was trying to pass the session duration to my
PROFILENAME.In this example, you can notice that we are dealing it as a
(chained MFA), that is not the truth.Fixed
This problem occurs because the:
aws-vault/vault/vault.go
Lines 344 to 346 in 7500108
Notice that previously I was handling both methods as chained credentials, so to use this feature
--duration, we must use the right method at the right timeI could get it working in both cases by using
NewSessionTokenProviderin the SOURCE profile when we haveconfig.ChainedFromProfile != nilCached Credentials
aws-vault/vault/sessionkeyring.go
Lines 103 to 114 in 7500108
After debugging, I found it:
Notice that we only reuse if we use the same sts get credential method,
I tried to bypass it but got a 403 Forbidden. So I'll leave it unchanged, because i cannot find a way to do it better
Conclusion
aws-vault after a login without role chaining
aws-vault after a login with role chaining
aws-vault after both
So, we must provide
Enter MFA code for arn:aws:iam::***:mfa/***:for each method.