You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/aks/concepts-security.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,10 +13,10 @@ Container security protects the entire end-to-end pipeline from build to the app
13
13
14
14
The Secure Supply Chain includes the build environment and registry.
15
15
16
-
Kubernetes includes security components, such as *pod security standards* and *Secrets*. Meanwhile, Azure includes components like Active Directory, Microsoft Defender for Containers, Azure Policy, Azure Key Vault, network security groups and orchestrated cluster upgrades. AKS combines these security components to:
16
+
Kubernetes includes security components, such as *pod security standards* and *Secrets*. Azure includes components like Active Directory, Microsoft Defender for Containers, Azure Policy, Azure Key Vault, network security groups and orchestrated cluster upgrades. AKS combines these security components to:
17
17
18
18
* Provide a complete authentication and authorization story.
19
-
*Leverage AKS Built-in Azure Policy to secure your applications.
19
+
*Apply AKS Built-in Azure Policy to secure your applications.
20
20
* End-to-End insight from build through your application with Microsoft Defender for Containers.
21
21
* Keep your AKS cluster running the latest OS security updates and Kubernetes releases.
22
22
* Provide secure pod traffic and access to sensitive credentials.
@@ -25,11 +25,11 @@ This article introduces the core concepts that secure your applications in AKS.
25
25
26
26
## Build Security
27
27
28
-
As the entry point for the Supply Chain, it is important to conduct static analysis of image builds before they are promoted down the pipeline. This includes vulnerability and compliance assessment. It is not about failing a build because it has a vulnerability, as that will break development. It is about looking at the "Vendor Status" to segment based on vulnerabilities that are actionable by the development teams. Also leverage "Grace Periods" to allow developers time to remediate identified issues.
28
+
As the entry point for the Supply Chain, it is important to conduct static analysis of image builds before they are promoted down the pipeline. This includes vulnerability and compliance assessment. It is not about failing a build because it has a vulnerability, as that breaks development. It's about looking at the **Vendor Status** to segment based on vulnerabilities that are actionable by the development teams. Also use **Grace Periods** to allow developers time to remediate identified issues.
29
29
30
30
## Registry Security
31
31
32
-
Assessing the vulnerability state of the image in the Registry will detect drift and will also catch images that didn't come from your build environment. Use [Notary V2](https://github.com/notaryproject/notaryproject) to attach signatures to your images to ensure deployments are coming from a trusted location.
32
+
Assessing the vulnerability state of the image in the Registry detects drift and also catches images that didn't come from your build environment. Use [Notary V2](https://github.com/notaryproject/notaryproject) to attach signatures to your images to ensure deployments are coming from a trusted location.
33
33
34
34
## Cluster security
35
35
@@ -50,7 +50,7 @@ When an AKS cluster is created or scaled up, the nodes are automatically deploye
50
50
51
51
> [!NOTE]
52
52
> AKS clusters using:
53
-
> * Kubernetes version 1.19 and greater for Linux node pools use `containerd` as its container runtime. Using `containerd` with Windows Server 2019 node pools is currently in preview. For more details, see [Add a Windows Server node pool with `containerd`][aks-add-np-containerd].
53
+
> * Kubernetes version 1.19 and greater for Linux node pools use `containerd` as its container runtime. Using `containerd` with Windows Server 2019 node pools is currently in preview. For more information, see [Add a Windows Server node pool with `containerd`][aks-add-np-containerd].
54
54
> * Kubernetes prior to v1.19 for Linux node pools use Docker as its container runtime. For Windows Server 2019 node pools, Docker is the default container runtime.
55
55
56
56
For more information about the security upgrade process for Linux and Windows worker nodes, see [Security patching nodes][aks-vulnerability-management-nodes].
@@ -106,15 +106,15 @@ For connectivity and security with on-premises networks, you can deploy your AKS
106
106
107
107
To filter virtual network traffic flow, Azure uses network security group rules. These rules define the source and destination IP ranges, ports, and protocols allowed or denied access to resources. Default rules are created to allow TLS traffic to the Kubernetes API server. You create services with load balancers, port mappings, or ingress routes. AKS automatically modifies the network security group for traffic flow.
108
108
109
-
If you provide your own subnet for your AKS cluster (whether using Azure CNI or Kubenet), **do not** modify the NIC-level network security group managed by AKS. Instead, create more subnet-level network security groups to modify the flow of traffic. Make sure they don't interfere with necessary traffic managing the cluster, such as load balancer access, communication with the control plane, and [egress][aks-limit-egress-traffic].
109
+
If you provide your own subnet for your AKS cluster (whether using Azure CNI or Kubenet), **do not** modify the NIC-level network security group managed by AKS. Instead, create more subnet-level network security groups to modify the flow of traffic. Verify they don't interfere with necessary traffic managing the cluster, such as load balancer access, communication with the control plane, and [egress][aks-limit-egress-traffic].
110
110
111
111
### Kubernetes network policy
112
112
113
113
To limit network traffic between pods in your cluster, AKS offers support for [Kubernetes network policies][network-policy]. With network policies, you can allow or deny specific network paths within the cluster based on namespaces and label selectors.
114
114
115
115
## Application Security
116
116
117
-
To protect pods running on AKS leverage[Microsoft Defender for Containers][microsoft-defender-for-containers] to detect and restrict cyber attacks against your applications running in your pods. Run continual scanning to detect drift in the vulnerability state of your application and implement a "blue/green/canary" process to patch and replace the vulnerable images.
117
+
To protect pods running on AKS, consider[Microsoft Defender for Containers][microsoft-defender-for-containers] to detect and restrict cyber attacks against your applications running in your pods. Run continual scanning to detect drift in the vulnerability state of your application and implement a "blue/green/canary" process to patch and replace the vulnerable images.
118
118
119
119
## Kubernetes Secrets
120
120
@@ -124,15 +124,15 @@ With a Kubernetes *Secret*, you inject sensitive data into pods, such as access
124
124
1. Define your pod or deployment and request a specific Secret.
125
125
* Secrets are only provided to nodes with a scheduled pod that requires them.
126
126
* The Secret is stored in *tmpfs*, not written to disk.
127
-
1. When you delete the last pod on a node requiring a Secret, the Secret is deleted from the node's tmpfs.
128
-
* Secrets are stored within a given namespace and can only be accessed by pods within the same namespace.
127
+
1. When you delete the last pod on a node requiring a Secret, the Secret is deleted from the node's *tmpfs*.
128
+
* Secrets are stored within a given namespace and are only accessible from pods within the same namespace.
129
129
130
130
Using Secrets reduces the sensitive information defined in the pod or service YAML manifest. Instead, you request the Secret stored in Kubernetes API Server as part of your YAML manifest. This approach only provides the specific pod access to the Secret.
131
131
132
132
> [!NOTE]
133
133
> The raw secret manifest files contain the secret data in base64 format (see the [official documentation][secret-risks] for more details). Treat these files as sensitive information, and never commit them to source control.
134
134
135
-
Kubernetes secrets are stored in etcd, a distributed key-value store. Etcd store is fully managed by AKS and [data is encrypted at rest within the Azure platform][encryption-atrest].
135
+
Kubernetes secrets are stored in etcd, a distributed key-value store. AKS fully manages the Etcd store and [data is encrypted at rest within the Azure platform][encryption-atrest].
0 commit comments