Skip to main content

Part 2 - Shared responsibility / The landing zone of a PCI-DSS compliant application inside Microsoft Azure

In the previous article, we talked about the core concepts of PCI-DSS and the impact of storing, processing and transmitting credit card data. 

This article focus on the shared responsibility concept and the importance of having all the parties at the same table. I promise that starting with the next article of this series, we will go on the technical side, but for now, we need to have a clear understanding of who the players are and what the responsibility level of each of them is.

The solution we plan to build is built around Microsoft Azure, Azure Kubernetes Services (AKS), Azure SQL and Azure CosmosDB. Considering these services, there are 3 main parties at the table:

  1. Microsoft Azure
  2. Kubernetes (AKS)
  3. The solution owner (the customer)
Depending on the solution, a shared responsibility exists between all of them, covering five main aspects:
Infrastructure, Access control, Network Security, Data protection, Malware detection. The combination of these five main aspects and the three parties define and shape what the shared responsibility model looks like. 

Microsoft Azure
The primary responsibility of Microsoft is to ensure that they provide all the PCI-DSS attestation of compliance, including the audit reports. They offer clear information related to who is responsible for what at each service level through a responsibility matrix that covers each PCI-DSS requirement. 
For compliances like PCI-DSS, HIPPA, SOC and many more, a specific set of services and functionality was built inside Microsoft Azure, giving us (the customer) the ability to build seamless systems that are  PCI-DSS compliant.
The compliance matrix is available here.
Kubernetes (AKS)
AKS is built on top of Kubernetes, which is an open-source system. The only thing that Microsoft is offering on top of it is the ability to spin, run, scale, and manage large Kubernetes clusters without the complexity of managing the cluster and the infrastructure that is behind the scene. 
It is not simple, but it makes life much more accessible and looks so effortless. 
The customer
The customer is the final owner of the solution and how decides to build the solution. He has a complete list of Microsoft Azure services and features that are PCI-DSS compliant. 
The customer needs to have a strong understanding of PCI-DSS to ensure that the right Azure services are used, and that all the processes are successfully implemented. 


The three parties are forced by the compliance requirements to build a system that is not time optimal from the cost point of view, technology and flow. Nevertheless, it ensures that credit card data are well protected once a user types his credit card data inside the system. Later on, in this series, we discuss why for small systems, you can end up paying for virtual security appliances more than for AKS cluster.

Microsoft Trust Center
Microsoft Trust Center is the entity inside Microsoft that ensures that compliance, privacy and security best practices are provided and regular audits and attests from QSA are done for all compliances, including PCI DSS. 
It should be the starting point of your journey if you want to build a compliant PCI-DSS system using Microsoft and Microsoft Azure technologies. 

Comments

Popular posts from this blog

Windows Docker Containers can make WIN32 API calls, use COM and ASP.NET WebForms

After the last post , I received two interesting questions related to Docker and Windows. People were interested if we do Win32 API calls from a Docker container and if there is support for COM. WIN32 Support To test calls to WIN32 API, let’s try to populate SYSTEM_INFO class. [StructLayout(LayoutKind.Sequential)] public struct SYSTEM_INFO { public uint dwOemId; public uint dwPageSize; public uint lpMinimumApplicationAddress; public uint lpMaximumApplicationAddress; public uint dwActiveProcessorMask; public uint dwNumberOfProcessors; public uint dwProcessorType; public uint dwAllocationGranularity; public uint dwProcessorLevel; public uint dwProcessorRevision; } ... [DllImport("kernel32")] static extern void GetSystemInfo(ref SYSTEM_INFO pSI); ... SYSTEM_INFO pSI = new SYSTEM_INFO(

ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded

Today blog post will be started with the following error when running DB tests on the CI machine: threw exception: System.InvalidOperationException: The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' registered in the application config file for the ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information. at System.Data.Entity.Infrastructure.DependencyResolution.ProviderServicesFactory.GetInstance(String providerTypeName, String providerInvariantName) This error happened only on the Continuous Integration machine. On the devs machines, everything has fine. The classic problem – on my machine it’s working. The CI has the following configuration: TeamCity .NET 4.51 EF 6.0.2 VS2013 It see

Navigating Cloud Strategy after Azure Central US Region Outage

 Looking back, July 19, 2024, was challenging for customers using Microsoft Azure or Windows machines. Two major outages affected customers using CrowdStrike Falcon or Microsoft Azure computation resources in the Central US. These two outages affected many people and put many businesses on pause for a few hours or even days. The overlap of these two issues was a nightmare for travellers. In addition to blue screens in the airport terminals, they could not get additional information from the airport website, airline personnel, or the support line because they were affected by the outage in the Central US region or the CrowdStrike outage.   But what happened in reality? A faulty CrowdStrike update affected Windows computers globally, from airports and healthcare to small businesses, affecting over 8.5m computers. Even if the Falson Sensor software defect was identified and a fix deployed shortly after, the recovery took longer. In parallel with CrowdStrike, Microsoft provided a too