Log Individual User Access to CHD

To meet the PCI DSS “log individual user access to CHD” requirement, you must configure audit logging so every access to cardholder data is recorded with a unique user identity, the action taken, and enough context to investigate misuse. Treat this as an end-to-end control across apps, databases, and infrastructure that can expose CHD. 1

Key takeaways:

  • “Individual user access” means named accountability; shared/service access must still be attributable to a person or controlled process. 1
  • Logging must cover all CHD access paths, including application reads, database queries, exports, admin consoles, and support workflows. 1
  • Auditors will expect proof: log sources in scope, sample log events, and evidence you can detect and investigate inappropriate access. 1

PCI DSS 4.0.1 Requirement 10.2.1.1 is straightforward on paper and easy to fail in practice: “Audit logs capture all individual user access to cardholder data.” 1 Most logging programs already collect system and security events, but they often miss the places where CHD is actually viewed, queried, exported, or handled in support tooling. The result is a blind spot: you can’t reliably answer who accessed CHD, when, how, and from where.

As a Compliance Officer, CCO, or GRC lead, your job is to turn this into a control that engineering and security teams can implement quickly, and that a QSA can test without guesswork. That means (1) defining where CHD exists and the allowed access paths, (2) making sure every access produces an attributable log event, and (3) centralizing and retaining those logs in a way that supports investigation.

This page focuses on operational execution: scope, design decisions, implementation steps, artifacts to retain, and the audit questions that commonly create churn during PCI assessments. 1

Regulatory text

Requirement: “Audit logs capture all individual user access to cardholder data.” 1

Operator interpretation: Your logging must record each time a person (or an account acting for a person) accesses CHD, and the event must be attributable to a unique identity. Logs must be detailed enough to support accountability and investigation. If a user can view CHD on a screen, query it in a database, download it, or access it through admin/support tools, those actions need audit events. 1

Plain-English interpretation (what “log individual user access to CHD” really means)

You need an audit trail that answers these questions for every CHD access:

  • Who accessed it (unique user ID, not just “app_user”).
  • What they did (view/read/query/export/update/delete, as applicable).
  • Which CHD resource was accessed (dataset/table/object/report/case).
  • When and from where (timestamp, source system, workstation/IP/session where available).
  • How it was accessed (application screen, API endpoint, DB client, support console).

The requirement is not satisfied by generic perimeter logs (“VPN login succeeded”) if they do not show access to CHD itself. It also is not satisfied by “some logging exists” if meaningful access paths are missing. 1

Who it applies to

Entities: Merchants, service providers, and payment processors that store, process, or transmit CHD, or that can impact the security of CHD through in-scope systems. 1

Operational contexts where this control is tested hard:

  • Customer support / disputes / chargebacks: agents viewing PAN in ticketing/CRM tools.
  • Finance operations: manual exports, settlement reports, reconciliation files.
  • Engineering / SRE access: break-glass sessions, database maintenance, production debugging.
  • Third-party access: outsourced support, managed services, implementation partners accessing systems that contain CHD.

If you allow third parties to access CHD systems, you still need attributable, individual-level audit logs for that access. Contract terms help, but they do not replace technical evidence. 1

What you actually need to do (step-by-step)

1) Define “CHD access” events for your environment

Write a short control definition that engineering can implement and auditors can test. Include:

  • Systems that store or can display CHD.
  • Actions that count as access (read/view/query/export/print).
  • Required audit fields (user ID, timestamp, object/resource, action, success/failure where relevant). Keep this definition tightly aligned to “all individual user access to cardholder data.” 1

2) Inventory all CHD locations and access paths

Build a “CHD Access Map” (table works best). For each system, capture:

  • Where CHD resides (DB, file store, SaaS module, logs, backups).
  • Who can access it (roles, groups, service accounts).
  • How access happens (app UI, API, direct DB, admin console, batch job).
  • The logging mechanism available (native audit log, DB audit, application log, OS log).

Common gap: teams list the primary payment app but miss “side channels” like analytics extracts, ETL jobs, and support tooling that contains full PAN. Those are still CHD access paths. 1

3) Enforce unique identity and eliminate shared user ambiguity

The requirement is about individual user access. Make sure:

  • Users authenticate with unique accounts (SSO/IdP-backed identities where possible).
  • Privileged access uses named accounts plus escalation controls (approval and session logging).
  • Shared accounts are removed, or tightly controlled and still attributable (for example via a bastion with per-user authentication and session audit).

For service accounts that access CHD (batch processes, integrations), you still need logging that identifies the account and the job context, then link that account to an owner and change control. The key is that access is not anonymous. 1

4) Turn on audit logging at the right layer(s)

Aim for “closest to the data” logging plus “closest to the user” logging:

Application layer (closest to the user):

  • Log CHD “view” events when a screen reveals PAN (masked or unmasked) or when an export is generated.
  • Log API calls that return CHD fields.

Data layer (closest to the data):

  • Enable database auditing for SELECT/EXPORT access to CHD tables and sensitive columns where supported.
  • Log administrative actions that could enable access (permission changes, role grants).

Infrastructure layer (supporting context):

  • Bastion/jump host logs for interactive sessions.
  • OS audit logs for file access where CHD may exist in files.

Your goal is defensible coverage: if one layer misses an event, another captures it. 1

5) Centralize logs and protect their integrity

Even if different teams own systems, you need a centralized way to:

  • Collect audit logs from in-scope systems.
  • Prevent unauthorized alteration or deletion of logs.
  • Search by user and CHD resource during an investigation.

In practice, most operators route events to a SIEM or log management platform with access controls and immutability features. Keep permissions tight; logs about CHD access are themselves sensitive. 1

6) Validate with test cases (do not wait for the QSA)

Create a small test script that generates expected events:

  • A support agent views a customer record with CHD.
  • A user exports a report containing CHD.
  • An engineer queries a CHD table.
  • A third party logs in via approved method and accesses CHD.

For each, verify the log event includes user identity, action, system, timestamp, and resource identifier. Save screenshots or exported event JSON as evidence. 1

7) Operationalize: monitoring and investigation hooks

The requirement text is about capture, but auditors frequently probe whether you can use the logs. Build minimum operational capability:

  • A saved search/dashboard for “CHD access events by user.”
  • A documented triage playbook for suspicious access (who reviews, how to pull evidence).

If you use Daydream to manage PCI evidence, store the CHD Access Map, logging configs, and sample events in one place so teams stop hunting across tickets and wikis during the assessment.

Required evidence and artifacts to retain

Auditors want proof that logging is enabled, covers scope, and produces attributable events. Maintain:

  • CHD Access Map: systems, CHD locations, access paths, and logging source per path.
  • Logging configuration evidence: screenshots/config exports showing audit logging enabled for each in-scope system.
  • Sample audit events: redacted log entries showing user ID, timestamp, action, and CHD resource reference.
  • Identity and access evidence: how users authenticate (SSO), role-to-user mapping, and control over shared accounts.
  • Log collection architecture: diagram and description of central log pipeline.
  • Access control evidence for logs: who can read/write/delete logs, and how that is restricted. All artifacts should align directly to “all individual user access to cardholder data.” 1

Common exam/audit questions and hangups

Expect these:

  • “Show me evidence that every place CHD is viewed generates an audit event.” 1
  • “How do you attribute access when users query the database directly?”
  • “What about service accounts and batch exports?”
  • “Do third parties have access, and can you show their individual activity?”
  • “Can you demonstrate an investigation: pull all CHD access for a given user?”

Hangup pattern: teams produce authentication logs, not access logs. Another hangup: logs exist, but user identity is missing because the app logs “session_id” without a resolvable mapping to the person.

Frequent implementation mistakes (and how to avoid them)

  1. Relying only on network/security logs. Fix: ensure the application or database produces CHD access events. 1
  2. Logging “admin actions” but not “read actions.” Fix: explicitly include read/view/query/export in your event taxonomy.
  3. Shared accounts in support tools. Fix: require unique SSO identities and disable local/shared logins.
  4. CHD in “temporary” places (exports, analytics, tickets). Fix: expand the CHD Access Map to include downstream copies and the tools that display them.
  5. Logs captured but not protected. Fix: restrict log admin rights; document who can access the logging platform and how changes are approved.

Enforcement context and risk implications

No public enforcement cases were provided in the source catalog for this requirement, so this page does not cite specific cases. Practically, failing to log individual user access increases breach impact because you cannot confidently determine who accessed CHD, what records were exposed, or whether access was legitimate. It also weakens insider-threat investigations and makes compensating narratives during an assessment hard to defend. 1

Practical execution plan (30/60/90)

Use phased execution without tying success to calendar days. Treat these as maturity stages you can start immediately.

First 30 days (baseline visibility)

  • Finalize the CHD Access Map and confirm system owners.
  • Pick the authoritative identity source (IdP/SSO) and confirm unique IDs across tools.
  • Enable the most obvious audit sources: primary payment app audit logs and database audit logs for CHD tables.
  • Produce sample events for at least one access path per system and store them as evidence. 1

By 60 days (coverage across access paths)

  • Close gaps: exports, reports, support workflows, and third-party access routes.
  • Centralize logs into your SIEM/log platform with role-based access and change control for logging configs.
  • Create saved searches: “CHD access by user,” “bulk export events,” and “privileged access to CHD stores.” 1

By 90 days (audit-ready and repeatable)

  • Document the control: definitions, scope, and test procedure the QSA can follow.
  • Add routine validation: periodic sampling of CHD access events across systems to confirm logging still works after releases.
  • Run a tabletop investigation using logs: pick a user, reconstruct their CHD access activity, and document the steps and results. 1

Frequently Asked Questions

Does “individual user access” include read-only views of CHD in an application?

Yes. If a user can view CHD, that is access and must be captured in audit logs with an attributable user identity. 1

Are database queries against CHD tables in scope even if they come from an internal admin network?

Yes. The requirement is about access to CHD, not the network location. If users can query CHD directly, enable database auditing and tie activity to individual identities. 1

What about service accounts that run batch jobs touching CHD?

Log the service account’s access and ensure the account has an owner, a defined purpose, and change control. Where possible, record job/run identifiers so you can distinguish legitimate batch processing from misuse. 1

If CHD is tokenized, do we still need to log access?

If the data accessed is still cardholder data in your environment, you must log access. If systems only handle tokens and no CHD is present, document that data-flow decision in the CHD Access Map so scope is clear. 1

Do we need to log failed attempts to access CHD?

The text provided requires capturing all individual user access to CHD. Treat failed access attempts as a related security signal and log them where feasible, but keep your audit narrative focused on proving complete capture of actual CHD access events. 1

What’s the fastest way to get audit-ready evidence for a QSA?

Build the CHD Access Map, enable auditing for each access path, then collect representative log samples showing user, action, time, and CHD resource context. Store configs and samples in a single evidence workspace (for example, in Daydream) so the story is consistent. 1

Footnotes

  1. PCI DSS v4.0.1 Requirement 10.2.1.1

Frequently Asked Questions

Does “individual user access” include read-only views of CHD in an application?

Yes. If a user can view CHD, that is access and must be captured in audit logs with an attributable user identity. (Source: PCI DSS v4.0.1 Requirement 10.2.1.1)

Are database queries against CHD tables in scope even if they come from an internal admin network?

Yes. The requirement is about access to CHD, not the network location. If users can query CHD directly, enable database auditing and tie activity to individual identities. (Source: PCI DSS v4.0.1 Requirement 10.2.1.1)

What about service accounts that run batch jobs touching CHD?

Log the service account’s access and ensure the account has an owner, a defined purpose, and change control. Where possible, record job/run identifiers so you can distinguish legitimate batch processing from misuse. (Source: PCI DSS v4.0.1 Requirement 10.2.1.1)

If CHD is tokenized, do we still need to log access?

If the data accessed is still cardholder data in your environment, you must log access. If systems only handle tokens and no CHD is present, document that data-flow decision in the CHD Access Map so scope is clear. (Source: PCI DSS v4.0.1 Requirement 10.2.1.1)

Do we need to log failed attempts to access CHD?

The text provided requires capturing all individual user access to CHD. Treat failed access attempts as a related security signal and log them where feasible, but keep your audit narrative focused on proving complete capture of actual CHD access events. (Source: PCI DSS v4.0.1 Requirement 10.2.1.1)

What’s the fastest way to get audit-ready evidence for a QSA?

Build the CHD Access Map, enable auditing for each access path, then collect representative log samples showing user, action, time, and CHD resource context. Store configs and samples in a single evidence workspace (for example, in Daydream) so the story is consistent. (Source: PCI DSS v4.0.1 Requirement 10.2.1.1)

Authoritative Sources

Operationalize this requirement

Map requirement text to controls, owners, evidence, and review workflows inside Daydream.

See Daydream
PCI DSS 4.0: Log Individual User Access to CHD | Daydream