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/defender-for-cloud/defender-for-containers-architecture.md
+15-11Lines changed: 15 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,11 @@
1
1
---
2
2
title: Container security architecture
3
-
description: Learn about the architecture of Microsoft Defender for Containers for each container platform
3
+
description: Learn about the architecture of Microsoft Defender for Containers for the Azure, AWS, GCP, and on-premises container platform
4
4
author: dcurwin
5
5
ms.author: dacurwin
6
-
ms.topic: overview
6
+
ms.topic: conceptual
7
7
ms.date: 01/10/2024
8
+
# customer intent: As a developer, I want to understand the container security architecture of Microsoft Defender for Containers so that I can implement it effectively.
8
9
---
9
10
10
11
# Defender for Containers architecture
@@ -78,6 +79,9 @@ When you enable the agentless discovery for Kubernetes extension, the following
78
79
-**Discover**: Using the system assigned identity, Defender for Cloud performs a discovery of the AKS clusters in your environment using API calls to the API server of AKS.
79
80
-**Bind**: Upon discovery of an AKS cluster, Defender for Cloud performs an AKS bind operation by creating a `ClusterRoleBinding` between the created identity and the Kubernetes `ClusterRole`*aks:trustedaccessrole:defender-containers:microsoft-defender-operator*. The `ClusterRole` is visible via API and gives Defender for Cloud data plane read permission inside the cluster.
80
81
82
+
> [!NOTE]
83
+
> The copied snapshot remains in the same region as the cluster.
### Architecture diagram of Defender for Cloud and Arc-enabled Kubernetes clusters
@@ -88,7 +92,7 @@ These components are required in order to receive the full protection offered by
88
92
89
93
-**Defender sensor**: The DaemonSet that is deployed on each node, collects host signals using [eBPF technology](https://ebpf.io/) and Kubernetes audit logs, to provide runtime protection. The sensor is registered with a Log Analytics workspace, and used as a data pipeline. However, the audit log data isn't stored in the Log Analytics workspace. The Defender sensor is deployed as an Arc-enabled Kubernetes extension.
90
94
91
-
-**Azure Policy for Kubernetes**: A pod that extends the open-source [Gatekeeper v3](https://github.com/open-policy-agent/gatekeeper) and registers as a web hook to Kubernetes admission control making it possible to apply at-scale enforcements, and safeguards on your clusters in a centralized, consistent manner. The Azure Policy for Kubernetes pod is deployed as an Arc-enabled Kubernetes extension. It's only installed on one node in the cluster. For more information, see [Protect your Kubernetes workloads](kubernetes-workload-protections.md) and [Understand Azure Policy for Kubernetes clusters](../governance/policy/concepts/policy-for-kubernetes.md).
95
+
-**Azure Policy for Kubernetes**: A pod that extends the open-source [Gatekeeper v3](https://github.com/open-policy-agent/gatekeeper) and registers as a web hook to Kubernetes admission control making it possible to apply at-scale enforcements, and safeguards on your clusters in a centralized, consistent manner. It's only installed on one node in the cluster. For more information, see [Protect your Kubernetes workloads](kubernetes-workload-protections.md) and [Understand Azure Policy for Kubernetes clusters](../governance/policy/concepts/policy-for-kubernetes.md).
92
96
93
97
> [!NOTE]
94
98
> Defender for Containers support for Arc-enabled Kubernetes clusters is a preview feature.
@@ -106,9 +110,6 @@ When Defender for Cloud protects a cluster hosted in Elastic Kubernetes Service,
106
110
-**Defender sensor**: The DaemonSet that is deployed on each node, collects signals from hosts using [eBPF technology](https://ebpf.io/), and provides runtime protection. The sensor is registered with a Log Analytics workspace, and used as a data pipeline. However, the audit log data isn't stored in the Log Analytics workspace. The Defender sensor is deployed as an Arc-enabled Kubernetes extension.
107
111
-**Azure Policy for Kubernetes**: A pod that extends the open-source [Gatekeeper v3](https://github.com/open-policy-agent/gatekeeper) and registers as a web hook to Kubernetes admission control making it possible to apply at-scale enforcements, and safeguards on your clusters in a centralized, consistent manner. The Azure Policy for Kubernetes pod is deployed as an Arc-enabled Kubernetes extension. It's only installed on one node in the cluster. For more information, see [Protect your Kubernetes workloads](kubernetes-workload-protections.md) and [Understand Azure Policy for Kubernetes clusters](../governance/policy/concepts/policy-for-kubernetes.md).
108
112
109
-
> [!NOTE]
110
-
> Defender for Containers support for AWS EKS clusters is a preview feature.
111
-
112
113
:::image type="content" source="./media/defender-for-containers/architecture-eks-cluster.png" alt-text="Diagram of high-level architecture of the interaction between Microsoft Defender for Containers, Amazon Web Services' EKS clusters, Azure Arc-enabled Kubernetes, and Azure Policy." lightbox="./media/defender-for-containers/architecture-eks-cluster.png":::
113
114
114
115
### How does agentless discovery for Kubernetes in AWS work?
@@ -127,6 +128,9 @@ When you enable the agentless discovery for Kubernetes extension, the following
127
128
128
129
-**Discover**: Using the system assigned identity, Defender for Cloud performs a discovery of the EKS clusters in your environment using API calls to the API server of EKS.
129
130
131
+
> [!NOTE]
132
+
> The copied snapshot remains in the same region as the cluster.
### Architecture diagram of Defender for Cloud and GKE clusters
@@ -135,13 +139,10 @@ When Defender for Cloud protects a cluster hosted in Google Kubernetes Engine, t
135
139
136
140
-**[Kubernetes audit logs](https://kubernetes.io/docs/tasks/debug-application-cluster/audit/)** – [GCP Cloud Logging](https://cloud.google.com/logging/) enables, and collects audit log data through an agentless collector, and sends the collected information to the Microsoft Defender for Cloud backend for further analysis.
137
141
138
-
-**[Azure Arc-enabled Kubernetes](../azure-arc/kubernetes/overview.md)** - Azure Arc-enabled Kubernetes - A sensor based solution, installed on one node in the cluster, that connects your clusters to Defender for Cloud. Defender for Cloud is then able to deploy the following two agents as [Arc extensions](../azure-arc/kubernetes/extensions.md):
139
-
-**Defender sensor**: The DaemonSet that is deployed on each node, collects signals from hosts using [eBPF technology](https://ebpf.io/), and provides runtime protection. The sensor is registered with a Log Analytics workspace, and used as a data pipeline. However, the audit log data isn't stored in the Log Analytics workspace. The Defender sensor is deployed as an Arc-enabled Kubernetes extension.
142
+
-**[Azure Arc-enabled Kubernetes](../azure-arc/kubernetes/overview.md)** - Azure Arc-enabled Kubernetes - A sensor based solution, installed on one node in the cluster, that enables your clusters to connect to Defender for Cloud. Defender for Cloud is then able to deploy the following two agents as [Arc extensions](../azure-arc/kubernetes/extensions.md):
143
+
-**Defender sensor**: The DaemonSet that is deployed on each node, collects signals from hosts using [eBPF technology](https://ebpf.io/), and provides runtime protection. The sensor is registered with a Log Analytics workspace, and used as a data pipeline. However, the audit log data isn't stored in the Log Analytics workspace.
140
144
-**Azure Policy for Kubernetes**: A pod that extends the open-source [Gatekeeper v3](https://github.com/open-policy-agent/gatekeeper) and registers as a web hook to Kubernetes admission control making it possible to apply at-scale enforcements, and safeguards on your clusters in a centralized, consistent manner. The Azure Policy for Kubernetes pod is deployed as an Arc-enabled Kubernetes extension. It only needs to be installed on one node in the cluster. For more information, see [Protect your Kubernetes workloads](kubernetes-workload-protections.md) and [Understand Azure Policy for Kubernetes clusters](../governance/policy/concepts/policy-for-kubernetes.md).
141
145
142
-
> [!NOTE]
143
-
> Defender for Containers support for GCP GKE clusters is a preview feature.
144
-
145
146
:::image type="content" source="./media/defender-for-containers/architecture-gke.png" alt-text="Diagram of high-level architecture of the interaction between Microsoft Defender for Containers, Google GKE clusters, Azure Arc-enabled Kubernetes, and Azure Policy." lightbox="./media/defender-for-containers/architecture-gke.png":::
146
147
147
148
### How does agentless discovery for Kubernetes in GCP work?
@@ -160,6 +161,9 @@ When you enable the agentless discovery for Kubernetes extension, the following
160
161
161
162
-**Discover**: Using the system assigned identity, Defender for Cloud performs a discovery of the GKE clusters in your environment using API calls to the API server of GKE.
162
163
164
+
> [!NOTE]
165
+
> The copied snapshot remains in the same region as the cluster.
Copy file name to clipboardExpand all lines: articles/defender-for-cloud/defender-for-containers-enable.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,9 +37,9 @@ You can also learn more by watching these videos from the Defender for Cloud in
37
37
-[Microsoft Defender for Containers in a multicloud environment](episode-nine.md)
38
38
-[Protect Containers in GCP with Defender for Containers](episode-ten.md)
39
39
40
-
::: zone pivot="defender-for-container-arc,defender-for-container-eks,defender-for-container-gke"
40
+
::: zone pivot="defender-for-container-arc"
41
41
> [!NOTE]
42
-
> Defender for Containers' support for Arc-enabled Kubernetes clusters, AWS EKS, and GCP GKE is a preview feature. The preview feature is available on a self-service, opt-in basis.
42
+
> Defender for Containers' support for Arc-enabled Kubernetes clusters is a preview feature. The preview feature is available on a self-service, opt-in basis.
43
43
>
44
44
> Previews are provided "as is" and "as available" and are excluded from the service level agreements and limited warranty.
Copy file name to clipboardExpand all lines: articles/defender-for-cloud/includes/defender-for-containers-enable-plan-eks.md
+25Lines changed: 25 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -83,3 +83,28 @@ To protect your EKS clusters, enable the Containers plan on the relevant account
83
83
To view the alerts and recommendations for your EKS clusters, use the filters on the alerts, recommendations, and inventory pages to filter by resource type **AWS EKS cluster**.
84
84
85
85
:::image type="content" source="../media/defender-for-kubernetes-intro/view-alerts-for-aws-eks-clusters.png" alt-text="Screenshot of how to use filters on Microsoft Defender for Cloud's security alerts page to view alerts related to AWS EKS clusters." lightbox="../media/defender-for-kubernetes-intro/view-alerts-for-aws-eks-clusters.png":::
86
+
87
+
## Deploying the Defender sensor
88
+
89
+
To deploy the Defender sensor on your AWS clusters, follow these steps:
90
+
91
+
1. Go to **Microsoft Defender for Cloud** -> **Environment settings** -> **Add environment** -> **Amazon Web Services**.
92
+
93
+
:::image type="content" source="../media/defender-for-kubernetes-intro/add-aws-environment.png" alt-text="Screenshot of how to add an AWS environment in Microsoft Defender for Cloud." lightbox="../media/defender-for-kubernetes-intro/add-aws-environment.png":::
94
+
95
+
1. Fill in the account details.
96
+
97
+
:::image type="content" source="../media/defender-for-kubernetes-intro/add-aws-account-details.png" alt-text="Screenshot of the form to fill in the account details foran AWS environmentin Microsoft Defender for Cloud." lightbox="../media/defender-for-kubernetes-intro/add-aws-account-details.png":::
98
+
99
+
1. Go to **Select plans**, open the Containers plan and make sure **Auto provision Defender's sensor for Azure Arc** is set to on.
100
+
101
+
:::image type="content" source="../media/defender-for-kubernetes-intro/enable-sensor-for-azure-arc.png" alt-text="Screenshot of how to enable the Defender sensor forAzure Arcin Microsoft Defender for Cloud." lightbox="../media/defender-for-kubernetes-intro/enable-sensor-for-azure-arc.png":::
102
+
103
+
1. Go to **Configure access** and follow the steps there.
104
+
105
+
:::image type="content" source="../media/defender-for-kubernetes-intro/configure-access.png" alt-text="Screenshot of how to configure access foran AWS environmentin Microsoft Defender for Cloud." lightbox="../media/defender-for-kubernetes-intro/configure-access.png":::
106
+
107
+
1. Once the Cloud Formation template was deployed successfully, select **Create**.
108
+
109
+
> [!NOTE]
110
+
> You can exclude a specific AWS cluster from autoprovisioning. For sensor deployment, apply the `ms_defender_container_exclude_agents` tag on the resource with the value `true`. For agentless deployment, apply the `ms_defender_container_exclude_agentless` tag on the resource with the value `true`.
Copy file name to clipboardExpand all lines: articles/defender-for-cloud/includes/defender-for-containers-enable-plan-gke.md
+25Lines changed: 25 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -117,3 +117,28 @@ There are 2 dedicated Defender for Cloud recommendations you can use to install
117
117
1. In the Value dropdown menu, select **GCP GKE Cluster**.
118
118
119
119
1. Select **Ok**.
120
+
121
+
## Deploying the Defender sensor
122
+
123
+
To deploy the Defender sensor on your GCP clusters, follow these steps:
124
+
125
+
1. Go to **Microsoft Defender for Cloud** -> **Environment settings** -> **Add environment** -> **Google Cloud Platform**.
126
+
127
+
:::image type="content" source="../media/defender-for-kubernetes-intro/add-gcp-environment.png" alt-text="Screenshot of how to add a GCP environment in Microsoft Defender for Cloud." lightbox="../media/defender-for-kubernetes-intro/add-gcp-environment.png":::
128
+
129
+
1. Fill in the account details.
130
+
131
+
:::image type="content" source="../media/defender-for-kubernetes-intro/add-gcp-account-details.png" alt-text="Screenshot of the form to fill in the account details for a GCP environment in Microsoft Defender for Cloud." lightbox="../media/defender-for-kubernetes-intro/add-gcp-account-details.png":::
132
+
133
+
1. Go to **Select plans**, open the Containers plan, and make sure **Auto provision Defender's sensor for Azure Arc** is set to on.
134
+
135
+
:::image type="content" source="../media/defender-for-kubernetes-intro/enable-sensor-for-azure-arc-gcp.png" alt-text="Screenshot of how to enable the Defender sensor for Azure Arc in Microsoft Defender for Cloud." lightbox="../media/defender-for-kubernetes-intro/enable-sensor-for-azure-arc-gcp.png":::
136
+
137
+
1. Go to **Configure access** and follow the steps there.
138
+
139
+
:::image type="content" source="../media/defender-for-kubernetes-intro/configure-access-gcp.png" alt-text="Screenshot of how to configure access for a GCP environment in Microsoft Defender for Cloud." lightbox="../media/defender-for-kubernetes-intro/configure-access-gcp.png":::
140
+
141
+
1. After the gcloud script ran successfully, select **Create**.
142
+
143
+
> [!NOTE]
144
+
> You can exclude a specific GCP cluster from autoprovisioning. For sensor deployment, apply the `ms_defender_container_exclude_agents` label on the resource with the value `true`. For agentless deployment, apply the `ms_defender_container_exclude_agentless` label on the resource with the value `true`.
0 commit comments