Refactor: Remove explicit AWS credentials from MessageQueueConfiguration #2
+794,515
−1
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.
Refactor: Enhance Security by Removing Explicit AWS Credentials
Addresses a critical security vulnerability (CWE-798: Use of Hard-coded Credentials / CWE-287: Improper Authentication) by eliminating the direct inclusion of
accessKey
andsecretKey
inMessageQueueConfiguration.java
.Security Risk Addressed:
Directly mapping AWS credentials in configuration classes, even if intended to be loaded from environment variables, poses a significant security risk. This configuration pattern could lead to:
Such exposure could grant unauthorized access to sensitive AWS resources, leading to potential data breaches or service disruptions.
Solution Implemented:
The application now leverages the AWS SDK's default credential provider chain. This is achieved by:
accessKey
andsecretKey
fields fromMessageQueueConfiguration.java
.DefaultCredentialsProvider
by settingaws.default-credentials-provider-chain-enabled=true
inapplication.yaml
.accessKey
andsecretKey
entries from thestatus.messageQueue
configuration inapplication.yaml
.Benefits of this Approach:
This change ensures that AWS credentials are automatically and securely discovered from recommended sources, strengthening the overall security posture of the application.