Skip to content

feat(aws): add rolesanywhere service and pqc trust anchor check#11319

Open
pedrooot wants to merge 1 commit into
feat/acmpca-certificate-authority-pqc-key-algorithmfrom
feat/rolesanywhere-trust-anchor-pqc-pki
Open

feat(aws): add rolesanywhere service and pqc trust anchor check#11319
pedrooot wants to merge 1 commit into
feat/acmpca-certificate-authority-pqc-key-algorithmfrom
feat/rolesanywhere-trust-anchor-pqc-pki

Conversation

@pedrooot
Copy link
Copy Markdown
Member

@pedrooot pedrooot commented May 21, 2026

Context

IAM Roles Anywhere trust anchors are the root of trust for workloads that authenticate to AWS with X.509 certificates. A weak (RSA/ECC) signing CA could let a quantum-capable attacker forge certificates and gain unauthorized access. AWS now supports ML-DSA (NIST FIPS 204) trust anchors, and Prowler had no IAM Roles Anywhere service.

Description

Introduces the IAM Roles Anywhere (rolesanywhere) service and the rolesanywhere_trust_anchor_pqc_pki check. For trust anchors whose source is AWS_ACM_PCA, the linked Private CA's KeyAlgorithm is checked against a configurable allowlist (rolesanywhere_pqc_pca_key_algorithms, defaults: ML_DSA_44, ML_DSA_65, ML_DSA_87). Trust anchors backed by an external CERTIFICATE_BUNDLE are reported as fail with remediation guidance, since their signature algorithm cannot be inspected from the IAM Roles Anywhere API alone. Severity: low.

Important

Depends on #11318 (acmpca service). The check imports acmpca_client to resolve the backing CA's key algorithm, so this PR is stacked on feat/acmpca-certificate-authority-pqc-key-algorithm and should be merged after #11318. GitHub will retarget this PR's base to master automatically once #11318 is merged.

Steps to review

  1. New service: prowler/providers/aws/services/rolesanywhere/ (rolesanywhere_service.py, rolesanywhere_client.py)
  2. Check implementation: prowler/providers/aws/services/rolesanywhere/rolesanywhere_trust_anchor_pqc_pki/
  3. Run the tests: poetry run pytest tests/providers/aws/services/rolesanywhere/ -v
  4. Optionally run against a real environment: prowler aws --check rolesanywhere_trust_anchor_pqc_pki

Checklist

Community Checklist
  • This feature/issue is listed in here or roadmap.prowler.com
  • Is it assigned to me, if not, request it via the issue/feature in here or Prowler Community Slack

SDK/CLI

  • Are there new checks included in this PR? Yes
    • Yes, permissions updated: adds rolesanywhere:ListTrustAnchors to both permissions/prowler-additions-policy.json and the CloudFormation scan-role template.

License

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

@pedrooot pedrooot requested a review from a team as a code owner May 21, 2026 22:19
@pedrooot pedrooot force-pushed the feat/acmpca-certificate-authority-pqc-key-algorithm branch from 099647f to 82a62d9 Compare May 21, 2026 22:29
@pedrooot pedrooot force-pushed the feat/rolesanywhere-trust-anchor-pqc-pki branch from 0812fda to 47fc913 Compare May 21, 2026 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants