PCI ASV Scanning on Azure: What the Shared Responsibility Model Doesn’t Cover

Published on

Updated on

Key Takeaways
  • PCI ASV scanning on Azure is required regardless of what Microsoft secures on your behalf. The shared responsibility model defines infrastructure boundaries, not compliance boundaries.
  • Azure's own PCI DSS attestation covers Microsoft's slice of the stack: physical data centres, hypervisor, and network fabric. It does not satisfy PCI DSS Requirement 11.3.2 for your workload.
  • Every internet-facing asset connected to your cardholder data environment (CDE) is in scope; on IaaS, PaaS, or SaaS, scoping that environment is entirely your job, not Azure's.
  • Microsoft Defender for Cloud and other native tools give you internal visibility; they cannot replace the external, independent scan a PCI SSC-approved ASV must perform and attest.
  • Dynamic public IPs, App Service custom domains, API Management gateways, and Load Balancer front-ends are the Azure-specific assets most often left out of the scan scope.
  • Clean, repeatable results come from treating ASV scanning as part of ongoing Azure governance: accurate asset inventory, configuration discipline, and a scanning partner who understands cloud environments, not a once-a-quarter scramble.

PCI ASV scanning on Azure is required no matter how much of the stack Microsoft secures underneath you, and that single fact trips up more Azure-hosted merchants than any other part of PCI DSS. Azure holds strong compliance credentials: Microsoft is independently assessed against PCI DSS, and its Attestation of Compliance (AOC) is genuine, verifiable evidence that the platform itself meets the standard. What that AOC does not do is extend to your virtual machines, your App Service configuration, or your public-facing endpoints. Those remain yours to secure, scope, and scan.

This is where the shared responsibility model gets misread. Teams see “Azure is PCI compliant” and assume the quarterly external scanning obligation under PCI DSS Requirement 11.3.2 is handled somewhere upstream. It isn’t. Requirement 11.3.2 calls for a scan performed and attested by an independent Approved Scanning Vendor (ASV), not by the cloud provider, and not by an internal tool, against every system in your cardholder data environment (CDE) that’s reachable from the internet.

This article maps that boundary precisely: what Azure’s shared responsibility model actually covers, where it stops, which Azure-specific assets are easy to miss in scope, and what typically causes Azure-hosted environments to fail their scans.

Key Definitions

PCI ASV (Approved Scanning Vendor): An organisation certified by the PCI Security Standards Council (PCI SSC) to perform external vulnerability scans in accordance with the ASV Program Guide, as required under PCI DSS Requirement 11.3.2.

Shared Responsibility Model: The cloud governance framework that splits security obligations between Microsoft and the customer, covering identity management, data classification, application security, and network configuration, with the exact split shifting depending on whether you're running IaaS, PaaS, or SaaS.

Cardholder Data Environment (CDE): The people, processes, and technology that store, process, or transmit cardholder data, plus any connected system that could affect its security.

Network Security Group (NSG): An Azure resource acting as a virtual firewall that controls inbound and outbound traffic to Azure resources, a configuration element that directly shapes ASV scan scope and results.

ASV Scan: A quarterly external vulnerability scan, required under PCI DSS 11.3.2, run from outside your network against every internet-facing system in or connected to your CDE.

Scoping: The customer-owned exercise of identifying every in-scope, internet-facing asset before a scan runs; on Azure, this means public IPs, App Service custom domains, API Management endpoints, load balancer front-ends, and anything with a path to the CDE.

What PCI Compliance on Azure Actually Requires

Hosting on Azure does not reduce or exempt you from any of PCI DSS's twelve requirements, including quarterly external scanning, regardless of which cloud platform hosts your cardholder data environment.

Microsoft maintains PCI DSS certification at the infrastructure level, and Azure itself is assessed by qualified security assessors. That confirms the underlying physical and virtualization infrastructure meets PCI DSS requirements on Microsoft’s side of the boundary. It says nothing about your virtual machines, application tiers, APIs, or public-facing endpoints; those are yours to secure and validate independently.

Requirement 11.3.2 is specific: after an initial passing scan, organisations must run quarterly scans through an ASV and achieve a passing result, covering every system component in the CDE reachable from the internet. In a typical Azure deployment, that includes public IPs attached to virtual machines, Application Gateway endpoints, Azure Kubernetes Service ingress controllers, and any other externally reachable component tied to the CDE. Azure’s own certifications don’t satisfy this requirement on your behalf, a point worth confirming directly against the PCI SSC’s ASV Program Guide and your QSA rather than taking it on faith.

Get a Free Azure PCI ASV Scan Quote

Share your Azure footprint: VMs, App Service, API Management, and get scoped, quarterly-ready pricing within one business day.

Azure Shared Responsibility Model and PCI ASV Scanning: Where the Line Actually Falls

The Azure shared responsibility model assigns physical infrastructure and hypervisor security to Microsoft; everything above that, OS patching, application security, data protection, and network configuration, including all obligations tied to PCI ASV scanning on Azure, remains the customer's.

At the IaaS level (Azure Virtual Machines), Microsoft’s responsibility stops at the physical host, the hypervisor, and the underlying network fabric. You own the guest OS, patching, application software, identity configuration, and the network controls, including the NSG rules, that determine what traffic reaches those systems from the internet. At the PaaS level (App Service, Azure SQL Database), Microsoft takes on the runtime and underlying OS, but you still own the data you store, the application logic you deploy, and the security configuration of every public endpoint.

The practical consequence: your ASV scan scope and results are determined entirely by the configuration decisions you’ve made in Azure, not by anything Microsoft manages. If your NSG rules allow broad inbound access, that shows up in your scan. If an App Service listener is still running an outdated TLS version, that’s a finding, and Microsoft will not remediate it, because it exists on your side of the shared responsibility model. Understanding this distinction before your first scan cycle saves significant time during remediation.

Why Native Azure Tools Can't Replace an Azure PCI DSS Vulnerability Scan

Microsoft Defender for Cloud and similar native tools assess your Azure resources from the inside looking out; an Azure PCI DSS vulnerability scan under Requirement 11.3.2 has to come from an independent ASV, scanning from the outside looking in, and one cannot substitute for the other.

Defender for Cloud offers genuinely useful vulnerability assessments for VMs, container images, and other Azure resources, and it integrates with third-party scanners for continuous monitoring against security benchmarks. But it operates from within your subscription; with visibility into configuration, Azure grants it. An ASV scan has none of that privileged access; it simulates exactly what an external attacker sees: open ports, exposed services, outdated software detectable through banner grabbing, weak TLS cypher suites, and other conditions visible from the public internet. That external vantage point is the entire point of the requirement, and it’s a function Azure’s internal tooling structurally cannot replicate.

It’s also worth confirming vendor approval directly: not every scanner listed in Azure Marketplace holds current PCI SSC ASV certification, and only a scan from a vendor on the SSC’s approved list satisfies Requirement 11.3.2. Verifying your vendor’s status on the PCI SSC website before engaging them is a basic but essential step.

Scoping an ASV Scan on Azure: The Assets Most Often Missed

Dynamic public IPs, App Service custom domains, API Management gateways, and Load Balancer front-ends are the assets most commonly left out when scoping an ASV scan on an Azure VM or PaaS environment, and each one is a customer scoping responsibility that Azure will not flag for you.

Patterns that show up repeatedly in Azure environments:

  • Dynamic public IPs on VMs: if a VM’s public IP isn’t set to static, it can change on restart or deallocation, silently dropping an in-scope asset from your next scan’s target list.
  • App Service custom domains: the default *.azurewebsites.net endpoint might get scanned while a mapped custom domain serving the same app is missed, or the reverse.
  • API Management and Application Gateway: internet-facing by definition, but easy to leave off a scope built around a VM inventory.
  • Load Balancer and Traffic Manager front-ends: the public entry point, not the backend pool, is what an ASV needs to see, and autoscaling backend pools can change without the front-end IP changing at all.
  • Storage accounts with public network access enabled: in scope the moment they connect to the CDE, even though they aren’t a “server”.

 

Azure’s resource tagging and Azure Resource Graph are useful for building this inventory, but automated discovery should be a starting point, not a final answer; dynamic environments need scope revalidated after every network change, not at a single point in time. It’s also worth checking Azure’s current policies on notifying Microsoft before large-scale scanning activity; a scanning partner experienced in Azure environments will already know how to navigate this.

PCI DSS 11.3.2 on Azure: Why the Scanning Burden Shifts But Never Disappears

Moving from Azure VMs to PaaS services reduces your patching burden, but PCI DSS 11.3.2 on Azure still requires a quarterly scan of every internet-facing endpoint tied to the CDE; the requirement doesn't shrink just because Microsoft manages more of the stack.

It’s tempting to treat a PaaS migration as a compliance shortcut: Microsoft manages the OS, so the CDE must be “more compliant” by default. That’s only partly true. Microsoft patching the underlying App Service infrastructure does reduce certain OS-level vulnerability classes that an ASV would otherwise flag. But the scan obligation itself is unaffected: App Service, Azure SQL, and API Management endpoints are internet-facing and still need to be identified, scoped, and scanned quarterly, exactly like a VM. The responsibility shift changes what a scan is likely to find, not whether the scan is required.

Talk to a PCI Compliance Expert

Book a 20-minute call to map your Azure CDE scope before your next quarterly scan deadline.

Common Reasons Azure-Hosted Environments Fail ASV Scans

Overly permissive NSG rules, outdated TLS configurations, unpatched application dependencies, and incomplete scan scope are the most frequent causes of Azure-side scan failures, all customer-owned, not Microsoft-owned.

  • Overly permissive NSG rules exposing RDP (3389) or SSH (22) to the internet
  • TLS 1.0/1.1 still enabled on App Service or Application Gateway listeners
  • Outdated application frameworks or CMS plugins running on App Service or VMs
  • Default credentials or exposed management interfaces on IaaS deployments
  • Missing WAF rules on Application Gateway or Front Door in front of payment pages
  • Incomplete scope submissions that omit newly provisioned public IPs or hostnames

 

Every one of these sits in the customer half of the shared responsibility model. Azure gives you the tools to prevent all of them: NSGs, Azure Policy, Front Door WAF, and Defender for Cloud, but none of those tools run themselves, and none substitute for the independent attestation. Requirement 11.3.2 calls for.

Maintaining Continuous PCI Compliance Between Scan Cycles

PCI compliance on Azure is a continuous state, not a quarterly event. Configuration drift between scans is one of the leading causes of unexpected findings on the next cycle.

Between scans, that means keeping NSG rules aligned with least privilege, monitoring Defender for Cloud recommendations as they surface, and making sure patch management covers every in-scope VM and service, not just the ones scanned last quarter. A working relationship with an ASV partner who understands Azure environments, combined with disciplined configuration management, is what turns quarterly scanning from a recurring scramble into a predictable, repeatable process.

Conclusion

Azure’s compliance certifications describe what Microsoft secures beneath your workload, not what you’ve built on top of it. The shared responsibility model draws a line at the platform; PCI DSS Requirement 11.3.2 draws a separate line at your CDE’s internet-facing perimeter, and that second line has to be scanned quarterly by an independent ASV no matter how much of the stack Azure manages.

PCI ASV scanning on Azure is not optional, not delegable to Microsoft, and not replaceable by native security tooling. Organisations that navigate this well treat it as part of ongoing Azure governance, accurate scoping, disciplined configuration, and a scanning partner who knows cloud environments, rather than a quarterly checkbox.

Compare Secusy ASV Pricing Plans

See plans built for cloud-hosted merchants running quarterly PCI ASV scans on Azure.

Frequently Asked Questions

It's an external vulnerability scan performed by a PCI SSC-approved vendor to find internet-facing weaknesses. PCI DSS Requirement 11.3.2 requires it quarterly for any entity handling cardholder data; Azure-hosted environments aren't exempt.

No. Azure's PCI DSS attestation covers its own infrastructure. Only an independent, PCI SSC-certified ASV can perform and attest to the scan Requirement 11.3.2 requires.

No. It certifies Microsoft's infrastructure and select managed services. Your application configuration, access controls, and exposed endpoints remain your responsibility.
Yes. Under PCI DSS 11.3.2 on Azure, any internet-facing endpoint tied to your CDE is in scope, whether it runs on IaaS or PaaS.

No. Defender for Cloud assesses your resources from inside your subscription. An ASV scan has to come from outside your network, with no privileged access; that's what Requirement 11.3.2 specifically requires.

Dynamic public IPs, App Service custom domains, API Management gateways, Load Balancer front-ends, and storage accounts with public network access enabled.
Overly permissive NSG rules, outdated TLS configurations on public endpoints, unpatched software on VMs or App Service, and incomplete scope submissions that leave out newly provisioned public assets.
Start by inventorying every public-facing IP and hostname in your CDE, hand that scope to a PCI SSC-approved ASV, confirm Azure's current scanning notification requirements, and schedule quarterly scans with enough lead time to remediate before your deadline.

Authored by

Binoy Koonammavu blog image

Binoy Koonammavu, is the Founder and CEO of Secusy ASV, where he helps SMBs and fintech companies meet PCI DSS scanning requirements without the complexity of enterprise-grade tools. His writing focuses on making ASV compliance straightforward for growing businesses.

Share:

Related Post

 

Discover more from Secusy ASV

Subscribe now to keep reading and get access to the full archive.

Continue reading