Skip to content

Conversation

newlinedeveloper
Copy link

restrictSqsDescryption flag incompatibility with shared KMS key Issue


Issue # (if applicable)

Closes #35418.

Reason for this change

The restrictSqsDescryption feature flag causes a circular dependency when the same customer-managed KMS key is used for both an SNS topic and an SQS queue. This results in deployment failures due to the KMS key policy referencing the SNS topic ARN, while the SNS topic depends on the KMS key for encryption.

Description of changes

  • Added documentation warnings to FEATURE_FLAGS.md and aws-sns-subscriptions/README.md about the incompatibility of the restrictSqsDescryption flag with shared KMS keys.
  • Added runtime validation in SqsSubscription to throw a clear error if the flag is enabled and the same KMS key is used for both SNS and SQS.
  • Provided recommended patterns and code examples for users to avoid this issue.

Alternatives considered:

  • Removing the SourceArn condition would reduce security and was rejected.

Design decisions:

  • Documentation and validation were chosen to prevent user confusion and deployment errors.

Describe any new or updated permissions being added

No new or updated IAM permissions are required.

Description of how you validated changes

  • Added and manually tested validation logic.
  • Verified documentation updates.
  • Ensured existing unit tests pass.

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@aws-cdk-automation aws-cdk-automation requested a review from a team September 8, 2025 09:13
@github-actions github-actions bot added beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK p2 labels Sep 8, 2025
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

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

The pull request linter fails with the following errors:

❌ Fixes must contain a change to an integration test file and the resulting snapshot.

If you believe this pull request should receive an exemption, please comment and provide a justification. A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed, add Clarification Request to a comment.

@newlinedeveloper
Copy link
Author

Hi @pahud. Please review this PR and let me know If I have to do any changes. Thanks

@aws-cdk-automation
Copy link
Collaborator

This PR has been in the CHANGES REQUESTED state for 3 weeks, and looks abandoned. Note that PRs with failing linting check or builds are not reviewed, please ensure your build is passing

To prevent automatic closure:

  • Resume work on the PR
  • OR request an exemption by adding a comment containing 'Exemption Request' with justification e.x "Exemption Request: "
  • OR request clarification by adding a comment containing 'Clarification Request' with a question e.x "Clarification Request: "

This PR will automatically close in 14 days if no action is taken.

@aws-cdk-automation
Copy link
Collaborator

This PR has been deemed to be abandoned, and will be automatically closed. Please create a new PR for these changes if you think this decision has been made in error.

@aws-cdk-automation aws-cdk-automation added the closed-for-staleness This issue was automatically closed because it hadn't received any attention in a while. label Oct 15, 2025
Copy link
Contributor

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 15, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK closed-for-staleness This issue was automatically closed because it hadn't received any attention in a while. p2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

(core): restrictSqsDescryption flag can cause circular dependency

2 participants