-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
feat(cloudformation): Add partial NoEcho
parameter support
#11897
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
feat(cloudformation): Add partial NoEcho
parameter support
#11897
Conversation
eca35ab
to
b626579
Compare
NoEcho
field in CloudFormation parametersNoEcho
parameter support
b626579
to
004168b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a really good first attempt. Just a few comments in the code.
Did you consider the additional caveats when implementing this feature?
Would you tackle these here or in a follow up?
004168b
to
82e958a
Compare
@simonrw Thank you for your review and feedback. I have addressed all code comments. As for handling the caveats related to
Would you like me to add specific tests for the Metadata section and Resource Metadata attribute? Additionally, should I proceed with printing warnings for |
Thanks for the detailed response @rominf.
👍
That's great, thanks - updating the single test you have would be enough to cover both of these cases. The test already snapshots the
I think this is a nice feature to have for our users. I am not sure if
Which would you suggest? |
@rominf I can see one of our integration tests failing with your latest commit. Could you fix this please? |
b871e6b
to
afdfbcb
Compare
@simonrw You are right; As for the template Metadata, it turns out that CloudFormation does not expose the fully processed or final template, so I implemented a check for resource Metadata only.
Thanks. I fixed it. |
afdfbcb
to
aaa2474
Compare
aaa2474
to
0cd3b9c
Compare
This commit introduces support for the `NoEcho` attribute in CloudFormation parameters. The implementation ensures that sensitive parameters marked with `NoEcho: true` are properly masked in responses from `describe-stacks` and `describe-change-set` operations, enhancing security and compliance. - Masked `NoEcho` parameters in the Parameters section of `describe-stacks` output - Applied similar masking logic to the Parameters section in `describe-change-set` output This change aligns LocalStack's behavior more closely with AWS CloudFormation, providing a more accurate local testing environment. Follow-up changes might include printing warnings when using `NoEcho` parameters, stating that this may expose sensitive information in the stack outputs and metadata. Users should ensure that sensitive information is not directly embedded in the template.
0cd3b9c
to
8072a41
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for resolving my suggestions, this PR is looking good 🎉 Thank you for your contribution!
Motivation
This commit introduces support for the
NoEcho
attribute in CloudFormation parameters. This change aligns LocalStack's behavior more closely with AWS CloudFormation, providing a more accurate local testing environment.Changes
The implementation ensures that sensitive parameters marked with
NoEcho: true
are properly masked in responses fromdescribe-stacks
anddescribe-change-set
operations, enhancing security and compliance.NoEcho
parameters in the Parameters section ofdescribe-stacks
outputdescribe-change-set
outputFollow-up changes might include printing warnings when using
NoEcho
parameters, stating that this may expose sensitive information in the stack outputs and metadata. Users should ensure that sensitive information is not directly embedded in the template.