feat(iam): add new check iam_policy_no_kms_decryption_actions
#5619
+431
−10
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.
Context
AWS Key Management Service (KMS)
helps manage encryption keys to secure data acrossAWS
. To protect sensitive data,IAM customer managed policies
should avoid granting broad decryption permissions on allKMS keys
, adhering to the principle of least privilege. This principle emphasizes granting users, roles, or groups only the specific permissions necessary to perform their tasks, minimizing the risk of unauthorized data access.Description
This check assesses
IAM customer managed policies
to ensure they don’t allowkms:Decrypt
orkms:ReEncryptFrom
permissions across allKMS keys
. If a policy is configured to allow these actions on all resources (indicated by a wildcard or similar pattern in the Resource element), the check fails. Broad permissions could expose encrypted data unnecessarily and elevate the risk of data misuse.Checklist
License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.