bridgecrewio / checkov

Prevent cloud misconfigurations and find vulnerabilities during build-time in infrastructure as code, container images and open source packages with Checkov by Bridgecrew.
https://www.checkov.io/
Apache License 2.0
7.16k stars 1.12k forks source link

feat(terraform): Add check - ensure AWS CodeGuru resource contains CMK #6850

Closed talazuri closed 1 week ago

talazuri commented 1 week ago

User description

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

[//]: # "

PR Title

We use the title to create changelog automatically and therefore only allow specific prefixes
- break:    to indicate a breaking change, this supersedes any of the other types
- feat:     to indicate new features or checks
- fix:      to indicate a bugfix or handling of edge cases of existing checks
- docs:     to indicate an update to our documentation
- chore:    to indicate adjustments to workflow files or dependency updates
- platform: to indicate a change needed for the platform
Each prefix should be accompanied by a scope that specifies the targeted framework. If uncertain, use 'general'.
#    
Allowed prefixs:
ansible|argo|arm|azure|bicep|bitbucket|circleci|cloudformation|dockerfile|github|gha|gitlab|helm|kubernetes|kustomize|openapi|sast|sca|secrets|serverless|terraform|general|graph|terraform_plan|terraform_json
#
ex.
feat(terraform): add CKV_AWS_123 to ensure that VPC Endpoint Service is configured for Manual Acceptance

"

Description

feat(terraform): Add CKV_AWS_381 to ensure that AWS CloudGuru has CMK

New/Edited policies (Delete if not relevant)

CKV_AWS_381

Checklist:


Generated description

Below is a concise technical summary of the changes proposed in this PR:

Introduce a new Terraform check CKV_AWS_381 to ensure that AWS CodeGuru resources are configured with a Customer Managed Key (CMK) for encryption. The AWSCodeGuruHasCMK class implements this check by verifying the presence of kms_key_details with encryption_option set to CUSTOMER_MANAGED_CMK. This change enhances security by enforcing encryption standards. Additionally, test cases are added to validate the functionality of this check, ensuring it correctly identifies compliant and non-compliant configurations.

<table><tr><th>Topic</th><th>Details</th><tr><td><a href=https://baz.co/changes/bridgecrewio/checkov/6850?tool=ast&topic=CMK+Encryption+Check>CMK Encryption Check</a>
    </td><td>Implement a new Terraform check <code>AWSCodeGuruHasCMK</code> to ensure AWS CodeGuru resources use CMK for encryption.<details><summary>Modified files (1)</summary><ul><li>checkov/terraform/checks/resource/aws/AWSCodeGuruHasCMK.py</li></ul></details><details><summary>Latest Contributors(0)</summary><table><tr><th>User</th><th>Commit</th><th>Date</th></tr></table></details></td></tr>
Test Cases for CMK Check Add test cases to validate the AWSCodeGuruHasCMK check functionality.
Modified files (2)
  • tests/terraform/checks/resource/aws/test_AWSCodeGuruHasCMK.py
  • tests/terraform/checks/resource/aws/example_AWSCodeGuruHasCMK/AWSCodeGuruHasCMK.tf
Latest Contributors(0)
UserCommitDate
This pull request is reviewed by Baz. Join @talazuri and the rest of your team on (Baz).