Skip to content

Conversation

puchy22
Copy link
Member

@puchy22 puchy22 commented Sep 12, 2025

Context

Updating aws acm service metadata to conform with the new standardized metadata format used across Prowler checks, defined in #8411.

Description

This PR updates all metadata files for aws acm checks to adapt to the new metadata format. The changes ensure consistency with the metadata structure being adopted across all Prowler services. The modified checks are:

  • acm_certificates_expiration_check
  • acm_certificates_transparency_logs_enabled
  • acm_certificates_with_secure_key_algorithms

Checklist

API

  • Verify if API specs need to be regenerated.
  • Check if version updates are required (e.g., specs, Poetry, etc.).
  • Ensure new entries are added to CHANGELOG.md, if applicable.

License

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

@puchy22 puchy22 requested a review from a team as a code owner September 12, 2025 11:14
@puchy22 puchy22 requested a review from a team as a code owner September 12, 2025 11:14
@github-actions github-actions bot added the provider/aws Issues/PRs related with the AWS provider label Sep 12, 2025
Copy link
Contributor

github-actions bot commented Sep 12, 2025

⚠️ Changes detected in the following folders without a corresponding update to the CHANGELOG.md:

  • prowler

Please add an entry to the corresponding CHANGELOG.md file to maintain a clear history of changes.

@puchy22 puchy22 changed the title feat(aws): enhance metadata for acm service feat(aws): enhance metadata for acm service Sep 12, 2025
Copy link

codecov bot commented Sep 12, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.01%. Comparing base (5b03659) to head (8c96031).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #8716       +/-   ##
===========================================
+ Coverage   75.47%   88.01%   +12.54%     
===========================================
  Files          72      901      +829     
  Lines        4962    28320    +23358     
===========================================
+ Hits         3745    24926    +21181     
- Misses       1217     3394     +2177     
Flag Coverage Δ
prowler 88.01% <ø> (+12.54%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
prowler 88.01% <ø> (+12.54%) ⬆️
api ∅ <ø> (∅)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@puchy22 puchy22 changed the title feat(aws): enhance metadata for acm service chore(aws): enhance metadata for acm service Sep 12, 2025
Comment on lines +19 to +20
"https://cloudviz.io/blog/15-aws-config-rules-every-aws-account-should-have",
"https://aws.plainenglish.io/streamline-ssl-tls-certificates-with-aws-certificate-manager-acm-7e792e2c575e",
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
"https://cloudviz.io/blog/15-aws-config-rules-every-aws-account-should-have",
"https://aws.plainenglish.io/streamline-ssl-tls-certificates-with-aws-certificate-manager-acm-7e792e2c575e",

"AdditionalURLs": [
"https://cloudviz.io/blog/15-aws-config-rules-every-aws-account-should-have",
"https://aws.plainenglish.io/streamline-ssl-tls-certificates-with-aws-certificate-manager-acm-7e792e2c575e",
"https://www.clouddefense.ai/compliance-rules/cisa-cyber-essentials/data/acm-certificate-expires-30-days",
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
"https://www.clouddefense.ai/compliance-rules/cisa-cyber-essentials/data/acm-certificate-expires-30-days",
"https://www.trendmicro.com/cloudoneconformity/knowledge-base/aws/ACM/certificate-expires-in-45-days.html",

"https://cloudviz.io/blog/15-aws-config-rules-every-aws-account-should-have",
"https://aws.plainenglish.io/streamline-ssl-tls-certificates-with-aws-certificate-manager-acm-7e792e2c575e",
"https://www.clouddefense.ai/compliance-rules/cisa-cyber-essentials/data/acm-certificate-expires-30-days",
"https://cloudcustodian.io/docs/aws/resources/acm-certificate.html",
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
"https://cloudcustodian.io/docs/aws/resources/acm-certificate.html",

"https://aws.plainenglish.io/streamline-ssl-tls-certificates-with-aws-certificate-manager-acm-7e792e2c575e",
"https://www.clouddefense.ai/compliance-rules/cisa-cyber-essentials/data/acm-certificate-expires-30-days",
"https://cloudcustodian.io/docs/aws/resources/acm-certificate.html",
"https://docs.gruntwork.io/reference/modules/terraform-aws-security/aws-config-rules/",
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
"https://docs.gruntwork.io/reference/modules/terraform-aws-security/aws-config-rules/",

"https://www.clouddefense.ai/compliance-rules/cisa-cyber-essentials/data/acm-certificate-expires-30-days",
"https://cloudcustodian.io/docs/aws/resources/acm-certificate.html",
"https://docs.gruntwork.io/reference/modules/terraform-aws-security/aws-config-rules/",
"https://asecure.cloud/a/acm-certificate-expiration-check/",
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
"https://asecure.cloud/a/acm-certificate-expiration-check/",

"https://stackoverflow.com/questions/67606544/how-to-solve-aws-cloudfront-ssl-certificate-doesnt-exist",
"https://repost.aws/questions/QUhtmyY4d5SK6dvKUen8A7xg/aws-acm-algorithm-and-encryption",
"https://sdk.amazonaws.com/kotlin/api/latest/acm/aws.sdk.kotlin.services.acm.model/-request-certificate-request/-builder/key-algorithm.html",
"https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html",
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
"https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html",
"https://docs.aws.amazon.com/acm/latest/userguide/data-protection.html"

"https://repost.aws/questions/QUhtmyY4d5SK6dvKUen8A7xg/aws-acm-algorithm-and-encryption",
"https://sdk.amazonaws.com/kotlin/api/latest/acm/aws.sdk.kotlin.services.acm.model/-request-certificate-request/-builder/key-algorithm.html",
"https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html",
"https://docs.aws.amazon.com/securityhub/latest/userguide/acm-controls.html#acm-2"
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
"https://docs.aws.amazon.com/securityhub/latest/userguide/acm-controls.html#acm-2"

"NativeIaC": "",
"Other": "",
"Terraform": ""
"NativeIaC": "```yaml\n# CloudFormation: ACM certificate with secure key algorithm\nResources:\n <example_resource_name>:\n Type: AWS::CertificateManager::Certificate\n Properties:\n DomainName: <example_domain>\n KeyAlgorithm: EC_prime256v1 # CRITICAL: ensures a secure key algorithm (ECDSA P-256) to pass the check\n```",
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
"NativeIaC": "```yaml\n# CloudFormation: ACM certificate with secure key algorithm\nResources:\n <example_resource_name>:\n Type: AWS::CertificateManager::Certificate\n Properties:\n DomainName: <example_domain>\n KeyAlgorithm: EC_prime256v1 # CRITICAL: ensures a secure key algorithm (ECDSA P-256) to pass the check\n```",
"NativeIaC": "```yaml\n# CloudFormation: ACM certificate with secure key algorithm\nResources:\n <example_resource_name>:\n Type: AWS::CertificateManager::Certificate\n Properties:\n DomainName: <example_domain>\n KeyAlgorithm: EC_prime256v1 # CRITICAL: ensures a secure key algorithm (RSA-2048+ or ECDSA P-256+)\n```",

"Terraform": ""
"NativeIaC": "```yaml\n# CloudFormation: ACM certificate with secure key algorithm\nResources:\n <example_resource_name>:\n Type: AWS::CertificateManager::Certificate\n Properties:\n DomainName: <example_domain>\n KeyAlgorithm: EC_prime256v1 # CRITICAL: ensures a secure key algorithm (ECDSA P-256) to pass the check\n```",
"Other": "1. In the AWS Console, go to Certificate Manager (ACM)\n2. Click Request a certificate and enter <example_domain>\n3. Under Key algorithm, select ECDSA P-256 (or RSA 2048)\n4. Complete validation (DNS is recommended)\n5. In the service using the certificate (e.g., ALB/CloudFront/API Gateway), replace the old certificate with the new one\n6. Delete the insecure certificate (e.g., RSA-1024 or P-192) once no longer in use\n7. For CloudFront, request the certificate in us-east-1",
"Terraform": "```hcl\n# Terraform: ACM certificate with secure key algorithm\nresource \"aws_acm_certificate\" \"<example_resource_name>\" {\n domain_name = \"<example_domain>\"\n key_algorithm = \"EC_prime256v1\" # CRITICAL: ensures a secure key algorithm (ECDSA P-256) to pass the check\n}\n```"
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
"Terraform": "```hcl\n# Terraform: ACM certificate with secure key algorithm\nresource \"aws_acm_certificate\" \"<example_resource_name>\" {\n domain_name = \"<example_domain>\"\n key_algorithm = \"EC_prime256v1\" # CRITICAL: ensures a secure key algorithm (ECDSA P-256) to pass the check\n}\n```"
"Terraform": "```hcl\n# Terraform: ACM certificate with secure key algorithm\nresource \"aws_acm_certificate\" \"<example_resource_name>\" {\n domain_name = \"<example_domain>\"\n key_algorithm = \"EC_prime256v1\" # CRITICAL: ensures a secure key algorithm (RSA-2048+ or ECDSA P-256+)\n}\n```"

"Other": "",
"Terraform": ""
"NativeIaC": "```yaml\n# CloudFormation: ACM certificate with secure key algorithm\nResources:\n <example_resource_name>:\n Type: AWS::CertificateManager::Certificate\n Properties:\n DomainName: <example_domain>\n KeyAlgorithm: EC_prime256v1 # CRITICAL: ensures a secure key algorithm (ECDSA P-256) to pass the check\n```",
"Other": "1. In the AWS Console, go to Certificate Manager (ACM)\n2. Click Request a certificate and enter <example_domain>\n3. Under Key algorithm, select ECDSA P-256 (or RSA 2048)\n4. Complete validation (DNS is recommended)\n5. In the service using the certificate (e.g., ALB/CloudFront/API Gateway), replace the old certificate with the new one\n6. Delete the insecure certificate (e.g., RSA-1024 or P-192) once no longer in use\n7. For CloudFront, request the certificate in us-east-1",
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
"Other": "1. In the AWS Console, go to Certificate Manager (ACM)\n2. Click Request a certificate and enter <example_domain>\n3. Under Key algorithm, select ECDSA P-256 (or RSA 2048)\n4. Complete validation (DNS is recommended)\n5. In the service using the certificate (e.g., ALB/CloudFront/API Gateway), replace the old certificate with the new one\n6. Delete the insecure certificate (e.g., RSA-1024 or P-192) once no longer in use\n7. For CloudFront, request the certificate in us-east-1",
"Other": "1. In the AWS Console, go to Certificate Manager (ACM)\n2. Click Request a certificate and enter <example_domain>\n3. Under Key algorithm, select ECDSA P-256 (or RSA 2048)\n4. Complete validation (DNS is recommended)\n5. In the service using the certificate (e.g., ALB/CloudFront/API Gateway), replace the old certificate with the new one\n6. Delete the insecure certificate (e.g., RSA-1024 or P-192) once no longer in use.",

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
metadata-review provider/aws Issues/PRs related with the AWS provider
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant