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(...

How to audit an Azure Cosmos DB

In this post, we will talk about how we can audit an Azure Cosmos DB database. Before jumping into the problem let us define the business requirement: As an Administrator I want to be able to audit all changes that were done to specific collection inside my Azure Cosmos DB. The requirement is simple, but can be a little tricky to implement fully. First of all when you are using Azure Cosmos DB or any other storage solution there are 99% odds that you’ll have more than one system that writes data to it. This means that you have or not have control on the systems that are doing any create/update/delete operations. Solution 1: Diagnostic Logs Cosmos DB allows us activate diagnostics logs and stream the output a storage account for achieving to other systems like Event Hub or Log Analytics. This would allow us to have information related to who, when, what, response code and how the access operation to our Cosmos DB was done. Beside this there is a field that specifies what was th...

Cloud Myths: Cloud is Cheaper (Pill 1 of 5 / Cloud Pills)

Cloud Myths: Cloud is Cheaper (Pill 1 of 5 / Cloud Pills) The idea that moving to the cloud reduces the costs is a common misconception. The cloud infrastructure provides flexibility, scalability, and better CAPEX, but it does not guarantee lower costs without proper optimisation and management of the cloud services and infrastructure. Idle and unused resources, overprovisioning, oversize databases, and unnecessary data transfer can increase running costs. The regional pricing mode, multi-cloud complexity, and cost variety add extra complexity to the cost function. Cloud adoption without a cost governance strategy can result in unexpected expenses. Improper usage, combined with a pay-as-you-go model, can result in a nightmare for business stakeholders who cannot track and manage the monthly costs. Cloud-native services such as AI services, managed databases, and analytics platforms are powerful, provide out-of-the-shelve capabilities, and increase business agility and innovation. H...