Sign in
Menu
Sign up
Docs
AWS compliance frameworksRetired frameworks

PCI DSS v3.2.1

Deprecated

Best for: Any merchant, service provider, payment processor, acquirer, or issuer that stores, processes, or transmits cardholder data from major card brands (Visa, Mastercard, Amex, Discover, JCB). PCI DSS v3.2.1 applied regardless of transaction volume, though validation requirements varied by merchant level (Level 1: over 6 million transactions/year required a QSA audit; Levels 2-4 could self-assess).

Mandatory?Mandatory for any entity processing card data
Who validates?QSA (Level 1 merchants/SPs); SAQ self-assessment (Levels 2–4)
RenewalAnnual
ScopeCardholder data environment (CDE) and connected systems
Governing bodyPCI Security Standards Council (PCI SSC), founded by Visa, Mastercard, American Express, Discover, and JCB International., PCI DSS v3.2.1 (superseded by v4.0). Official source

Get started

Point the module source at the PCI DSS v3.2.1 endpoint and pin a version range you reviewed:

module "..." {
  source  = "pcidssv321.compliance.tf/terraform-aws-modules/<module>/aws"
  version = "<version>"
}

pcidssv321.compliance.tf lists every PCI DSS v3.2.1 module with its versions, inputs and outputs.

Enforce 69 PCI DSS v3.2.1 controls with one registry endpoint change.

Start free trialGet started

What compliance.tf covers and what you handle

AreaCompliance.tf automatesYou handle
Encryption in TransitChecks CloudFront distribution TLS configuration, SSL protocol versions, origin encryption settings, and ACM certificate expiration. Covers Requirement 4.1 enforcement for AWS CDN infrastructure.Documenting all CHD transmission flows, verifying TLS configuration on non-AWS endpoints, and maintaining a protocol inventory across the CDE.
Audit Logging and MonitoringVerifies CloudTrail is enabled across all regions with read/write events, S3 data event logging, CloudWatch integration, log file validation, 365-day log group retention, and Config recorder delivery. Maps to Requirements 10.1-10.3 and 10.7.Setting up log alerting for Requirement 10.6 daily reviews, defining incident response procedures for log anomalies, and demonstrating that logs are reviewed by personnel or automated tooling.
Encryption at RestChecks that CloudTrail logs are encrypted with customer-managed KMS CMKs rather than default S3 encryption. Maps to Requirement 3.4's mandate to render stored data unreadable.Documenting key management procedures per Requirements 3.5-3.6, implementing key rotation, restricting key custodian access, and encrypting all other data stores (RDS, DynamoDB, EBS) that may contain cardholder data.
Network SecurityChecks that Auto Scaling launch configurations do not assign public IPs and that API Gateway stages are associated with WAF web ACLs. Maps to Requirements 1.2 and 1.3 for restricting connections to the CDE.Maintaining network diagrams (Requirement 1.1.2), documenting all allowed services and ports (Requirement 1.1.6), performing firewall rule reviews every six months (Requirement 1.1.7), and configuring security groups and NACLs beyond what these controls check.
Secure Development PracticesChecks CodeBuild projects: no privileged mode, no sensitive AWS values in plaintext environment variables, and OAuth for source repository access.Implementing a full secure SDLC per Requirement 6.3, conducting code reviews (Requirement 6.3.2), deploying patches within one month (Requirement 6.2), and training developers on secure coding (Requirement 6.5).

Controls by category

69 of 105 mapped controls are Enforced by compliance.tf modules at terraform plan. The other 36 are Mapped only: PCI DSS v3.2.1 lists them, no compliance.tf module checks them.

Requirement 10: Track and Monitor All Access to Network Resources and Cardholder Data

This is the largest control area in most PCI DSS assessments. The scope is broad: Requirements 10.2-10.3 specify which events must be captured, Requirement 10.7 sets retention at one year with three months immediately available, and Requirement 10.5.5 requires file integrity monitoring on the logs themselves, which CloudTrail's log file validation directly addresses. Failed Config recorder deliveries are a reliable audit flag because they mark a window where configuration changes went unrecorded.

Requirement 3: Protect Stored Cardholder Data

A common gap here is encrypting primary data stores while leaving audit logs unprotected. Requirement 3.4 applies to any mechanism that renders stored cardholder data unreadable, and assessors extend that scrutiny to CloudTrail logs that may reference CHD. Expect questions about KMS key rotation schedules and who holds key custodian access under Requirements 3.5-3.6.

Requirement 4: Encrypt Transmission of Cardholder Data Across Open Networks

The check is straightforward: TLS 1.2 or higher on every data path touching the CDE, with SSLv3 and early TLS explicitly disabled. Expired ACM certificates get flagged not just as a hygiene issue but because a lapsed cert can force fallback to unencrypted connections or prompt staff to implement insecure workarounds under operational pressure.

Requirement 6: Develop and Maintain Secure Systems and Applications

Plaintext AWS credentials in CodeBuild environment variables are a direct Requirement 6.3.2 violation and one of the first things an assessor checks in the build pipeline. Privileged mode in build containers draws similar scrutiny because it grants host-level access that can compromise pipeline integrity. Assessors also verify that source repository access uses OAuth rather than embedded credentials.

Additional controls (97)

AWS Database Migration Service (1)

AWS Lambda (1)

AWS Secrets Manager (1)

AWS Step Functions (1)

Amazon CloudWatch Logs (1)

Amazon DynamoDB Accelerator (1)

Amazon EBS (1)

Amazon S3 (16)

Amazon SNS (1)

FrameworkControl overlapNote
PCI DSS v4.0High 91%
NIST Cybersecurity Framework v1.1High 88%
NIST SP 800-171 Rev 2High 77%

Frequently asked questions

PCI DSS v3.2.1 was retired March 31, 2024. Can I still be assessed against it?

No. After March 31, 2024, all PCI DSS assessments must use v4.0 or later. A v3.2.1 Report on Compliance (ROC) or Self-Assessment Questionnaire (SAQ) completed before that date remains valid until its expiration (typically one year from the assessment date), but new assessments and renewals must use PCI DSS v4.0.1. The compliance.tf benchmark for v3.2.1 remains available for gap analysis and historical comparison; use the v4.0 benchmark for current compliance work.

What changes between v3.2.1 and v4.0 affect my AWS controls?

Several changes are worth noting. Requirement 8.4.2 now mandates MFA for all access into the CDE, not just remote access. Requirement 6.4.2 introduces a web application firewall requirement for all public-facing web applications, removing the manual code review alternative. Requirement 12.3.1 requires a targeted risk analysis for each PCI DSS requirement where the organization uses flexibility. New Requirement 5.4 adds anti-phishing controls. Most of the controls mapped to v3.2.1 carry forward to v4.0 with minor renumbering, but additional controls will be needed for the new requirements.

These controls only cover AWS. Does that satisfy my full PCI DSS assessment?

No. These controls automate checks for a subset of PCI DSS requirements as they apply to AWS infrastructure. A full PCI DSS assessment covers physical security (Requirement 9), security policies and procedures (Requirement 12), personnel security awareness training (Requirement 12.6), and vendor management (Requirement 12.8), none of which can be verified through Terraform or cloud API checks. Use these controls to maintain continuous visibility into your AWS CDE posture between annual assessments, and pair them with manual evidence collection for non-technical requirements.

How do I scope my AWS environment for PCI DSS?

Start by identifying every AWS account, VPC, subnet, and service that stores, processes, or transmits cardholder data. Then identify all connected systems, meaning any resource that can communicate with CDE components, including shared services like Active Directory, DNS, logging pipelines, and CI/CD tooling. Network segmentation using separate VPCs or accounts with strict security group and NACL rules can reduce scope. AWS accounts with no network path to cardholder data that provide no security services to the CDE can be excluded. Document your scoping decisions; a QSA will validate them.

PCI DSS v3.2.1 has over 250 sub-requirements. What does this mapping leave out?

The mapped controls cover requirements that can be automatically verified through AWS configuration checks, concentrated in Requirements 1, 2, 3, 4, 6, and 10. Requirements with no automated AWS equivalent include Requirement 5 (anti-virus, which depends on OS-level agents), Requirement 7 (role-based access models that require business context), Requirement 8 (password policies that may live in identity providers outside AWS), Requirement 9 (physical security), Requirement 11 (penetration testing and IDS/IPS), and Requirement 12 (policies and procedures). Treat the automated benchmark as one input to your compliance program, not the complete picture.

Enforce 69 PCI DSS v3.2.1 controls with one module source change.

Start free trialGet started

On this page

Ask AI about this

Help improve this page