Skip to content

05 Access Control

Access control determines:

Who
Can Access
Which CDE Systems
For What Purpose
With What Level of Privilege

In a PCI DSS environment, access should not exist simply because:

User Is an Employee

or:

Administrator Might Need It

Access should be based on:

Business Need
Approved Role
Least Privilege
Strong Authentication
Ongoing Review

The objective is to reduce the possibility that unauthorized, excessive, shared, stale, or compromised identities can access systems that store, process, transmit, or protect payment account data.

A practical PCI access-control lifecycle looks like:

Identity
Business Need
Access Request
Approval
Provisioning
Authentication
MFA
Usage
Access Review
Modification
Termination

By the end of this lesson, you will be able to:

  • Explain PCI DSS access-control principles.

  • Understand need-to-know.

  • Understand least privilege.

  • Design role-based CDE access.

  • Understand unique user identification.

  • Understand authentication requirements.

  • Understand multi-factor authentication.

  • Identify privileged access.

  • Build privileged-access governance.

  • Manage user provisioning.

  • Manage transfers and role changes.

  • Manage user termination.

  • Understand temporary and emergency access.

  • Manage service accounts.

  • Understand shared and generic account risks.

  • Perform recurring access reviews.

  • Review CDE administrator access.

  • Build MFA coverage registers.

  • Test access-control effectiveness.

  • Collect PCI access-control evidence.

  • Identify common access-control gaps.

  • Build practical PCI access-control artifacts.

Payment environments are attractive targets because compromise of privileged or authorized accounts may provide access to:

PAN
Payment Applications
Databases
Encryption Keys
Security Configuration
Logs

An attacker does not always need to exploit software.

Sometimes the easiest path is:

Compromised Credential
Authorized Account
CDE Access

The basic principle is:

Access should be granted only to identities with a legitimate business need and only at the minimum level necessary to perform their assigned responsibilities.

Conceptually:

Identity
+
Business Need
+
Approved Role
=
Authorized Access

Need-to-know means access is granted because the user requires it to perform legitimate duties.

Weak:

Finance Team
→ Full CDE Access

Strong:

Refund Analyst
→ Refund Function Only

Least privilege means:

Minimum Permissions
Needed

rather than:

Maximum Permissions
for Convenience

Weak:

Support Agent
→ Database Administrator

Strong:

Support Agent
→ Read-Only Customer Record View

Use defined roles where practical.

Example:

Payment Support
Payment Operations
Database Administrator
Security Analyst
Application Administrator

Each role should have documented permissions.

Create:

01 CDE Role Register

Use:

Role Business Purpose Systems Privilege Owner

Role:

Payment Operations Analyst

Access:

Payment Application
→ Transaction View
Refund Function
→ Allowed
Database Admin
→ Not Allowed

A role should answer:

What can this role access?
What can it do?
Who approves membership?
Who owns the role?
How often is it reviewed?

Avoid:

PCI-ADMIN-ALL

granted widely.

Break privileges into appropriate operational roles.

Every individual should generally use:

Unique User Identity

rather than:

Shared Username

Unique identities provide accountability.

If:

admin

is used by five people, audit logs show:

admin changed configuration

but not:

which person

This weakens accountability.

Weak:

Username:
paymentadmin
Password:
Shared by Team

Stronger:

User:
alice.admin
User:
bob.admin

with individual authentication.

Examples:

administrator
root
oracle
support

may exist technically.

Where possible, users should authenticate individually and accountability should be preserved.

On systems where:

root

exists, administrative access should ideally be:

Individual Identity
Privilege Elevation
Root Capability

rather than direct shared root logon.

Authentication verifies:

Who Is the User?

Examples:

Password
Certificate
Hardware Token
Biometric
Security Key

Common factors include:

Something You Know
Something You Have
Something You Are

MFA requires more than one distinct factor.

Example:

Password
+
Security Key

Weak:

Password
+
Security Question

Both rely on knowledge.

That is not strong multi-factor authentication.

MFA is especially important for access that can affect the CDE, including applicable administrative and remote-access scenarios.

For learning purposes, use the mindset:

CDE Access
Strong Authentication
MFA Where Required

Create:

02 MFA Coverage Register

Use:

Identity Role CDE Access MFA Exception

For identities subject to MFA:

Target:
100%

Population:

45 CDE Administrators

MFA enabled:

43

Gap:

2

This requires investigation.

A strong model may use:

Enterprise Identity Provider
MFA
CDE Systems

This provides centralized:

Policy
Logging
Access Revocation
Authentication

Local accounts can create hidden access paths.

Examples:

Local Administrator
Local Database User
Local Service User

Inventory them.

Maintain:

03 Local & Exceptional Account Register

Use:

Account System Owner Purpose MFA / Control Review

Organizations may need emergency accounts.

Example:

Identity Provider Unavailable
Emergency Admin Access

Such accounts should be:

Restricted
Protected
Monitored
Tested
Reviewed

Document:

Owner
Purpose
Credential Storage
Authorization
Monitoring
Usage Review

Privileged identities can:

Change Security Controls
Create Users
Modify Applications
Access Databases
Alter Logs
Manage Encryption

They require stronger governance.

Create:

04 Privileged Access Register

Use:

User Privileged Role System Business Need Approver Last Review

Use:

Separate Admin Identity
MFA
Least Privilege
Logging
Periodic Review
Time-Limited Access Where Possible

Example:

rohit@example.com
→ Normal Work

and:

rohit-admin@example.com
→ Privileged Administration

This separates routine activity from privileged activity.

Organizations may use PAM capabilities for:

Credential Vaulting
Session Control
Approval
Just-in-Time Access
Recording

Instead of:

Permanent Administrator

use:

Standard User
Approved Request
Temporary Admin
Automatic Expiry

where feasible.

Permanent privilege creates:

Larger Attack Window

because a compromised account retains powerful access continuously.

New access should follow a controlled process.

Example:

Business Need
Access Request
Manager Approval
System Owner Approval
Provision
Validate

Create:

05 User Provisioning Checklist

Include:

  • User identified.

  • Role confirmed.

  • Business need documented.

  • Manager approval obtained.

  • System owner approval obtained.

  • Least privilege validated.

  • MFA enabled where required.

  • Provisioning evidence retained.

Evidence may include:

Ticket
Requestor
Approver
Role
Date
Provisioning Record

Access to CDE systems is provisioned only after documented approval from the user’s manager and applicable system owner.

Create:

06 PCI Access Approval Matrix

Use:

Access Type Manager System Owner Security Additional Approval

Privileged access may require stronger approval than standard user access.

Example:

Manager
+
System Owner
+
Security

Employees change roles.

Example:

Developer
Moves to
Security Team

Old access should not simply remain.

Use:

Role Change
Reassess Existing Access
Remove Old Access
Provision New Access

Without mover controls:

Job 1 Permissions
+
Job 2 Permissions
+
Job 3 Permissions
=
Excessive Access

Access should be promptly removed when no longer required.

Trigger:

Employee Leaves

Process:

HR Notification
IAM Disable
Application Removal
Privileged Access Removal

Create:

07 Termination SLA Tracker

Use:

User Termination Time Disable Time SLA Met Exception

Example:

Population:

60 Terminations

Sample:

25

Verify:

Termination Date
Disablement Date
CDE Accounts
Privileged Roles

Do not test only employees.

Include relevant:

Contractors
Temporary Workers
Third-Party Users

Accounts not used for long periods can become attack paths.

Review:

Last Login
Owner
Business Need
Account:
legacy-admin
Last Login:
14 Months Ago
Still Active:
Yes

Investigate.

Access should be reviewed periodically.

Objective:

Does this person
still need this access?

Review should use:

Complete User Population

not only selected users.

Create:

08 Access Review Register

Use:

User Role Reviewer Decision Action Date

Use:

Retain
Modify
Remove
Investigate

A strong review record demonstrates:

Complete Population
Reviewer
Review Date
Decision
Remediation

Weak:

Screenshot of User List

Stronger:

Population
+
Reviewer Sign-Off
+
Decisions
+
Removal Evidence

Privileged users should receive special attention.

Review:

Admin Users
Database Admins
Cloud Admins
Firewall Admins
Security Admins

Non-human identities include:

Service Accounts
Application Accounts
Workload Identities
API Accounts

Common issues:

No Owner
Permanent Credentials
Excessive Permission
Shared Secrets
No Review

Create:

09 Service Account Register

Use:

Account Purpose System Owner Privilege Credential Type Review

Every service identity should have:

Named Owner

even though the identity itself is not a person.

Modern environments should prefer:

Short-Lived Workload Identity

over:

Permanent Static Password

where supported.

Protect:

API Keys
Tokens
Certificates
Secrets

Do not store them in:

Source Code
Email
Chat
Plaintext Files

Review:

Application DB User
DBA Accounts
Reporting Accounts
Backup Accounts

Application account may need:

SELECT
INSERT
UPDATE

but not necessarily:

DROP DATABASE
CREATE ADMIN

In cloud CDE environments review:

Users
Roles
Federation
Cross-Account Access
Service Roles
Permission Boundaries

Weak:

Developer
→ AdministratorAccess

Strong:

Developer
→ Deployment Role
→ Limited Payment Resources

Cloud root or equivalent break-glass identities should be tightly controlled.

Use:

MFA
No Routine Use
Secure Credentials
Usage Alerts

Review highly privileged identities such as:

Global Administrator
Privileged Role Administrator

when they can affect CDE access.

For Kubernetes payment workloads review:

ClusterRole
RoleBinding
ServiceAccount
Namespace Access

Avoid widespread:

cluster-admin

access.

Example:

Payment Developer
Deploy to payments namespace

but:

Cannot Modify
Cluster Security Configuration

If CI/CD can deploy CDE applications, control:

Who Can Modify Pipelines?
Who Can Approve Production?
Which Credentials Are Used?

Code repositories for payment applications require:

Role-Based Access
MFA
Branch Protection
Review

Avoid placing incompatible responsibilities with one identity where risk warrants separation.

Example:

Developer
Writes Code
Same Developer
Approves Code
Same Developer
Deploys Production

This may weaken change control.

Developer
Creates Change
Peer Reviewer
Approves
Deployment Pipeline
Controlled Production Deployment

Temporary CDE access may be needed for:

Incident Response
Maintenance
Migration
Vendor Support

Use:

Request
Approval
Time-Bound Access
Monitoring
Automatic Expiry

Create:

10 Temporary CDE Access Register

Use:

User Reason Privilege Start Expiry Approver

Emergency access should not become:

Permanent Shortcut

Review all emergency access after use.

External administrators may include:

Payment Vendor
Cloud Support
Managed Service Provider

Use:

Named User
MFA
Approved Need
Restricted Scope
Time Limit
Monitoring

Avoid:

vendoradmin

used by multiple vendor engineers.

Require individual accountability where possible.

Log:

Successful Authentication
Failed Authentication
Privilege Changes
Account Creation
Account Disablement

Repeated failures may indicate:

Brute Force
Credential Attack
Misconfiguration

Example:

User
Granted Admin

should create:

Audit Record

and potentially alerting.

A strong monitoring use case:

New CDE Administrator
SIEM Alert
Validate Approval

Potential PCI evidence:

IAM Policies
MFA Configuration
User Population
Admin Population
Authentication Logs
Access Requests
Access Reviews
Termination Records

Create:

11 PCI Access Control Matrix

Use:

Role System Read Write Admin Approval Required
Role Payment App Payment DB Firewall
Support Read None None
Payment Ops Read/Write None None
DBA None Admin None
Network Admin None None Admin

A practical testing workflow:

Define Population
Select Sample
Verify Approval
Verify Role
Verify MFA
Verify Current Need
Document Result

92. Build Access Control Testing Checklist

Section titled “92. Build Access Control Testing Checklist”

Create:

12 PCI Access Control Testing Checklist

For each sampled user:

  • User is active employee/contractor.

  • Business need exists.

  • Approval exists.

  • Role matches job function.

  • Least privilege applied.

  • MFA enabled where required.

  • Privileged access separately approved.

  • Access still required.

Population:

80 New CDE Access Requests

Sample:

25

Result:

24 Approved Before Access
1 Missing Approval

Potential:

Access Control Exception

Population:

55 CDE Administrators

Result:

54 MFA
1 No MFA

Investigate immediately.

Population:

40 Departures

Sample:

20

Result:

18 Timely
2 Delayed

Perform root-cause analysis.

Expected:

Quarterly Review

Evidence:

Q1 ✓
Q2 ✓
Q3 ✗
Q4 ✓

Potential operating gap.

Population:

65 Service Accounts

Unknown owners:

8

Risk:

Unmanaged Non-Human Access

Population:

20 Admin Accounts

Dormant:

3

If unnecessary:

Disable

99. Access Finding — Excessive Privilege

Section titled “99. Access Finding — Excessive Privilege”

Ten developers have database administrator access to the production payment database despite their job responsibilities requiring application deployment only.

Classification:

Least Privilege Gap

Six administrators use a shared local administrator account to manage payment servers.

Risk:

Loss of Individual Accountability

Two administrative accounts capable of accessing CDE systems are not protected by MFA.

Three contractor accounts remained active more than seven days after contract termination.

Privileged user access has not been formally reviewed for nine months.

Fifteen service accounts have no documented owner and use passwords that have not been changed or governed through an approved secrets process.

Create:

13 PCI Access Control Gap Register

Use:

Gap Account / Role Risk Severity Owner

106. Root Cause Example — Excessive Privilege

Section titled “106. Root Cause Example — Excessive Privilege”

Problem:

Developers Have DBA Access

Why?

Old Support Requirement

Why?

Access Never Removed

Why?

No Role-Change Review

Root cause:

Access lifecycle management does not reassess CDE privileges when employees change responsibilities.

Remove Unnecessary DBA Access
Integrate Role Change Events
Access Re-Certification

Problem:

Contractor Account Remained Active

Why?

Contractor Not in HR Feed

Root cause:

Contractor lifecycle events are not integrated into the automated IAM termination workflow.

Add Contractor Lifecycle Feed
Automate Disablement
Monitor SLA

111. Root Cause Example — Service Account

Section titled “111. Root Cause Example — Service Account”

Problem:

Service Accounts Have No Owners

Root cause:

Non-human identities are not included in the enterprise identity-governance process.

Service Account Inventory
Owner Assignment
Credential Governance
Periodic Review

Track:

Metric Target
CDE Users With Current Approval 100%
MFA Coverage 100%
Privileged Accounts With Owner 100%
Service Accounts With Owner 100%
Terminations Within SLA 100%
Access Reviews Completed 100%
Shared Admin Accounts 0

Example:

Percentage of CDE accounts
with current approved business need

Example:

CDE administrative identities
without MFA

Target:

0

Example:

Terminated users
with active CDE access
past required timeline

Example:

Privileged CDE accounts
without current approved owner

Example:

CDE service identities
with unmanaged static credentials

119. Practical Activity — Build CDE Role Model

Section titled “119. Practical Activity — Build CDE Role Model”

Use fictional organization:

CloudShop

Create roles for:

Payment Support
Payment Operations
Developer
DBA
Cloud Administrator
Security Analyst

Define:

Systems
Permissions
Approval
MFA
Review Frequency

120. Practical Activity — Review User Access

Section titled “120. Practical Activity — Review User Access”

Users:

Alice
→ Payment Support
Bob
→ Developer + DBA
Carol
→ Security Analyst
David
→ Former Employee
Vendor01
→ Shared Vendor Admin

Identify gaps.

Expected observations include:

Bob
→ Potential Excessive Privilege
David
→ Active Terminated Account
Vendor01
→ Shared Account Risk

Population:

32 CDE Users

MFA:

30 Enabled
2 Disabled

For each exception document:

Identity
Reason
Risk
Correction
Corrective Action

122. Practical Activity — Build Access Review

Section titled “122. Practical Activity — Build Access Review”

Create a fictional quarterly review for:

25 Users

Classify each as:

Retain
Modify
Remove
Investigate

123. Practical Activity — Review Service Accounts

Section titled “123. Practical Activity — Review Service Accounts”

Create:

10 Service Accounts

Include deliberate issues:

No Owner
Excessive Access
Static Password
Unused Account

Identify remediation.

124. Practical Activity — Termination Testing

Section titled “124. Practical Activity — Termination Testing”

Use:

20 Terminated Users

Include:

18 Timely
2 Delayed

Perform:

Condition
Risk
Root Cause
Corrective Action
Retest

125. Practical Activity — Privileged Access Review

Section titled “125. Practical Activity — Privileged Access Review”

Review:

Cloud Admins
DBAs
Firewall Admins
Payment Application Admins

For each determine:

Business Need?
MFA?
Separate Admin ID?
Current Approval?
Still Required?
  • Unique user IDs used.

  • shared user accounts eliminated where possible.

  • local accounts inventoried.

  • break-glass accounts controlled.

  • business need documented.

  • least privilege applied.

  • role definitions documented.

  • access approvals retained.

  • strong authentication used.

  • MFA implemented where required.

  • authentication policies centrally managed where possible.

  • failed authentication monitored.

  • privileged users identified.

  • separate admin identities used.

  • MFA enabled.

  • privileged access reviewed.

  • standing privilege minimized.

  • access request recorded.

  • manager approval obtained.

  • system owner approval obtained.

  • correct role provisioned.

  • evidence retained.

  • role changes trigger review.

  • old access removed.

  • new access approved.

  • privilege accumulation monitored.

  • HR / contractor events integrated.

  • accounts disabled promptly.

  • local accounts removed.

  • privileged access removed.

  • termination SLA monitored.

  • complete populations reviewed.

  • reviewers assigned.

  • review dates recorded.

  • decisions documented.

  • removal actions completed.

  • all accounts inventoried.

  • owner assigned.

  • purpose documented.

  • least privilege applied.

  • credentials secured.

  • usage reviewed.

  • individual identities used.

  • MFA enabled.

  • access approved.

  • access time-bound where appropriate.

  • activity monitored.

  • user population available.

  • privileged population available.

  • MFA report available.

  • access requests retained.

  • termination records retained.

  • access-review evidence retained.

Mistake 1 — Everyone in IT Gets CDE Access

Section titled “Mistake 1 — Everyone in IT Gets CDE Access”

Business need and least privilege are ignored.

Individual accountability is lost.

Local and emergency accounts are excluded from the population.

Users accumulate access over time.

Contractors and vendors remain active.

Non-human identities become unmanaged.

Mistake 7 — Access Review Is Only a User List

Section titled “Mistake 7 — Access Review Is Only a User List”

No reviewer decisions are documented.

Mistake 8 — Temporary Access Never Expires

Section titled “Mistake 8 — Temporary Access Never Expires”

Emergency access becomes permanent.

Developers can change CDE applications indirectly.

Mistake 10 — Cloud Admin Scope Too Broad

Section titled “Mistake 10 — Cloud Admin Scope Too Broad”

Enterprise cloud administrators have unrestricted CDE control.

Employee
Requests Access
Gets Admin
Keeps Forever
Identity
Business Need
Approved Role
Least Privilege
MFA
Monitoring
Periodic Review
Role Change / Termination
Access Removed

A GRC professional supporting PCI access control may:

  • Maintain CDE role definitions.

  • Maintain access-control matrices.

  • Review privileged-access populations.

  • Coordinate MFA coverage assessments.

  • Review provisioning workflows.

  • Review mover processes.

  • Monitor termination SLAs.

  • Coordinate access reviews.

  • Maintain service-account inventories.

  • Review third-party access.

  • Coordinate access-control testing.

  • identify access gaps.

  • track remediation.

  • maintain evidence.

  • support QSA access-control reviews.

GRC connects:

IAM
HR
Security
Cloud
Database Teams
Network Teams
Engineering
DevOps
Payment Operations
Third Parties
Assessors
Email Request
Manual Provisioning
Manual Removal
Roles
Approvals
MFA
Access Reviews
IAM Workflow
Privileged Access Governance
Service Account Inventory
Termination SLA
HR Integration
Automated Provisioning
JIT Access
Automated Reviews
Continuous Entitlement Analysis
Real-Time MFA Coverage
Automatic Risk-Based Revocation
Workload Identity Governance

For every CDE identity ask:

Who is this identity?
Is it a person or workload?
Who owns it?
Why does it need access?
Who approved it?
What systems can it access?
What can it do?
Is this the minimum privilege required?
Is MFA required?
Is MFA enabled?
Is the account shared?
When was access last reviewed?
When was it last used?
What happens when the person changes roles?
What happens when they leave?
Can we prove all of this?

For every privileged identity ask:

Does this privilege need
to exist all the time?

If not:

Reduce Standing Privilege

When these questions can be answered with reliable evidence, access to the CDE becomes controlled, accountable, and testable.

  • PCI access should be based on business need and least privilege.

  • Unique identities support accountability.

  • Shared administrative accounts should be minimized or eliminated where possible.

  • Role-based access simplifies consistent authorization.

  • MFA is critical for applicable CDE and administrative access scenarios.

  • Local and emergency accounts must be included in identity governance.

  • Privileged access should receive stronger controls and more frequent attention.

  • Provisioning should require documented approval.

  • Role changes should trigger access reassessment.

  • Terminated employees, contractors, and third parties should have access promptly removed.

  • Periodic access reviews should use complete populations and document reviewer decisions.

  • Service accounts and workload identities require ownership, least privilege, and credential governance.

  • Temporary access should be approved, monitored, and automatically expire where possible.

  • CI/CD, cloud, Kubernetes, and other modern platforms create indirect paths to CDE privilege.

  • Access-control testing should validate approval, role, privilege, MFA, ongoing need, and timely removal.

  • GRC coordinates identity populations, evidence, reviews, testing, gaps, and assessor support.

Before continuing, make sure you can answer:

  1. What does least privilege mean?

  2. What is need-to-know?

  3. Why are role definitions important?

  4. Why should users have unique IDs?

  5. What is wrong with shared administrator accounts?

  6. What is MFA?

  7. Why should local accounts be inventoried?

  8. What is a break-glass account?

  9. What is privileged access?

  10. Why are separate administrative identities useful?

  11. What is just-in-time access?

  12. What evidence should support provisioning?

  13. Why should role changes trigger access review?

  14. Why must contractor terminations be included?

  15. What makes an access review effective?

  16. Why are service accounts important?

  17. Why can CI/CD access be privileged?

  18. How should third-party CDE access be controlled?

  19. What should an access-control test verify?

  20. What role does GRC play in PCI access-control assurance?

➡️ Next: 06 — Vulnerability Management

In the next lesson, you will move from identity and access controls into protecting CDE systems from known vulnerabilities and malicious software.

You will work through:

Asset Inventory
Vulnerability Discovery
Risk Classification
Security Patching
Remediation SLA
Malware Protection
Internal Scanning
External ASV Scanning
Exceptions
Retesting
Continuous Monitoring

You will also build practical artifacts including a PCI Vulnerability Management Standard, CDE Vulnerability Register, Patch Compliance Dashboard, Vulnerability SLA Tracker, ASV Scan Register, Malware Protection Coverage Register, Risk Exception Register, Vulnerability Retest Register, and PCI Vulnerability Management Testing Checklist.