Azure Policy Regulatory Compliance controls for Azure Kubernetes Service (AKS)

Regulatory Compliance in Azure Policy provides initiative definitions (built-ins) created and managed by Microsoft, for the compliance domains and security controls related to different compliance standards. This page lists the Azure Kubernetes Service (AKS) compliance domains and security controls.

You can assign the built-ins for a security control individually to help make your Azure resources compliant with the specific standard.

The title of each built-in policy definition links to the policy definition in the Azure portal. Use the link in the Policy Version column to view the source on the Azure Policy GitHub repo.

Important

Each control is associated with one or more Azure Policy definitions. These policies might help you assess compliance with the control. However, there often isn't a one-to-one or complete match between a control and one or more policies. As such, Compliant in Azure Policy refers only to the policies themselves. This doesn't ensure that you're fully compliant with all requirements of a control. In addition, the compliance standard includes controls that aren't addressed by any Azure Policy definitions at this time. Therefore, compliance in Azure Policy is only a partial view of your overall compliance status. The associations between controls and Azure Policy Regulatory Compliance definitions for these compliance standards can change over time.

Azure Security Benchmark

The Azure Security Benchmark provides recommendations on how you can secure your cloud solutions on Azure. To see how this service completely maps to the Azure Security Benchmark, see the Azure Security Benchmark mapping files.

To review how the available Azure Policy built-ins for all Azure services map to this compliance standard, see Azure Policy Regulatory Compliance - Azure Security Benchmark.

Domain Control ID Control title Policy
(Azure portal)
Policy version
(GitHub)
Network Security NS-2 Secure cloud services with network controls Authorized IP ranges should be defined on Kubernetes Services 2.0.1
Privileged Access PA-7 Follow just enough administration (least privilege) principle Role-Based Access Control (RBAC) should be used on Kubernetes Services 1.0.2
Data Protection DP-3 Encrypt sensitive data in transit Kubernetes clusters should be accessible only over HTTPS 8.0.1
Logging and Threat Detection LT-1 Enable threat detection capabilities Azure Kubernetes Service clusters should have Defender profile enabled 2.0.0
Logging and Threat Detection LT-2 Enable threat detection for identity and access management Azure Kubernetes Service clusters should have Defender profile enabled 2.0.0
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Azure Policy Add-on for Kubernetes service (AKS) should be installed and enabled on your clusters 1.0.2
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes cluster containers CPU and memory resource limits should not exceed the specified limits 9.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes cluster containers should not share host process ID or host IPC namespace 5.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes cluster containers should only use allowed AppArmor profiles 6.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes cluster containers should only use allowed capabilities 6.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes cluster containers should only use allowed images 9.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes cluster containers should run with a read only root file system 6.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes cluster pod hostPath volumes should only use allowed host paths 6.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes cluster pods and containers should only run with approved user and group IDs 6.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes cluster pods should only use approved host network and port range 6.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes cluster services should listen only on allowed ports 8.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes cluster should not allow privileged containers 9.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes clusters should disable automounting API credentials 4.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes clusters should not allow container privilege escalation 7.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes clusters should not grant CAP_SYS_ADMIN security capabilities 5.0.1
Posture and Vulnerability Management PV-2 Audit and enforce secure configurations Kubernetes clusters should not use the default namespace 4.0.1

Azure Security Benchmark v1

The Azure Security Benchmark provides recommendations on how you can secure your cloud solutions on Azure. To see how this service completely maps to the Azure Security Benchmark, see the Azure Security Benchmark mapping files.

To review how the available Azure Policy built-ins for all Azure services map to this compliance standard, see Azure Policy Regulatory Compliance - Azure Security Benchmark.

Domain Control ID Control title Policy
(Azure portal)
Policy version
(GitHub)
Network Security 1.1 Protect resources using Network Security Groups or Azure Firewall on your Virtual Network Authorized IP ranges should be defined on Kubernetes Services 2.0.1
Data Protection 4.6 Use Azure RBAC to control access to resources Role-Based Access Control (RBAC) should be used on Kubernetes Services 1.0.2
Vulnerability Management 5.3 Deploy automated third-party software patch management solution Kubernetes Services should be upgraded to a non-vulnerable Kubernetes version 1.0.2

Next steps