Skip to content

Commit f50c35d

Browse files
authored
Merge pull request #188738 from ElazarK/gcp-maya
gcp maya
2 parents 57d00ba + 5e8fc64 commit f50c35d

18 files changed

+212
-53
lines changed

articles/defender-for-cloud/defender-for-containers-enable.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: How to enable Microsoft Defender for Containers in Microsoft Defender for
33
description: Enable the container protections of Microsoft Defender for Containers
44
ms.topic: overview
55
zone_pivot_groups: k8s-host
6-
ms.date: 01/25/2022
6+
ms.date: 02/28/2022
77
---
88
# Enable Microsoft Defender for Containers
99

@@ -15,13 +15,16 @@ Defender for Containers protects your clusters whether they're running in:
1515

1616
- **Amazon Elastic Kubernetes Service (EKS) in a connected Amazon Web Services (AWS) account** - Amazon's managed service for running Kubernetes on AWS without needing to install, operate, and maintain your own Kubernetes control plane or nodes.
1717

18+
- **Google Kubernetes Engine (GKE) in a connected Google Cloud Platform (GCP) project** - Google’s managed environment for deploying, managing, and scaling applications using GCP infrastructure.
19+
1820
- **An unmanaged Kubernetes distribution** (using Azure Arc-enabled Kubernetes) - Cloud Native Computing Foundation (CNCF) certified Kubernetes clusters hosted on-premises or on IaaS.
1921

22+
2023
Learn about this plan in [Overview of Microsoft Defender for Containers](defender-for-containers-introduction.md).
2124

22-
::: zone pivot="defender-for-container-arc,defender-for-container-eks"
25+
::: zone pivot="defender-for-container-arc,defender-for-container-eks,defender-for-container-gke"
2326
> [!NOTE]
24-
> Defender for Containers' support for Arc-enabled Kubernetes clusters (and therefore AWS EKS too) is a preview feature.
27+
> Defender for Containers' support for Arc-enabled Kubernetes clusters, AWS EKS, and GCP GKE. This is a preview feature.
2528
>
2629
> [!INCLUDE [Legalese](../../includes/defender-for-cloud-preview-legal-text.md)]
2730
::: zone-end
@@ -30,7 +33,7 @@ Learn about this plan in [Overview of Microsoft Defender for Containers](defende
3033
[!INCLUDE [Prerequisites](./includes/defender-for-container-prerequisites-aks.md)]
3134
::: zone-end
3235

33-
::: zone pivot="defender-for-container-arc,defender-for-container-eks"
36+
::: zone pivot="defender-for-container-arc,defender-for-container-eks,defender-for-container-gke"
3437
[!INCLUDE [Prerequisites](./includes/defender-for-container-prerequisites-arc-eks.md)]
3538
::: zone-end
3639

@@ -46,6 +49,9 @@ Learn about this plan in [Overview of Microsoft Defender for Containers](defende
4649
[!INCLUDE [Enable plan for EKS](./includes/defender-for-containers-enable-plan-eks.md)]
4750
::: zone-end
4851

52+
::: zone pivot="defender-for-container-gke"
53+
[!INCLUDE [Enable plan for GKE](./includes/defender-for-containers-enable-plan-gke.md)]
54+
::: zone-end
4955

5056
## Simulate security alerts from Microsoft Defender for Containers
5157

@@ -65,10 +71,10 @@ A full list of supported alerts is available in the [reference table of all Defe
6571

6672
:::image type="content" source="media/defender-for-kubernetes-azure-arc/sample-kubernetes-security-alert.png" alt-text="Sample alert from Microsoft Defender for Kubernetes." lightbox="media/defender-for-kubernetes-azure-arc/sample-kubernetes-security-alert.png":::
6773
68-
::: zone pivot="defender-for-container-arc,defender-for-container-eks"
69-
[!INCLUDE [Remove the profile](./includes/defender-for-containers-remove-extension.md)]
74+
::: zone pivot="defender-for-container-arc,defender-for-container-eks,defender-for-container-gke"
75+
[!INCLUDE [Remove the extension](./includes/defender-for-containers-remove-extension.md)]
7076
::: zone-end
7177

7278
::: zone pivot="defender-for-container-aks"
73-
[!INCLUDE [Remove the extension](./includes/defender-for-containers-remove-profile.md)]
79+
[!INCLUDE [Remove the profile](./includes/defender-for-containers-remove-profile.md)]
7480
::: zone-end

articles/defender-for-cloud/defender-for-containers-introduction.md

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Container security with Microsoft Defender for Cloud
33
description: Learn about Microsoft Defender for Containers
44
ms.topic: overview
5-
ms.date: 02/16/2022
5+
ms.date: 02/28/2022
66
---
77

88
# Overview of Microsoft Defender for Containers
@@ -20,9 +20,9 @@ On this page, you'll learn how you can use Defender for Containers to improve, m
2020
| Release state: | General availability (GA)<br>Where indicated, specific features are in preview. [!INCLUDE [Legalese](../../includes/defender-for-cloud-preview-legal-text.md)] |
2121
| Pricing: | **Microsoft Defender for Containers** is billed as shown on the [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/) |
2222
| Registries and images: | **Supported**<br> • Linux images in Azure Container Registry (ACR) registries accessible from the public internet with shell access<br> • Private registries with access granted to [Trusted Services](../container-registry/allow-access-trusted-services.md#trusted-services)<br> • [ACR registries protected with Azure Private Link](../container-registry/container-registry-private-link.md)<br><br>**Unsupported**<br> • Windows images<br> • Super-minimalist images such as [Docker scratch](https://hub.docker.com/_/scratch/) images<br> • "Distroless" images that only contain an application and its runtime dependencies without a package manager, shell, or OS<br> • Images with [Open Container Initiative (OCI) Image Format Specification](https://github.com/opencontainers/image-spec/blob/master/spec.md) |
23-
| Kubernetes distributions and configurations: | **Supported**<br> • Any Cloud Native Computing Foundation (CNCF) certified Kubernetes clusters<br><br>**Unsupported**<br> • Any [taints](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to your nodes *might* disrupt the configuration of Defender for Containers<br>•The AKS Defender profile doesn't support AKS clusters that don't have RBAC role enabled.<br><br>**Tested on**<br> • [Azure Kubernetes Service](../aks/intro-kubernetes.md)<br> • [Amazon Elastic Kubernetes Service (EKS)](https://aws.amazon.com/eks/)<br> • [Azure Kubernetes Service on Azure Stack HCI](/azure-stack/aks-hci/overview)<br> • [Kubernetes](https://kubernetes.io/docs/home/)<br> • [AKS Engine](https://github.com/Azure/aks-engine)<br> • [Azure Red Hat OpenShift](https://azure.microsoft.com/services/openshift/)<br> • [Red Hat OpenShift](https://www.openshift.com/learn/topics/kubernetes/) (version 4.6 or newer)<br> • [VMware Tanzu Kubernetes Grid](https://tanzu.vmware.com/kubernetes-grid)<br> • [Rancher Kubernetes Engine](https://rancher.com/docs/rke/latest/en/) |
23+
| Kubernetes distributions and configurations: | **Supported**<br> • Any Cloud Native Computing Foundation (CNCF) certified Kubernetes clusters<br><br>**Unsupported**<br> • Any [taints](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to your nodes *might* disrupt the configuration of Defender for Containers<br>•The AKS Defender profile doesn't support AKS clusters that don't have RBAC role enabled.<br><br>**Tested on**<br> • [Azure Kubernetes Service](../aks/intro-kubernetes.md)<br> • [Amazon Elastic Kubernetes Service (EKS)](https://aws.amazon.com/eks/)<br> • [Google GKE Standard clusters](https://cloud.google.com/kubernetes-engine/) <br> • [Azure Kubernetes Service on Azure Stack HCI](/azure-stack/aks-hci/overview)<br> • [Kubernetes](https://kubernetes.io/docs/home/)<br> • [AKS Engine](https://github.com/Azure/aks-engine)<br> • [Azure Red Hat OpenShift](https://azure.microsoft.com/services/openshift/)<br> • [Red Hat OpenShift](https://www.openshift.com/learn/topics/kubernetes/) (version 4.6 or newer)<br> • [VMware Tanzu Kubernetes Grid](https://tanzu.vmware.com/kubernetes-grid)<br> • [Rancher Kubernetes Engine](https://rancher.com/docs/rke/latest/en/) |
2424
| Required roles and permissions: | • To auto provision the required components, [Contributor](../role-based-access-control/built-in-roles.md#contributor), [Log Analytics Contributor](../role-based-access-control/built-in-roles.md#log-analytics-contributor), or [Azure Kubernetes Service Contributor Role](../role-based-access-control/built-in-roles.md#azure-kubernetes-service-contributor-role)<br> • **Security admin** can dismiss alerts<br> • **Security reader** can view vulnerability assessment findings<br> See also [Azure Container Registry roles and permissions](../container-registry/container-registry-roles.md) |
25-
| Clouds: | :::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/yes-icon.png"::: National (Azure Government, Azure China 21Vianet) (Except for preview features)<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Connected AWS accounts (Preview) |
25+
| Clouds: | :::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/yes-icon.png"::: National (Azure Government, Azure China 21Vianet) (Except for preview features)<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Connected AWS accounts (Preview) <br> :::image type="icon" source="./media/icons/yes-icon.png"::: Connected GCP projects|
2626
| | |
2727

2828
## What are the benefits of Microsoft Defender for Containers?
@@ -45,6 +45,8 @@ Defender for Containers protects your clusters whether they're running in:
4545

4646
- **Amazon Elastic Kubernetes Service (EKS) in a connected Amazon Web Services (AWS) account** - Amazon's managed service for running Kubernetes on AWS without needing to install, operate, and maintain your own Kubernetes control plane or nodes.
4747

48+
- **Google Kubernetes Engine (GKE) in a connected Google Cloud Platform (GCP) project** - Google’s managed environment for deploying, managing, and scaling applications using GCP infrastructure.
49+
4850
- **An unmanaged Kubernetes distribution** (using Azure Arc-enabled Kubernetes) - Cloud Native Computing Foundation (CNCF) certified Kubernetes clusters hosted on-premises or on IaaS.
4951

5052
> [!NOTE]
@@ -59,8 +61,7 @@ In the diagrams you'll see that the items received and analyzed by Defender for
5961
- Workload configuration from Azure Policy
6062
- Security signals and events from the node level
6163

62-
63-
### [**AKS cluster**](#tab/defender-for-container-arch-aks)
64+
### [**Azure (AKS)**](#tab/defender-for-container-arch-aks)
6465

6566
### Architecture diagram of Defender for Cloud and AKS clusters<a name="jit-asc"></a>
6667

@@ -85,7 +86,7 @@ The **Azure Policy add-on for Kubernetes** collects cluster and workload configu
8586

8687
\* resource limits are not configurable
8788

88-
### [**Azure Arc-enabled Kubernetes**](#tab/defender-for-container-arch-arc)
89+
### [**On-premises / IaaS (Arc)**](#tab/defender-for-container-arch-arc)
8990

9091
### Architecture diagram of Defender for Cloud and Arc-enabled Kubernetes clusters
9192

@@ -102,25 +103,45 @@ Workload configuration information is collected by an Azure Policy add-on. As ex
102103

103104

104105

105-
### [**AWS EKS**](#tab/defender-for-container-arch-eks)
106+
### [**AWS (EKS)**](#tab/defender-for-container-arch-eks)
106107

107108
### Architecture diagram of Defender for Cloud and EKS clusters
108109

109-
For all clusters hosted outside of Azure, [Azure Arc-enabled Kubernetes](../azure-arc/kubernetes/overview.md) is required to connect the clusters to Azure and provide Azure services such as Defender for Containers.
110+
The following describes the components necessary in order to receive the full protection offered by Microsoft Defender for Cloud for Containers.
111+
112+
- **[Kubernetes audit logs](https://kubernetes.io/docs/tasks/debug-application-cluster/audit/)**[AWS account’s CloudWatch](https://aws.amazon.com/cloudwatch/) 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.
110113

111-
With an EKS-based cluster, Arc and its Defender extension are needed to collect policy and configuration data from nodes.
114+
- **[Azure Arc-enabled Kubernetes](../azure-arc/kubernetes/overview.md)** - An agent based solution that connects your EKS clusters to Azure. Azure then is capable of providing services such as Defender, and Policy as [Arc extensions](../azure-arc/kubernetes/extensions.md).
112115

113-
With an EKS-based cluster, Arc and its Defender extension are required for runtime protection. The **Azure Policy add-on for Kubernetes** collects cluster and workload configuration for admission control policies as explained in [Protect your Kubernetes workloads](kubernetes-workload-protections.md)
116+
- **The Defender extension** – The [DeamonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) that collects signals from hosts using [eBPF technology](https://ebpf.io/), and provides runtime protection. The extension 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.
114117

115-
We use AWS's CloudWatch to collect log data. To monitor your EKS clusters with Defender for Cloud, your AWS account needs to be connected to Microsoft Defender for Cloud [via the environment settings page](quickstart-onboard-aws.md). You'll need both the **Defender for Containers** plan and the **CSPM** plan (for configuration monitoring and recommendations).
118+
- **The Azure Policy extension** - The workload's configuration information is collected by the Azure Policy add-on. The Azure Policy add-on extends the open-source [Gatekeeper v3](https://github.com/open-policy-agent/gatekeeper) admission controller webhook for[Open Policy Agent](https://www.openpolicyagent.org/). The extension registers as a web hook to Kubernetes admission control and makes it possible to apply at-scale enforcements, and safeguards on your clusters in a centralized, consistent manner. For more information, see [Understand Azure Policy for Kubernetes clusters](../governance/policy/concepts/policy-for-kubernetes.md).
116119

117120
> [!NOTE]
118121
> Defender for Containers' support for AWS EKS clusters is a preview feature.
119122
120123
:::image type="content" source="./media/defender-for-containers/architecture-eks-cluster.png" alt-text="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":::
121124

122-
---
125+
### [**GCP (GKE)**](#tab/defender-for-container-gke)
126+
127+
### Architecture diagram of Defender for Cloud and GKE clusters<a name="jit-asc"></a>
128+
129+
The following describes the components necessary in order to receive the full protection offered by Microsoft Defender for Cloud for Containers.
130+
131+
- **[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.
123132

133+
- **[Azure Arc-enabled Kubernetes](../azure-arc/kubernetes/overview.md)** - An agent based solution that connects your EKS clusters to Azure. Azure then is capable of providing services such as Defender, and Policy as [Arc extensions](../azure-arc/kubernetes/extensions.md).
134+
135+
- **The Defender extension** – The [DeamonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) that collects signals from hosts using [eBPF technology](https://ebpf.io/), and provides runtime protection. The extension 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.
136+
137+
- **The Azure Policy extension** - The workload's configuration information is collected by the Azure Policy add-on. The Azure Policy add-on extends the open-source [Gatekeeper v3](https://github.com/open-policy-agent/gatekeeper) admission controller webhook for [Open Policy Agent](https://www.openpolicyagent.org/). The extension registers as a web hook to Kubernetes admission control and makes it possible to apply at-scale enforcements, and safeguards on your clusters in a centralized, consistent manner. For more information, see [Understand Azure Policy for Kubernetes clusters](../governance/policy/concepts/policy-for-kubernetes.md).
138+
139+
> [!NOTE]
140+
> Defender for Containers' support for GCP GKE clusters is a preview feature.
141+
142+
:::image type="content" source="./media/defender-for-containers/architecture-gke.png" alt-text="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":::
143+
144+
---
124145

125146
## Environment hardening through security recommendations
126147

articles/defender-for-cloud/includes/defender-for-containers-enable-plan-eks.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
author: memildin
33
ms.service: defender-for-cloud
44
ms.topic: include
5-
ms.date: 01/10/2022
5+
ms.date: 02/27/2022
66
ms.author: memildin
77
---
88
## Protect Amazon Elastic Kubernetes Service clusters
99

1010
> [!IMPORTANT]
11-
> If you haven't already connected an AWS account, do so now using the instructions in [Connect your AWS accounts to Microsoft Defender for Cloud](../quickstart-onboard-aws.md) and skip to step 3 below.
11+
> If you haven't already connected an AWS account, do so now using the instructions in [Connect your AWS accounts to Microsoft Defender for Cloud](../quickstart-onboard-aws.md).
1212
1313
To protect your EKS clusters, enable the Containers plan on the relevant account connector:
1414

@@ -27,9 +27,14 @@ To protect your EKS clusters, enable the Containers plan on the relevant account
2727

2828
1. Continue through the remaining pages of the connector wizard.
2929

30-
1. Azure Arc-enabled Kubernetes and the Defender extension should be installed and running on your EKS clusters. A dedicated Defender for Cloud recommendation deploys the extension (and Arc if necessary):
30+
1. Azure Arc-enabled Kubernetes, the Defender extension, and the Azure Policy extension should be installed and running on your EKS clusters. There are 2 dedicated Defender for Cloud recommendations to install these extensions (and Azure Arc if necessary):
31+
- `EKS clusters should have Microsoft Defender's extension for Azure Arc installed`
32+
- `EKS clusters should have the Azure Policy extension installed`
33+
34+
For each of the recommendations, follow follow the steps below to install the required extensions.
3135

32-
1. From Defender for Cloud's **Recommendations** page, search for **EKS clusters should have Azure Defender's extension for Azure Arc installed**.
36+
**To install the required extensions**:
37+
1. From Defender for Cloud's **Recommendations** page, search for one of the recommendations by name.
3338
1. Select an unhealthy cluster.
3439

3540
> [!IMPORTANT]
@@ -40,7 +45,8 @@ To protect your EKS clusters, enable the Containers plan on the relevant account
4045
1. Select **Fix**.
4146
1. Defender for Cloud generates a script in the language of your choice: select Bash (for Linux) or PowerShell (for Windows).
4247
1. Select **Download remediation logic**.
43-
1. Run the generated script on your cluster.
48+
1. Run the generated script on your cluster.
49+
1. Repeat steps *"a" through "f"* for the second recommendation.
4450

4551
:::image type="content" source="../media/defender-for-kubernetes-intro/generate-script-defender-extension-kubernetes.gif" alt-text="Video of how to use the Defender for Cloud recommendation to generate a script for your EKS clusters that enables the Azure Arc extension. ":::
4652

0 commit comments

Comments
 (0)