Skip to content

Commit d09efec

Browse files
authored
Merge pull request #250176 from ElazarK/WI1545548-agentless-kubernetes
WI154548 agentless discovery
2 parents ceb0f4f + 32230dd commit d09efec

6 files changed

+34
-33
lines changed

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

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ author: dcurwin
55
ms.author: dacurwin
66
ms.topic: overview
77
ms.custom: ignite-2022
8-
ms.date: 08/27/2023
8+
ms.date: 09/06/2023
99
---
10+
1011
# Defender for Containers architecture
1112

1213
Defender for Containers is designed differently for each Kubernetes environment whether they're running in:
@@ -106,6 +107,30 @@ When Defender for Cloud protects a cluster hosted in Google Kubernetes Engine, t
106107

107108
---
108109

110+
## How does agentless discovery for Kubernetes work?
111+
112+
The discovery process is based on snapshots taken at intervals:
113+
114+
:::image type="content" source="media/concept-agentless-containers/diagram-permissions-architecture.png" alt-text="Diagram of the permissions architecture." lightbox="media/concept-agentless-containers/diagram-permissions-architecture.png":::
115+
116+
When you enable the agentless discovery for Kubernetes extension, the following process occurs:
117+
118+
- **Create**:
119+
- If the extension is enabled from Defender CSPM, Defender for Cloud creates an identity in customer environments called `CloudPosture/securityOperator/DefenderCSPMSecurityOperator`.
120+
- If the extension is enabled from Defender for Containers, Defender for Cloud creates an identity in customer environments called `CloudPosture/securityOperator/DefenderForContainersSecurityOperator`.
121+
- **Assign**: Defender for Cloud assigns a built-in role called **Kubernetes Agentless Operator** to that identity on subscription scope. The role contains the following permissions:
122+
123+
- AKS read (Microsoft.ContainerService/managedClusters/read)
124+
- AKS Trusted Access with the following permissions:
125+
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
126+
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
127+
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete
128+
129+
Learn more about [AKS Trusted Access](/azure/aks/trusted-access-feature).
130+
131+
- **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.
132+
- **Bind**: Upon discovery of an AKS cluster, Defender for Cloud performs an AKS bind operation between the created identity and the Kubernetes role “Microsoft.Security/pricings/microsoft-defender-operator”. The role is visible via API and gives Defender for Cloud data plane read permission inside the cluster.
133+
109134
## Next steps
110135

111136
In this overview, you learned about the architecture of container security in Microsoft Defender for Cloud. To enable the plan, see:

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

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ms.topic: overview
55
author: dcurwin
66
ms.author: dacurwin
77
ms.custom: ignite-2022
8-
ms.date: 08/27/2023
8+
ms.date: 09/06/2023
99
---
1010

1111
# Overview of Microsoft Defender for Containers
@@ -106,30 +106,6 @@ Defender for containers uses [cloud security graph](concept-attack-path.md#what-
106106

107107
:::image type="content" source="media/defender-for-containers/risk-hunting.png" alt-text="Screenshot of risk hunting query." lightbox="media/defender-for-containers/risk-hunting.png":::
108108

109-
### How does agentless discovery for Kubernetes work?
110-
111-
The discovery process is based on snapshots taken at intervals:
112-
113-
:::image type="content" source="media/concept-agentless-containers/diagram-permissions-architecture.png" alt-text="Diagram of the permissions architecture." lightbox="media/concept-agentless-containers/diagram-permissions-architecture.png":::
114-
115-
When you enable the agentless discovery for Kubernetes extension, the following process occurs:
116-
117-
- **Create**:
118-
- If the extension is enabled from Defender CSPM, Defender for Cloud creates an identity in customer environments called `CloudPosture/securityOperator/DefenderCSPMSecurityOperator`.
119-
- If the extension is enabled from Defender for Containers, Defender for Cloud creates an identity in customer environments called `CloudPosture/securityOperator/DefenderForContainersSecurityOperator`.
120-
- **Assign**: Defender for Cloud assigns a built-in role called **Kubernetes Agentless Operator** to that identity on subscription scope. The role contains the following permissions:
121-
122-
- AKS read (Microsoft.ContainerService/managedClusters/read)
123-
- AKS Trusted Access with the following permissions:
124-
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
125-
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
126-
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete
127-
128-
Learn more about [AKS Trusted Access](/azure/aks/trusted-access-feature).
129-
130-
- **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.
131-
- **Bind**: Upon discovery of an AKS cluster, Defender for Cloud performs an AKS bind operation between the created identity and the Kubernetes role “Microsoft.Security/pricings/microsoft-defender-operator”. The role is visible via API and gives Defender for Cloud data plane read permission inside the cluster.
132-
133109
## Learn more
134110

135111
Learn more about Defender for Containers in the following blogs:

articles/defender-for-cloud/defender-for-containers-vulnerability-assessment-azure.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Vulnerability assessment for Azure powered by Qualys
33
description: Learn how to use Defender for Containers to scan images in your Azure Container Registry to find vulnerabilities.
44
author: dcurwin
55
ms.author: dacurwin
6-
ms.date: 08/27/2023
6+
ms.date: 09/06/2023
77
ms.topic: how-to
88
ms.custom: ignite-2022, build-2023
99
---
@@ -152,9 +152,9 @@ To create a rule:
152152

153153
Defender for Cloud gives its customers the ability to prioritize the remediation of vulnerabilities in images that are currently being used within their environment using the [Running container images should have vulnerability findings resolved-(powered by Qualys)](https://portal.azure.com/#view/Microsoft_Azure_Security_CloudNativeCompute/KubernetesRuntimeVisibilityRecommendationDetailsBlade/assessmentKey/41503391-efa5-47ee-9282-4eff6131462c/showSecurityCenterCommandBar~/false) recommendation.
154154

155-
To provide the findings for the recommendation, Defender for Cloud collects the inventory of your running containers that are collected by the [agentless container registry vulnerability assessment](agentless-container-registry-vulnerability-assessment.md) or the [Defender agent](tutorial-enable-containers-azure.md#deploy-the-defender-agent-in-azure). Defender for Cloud correlates that inventory with the vulnerability assessment scan of images that are stored in ACR. The recommendation shows your running containers with the vulnerabilities associated with the images that are used by each container and provides vulnerability reports and remediation steps.
155+
To provide the findings for the recommendation, Defender for Cloud collects the inventory of your running containers that are collected by the [agentless discovery for Kubernetes](defender-for-containers-introduction.md#agentless-discovery-for-kubernetes) or the [Defender agent](tutorial-enable-containers-azure.md#deploy-the-defender-agent-in-azure). Defender for Cloud correlates that inventory with the vulnerability assessment scan of images that are stored in ACR. The recommendation shows your running containers with the vulnerabilities associated with the images that are used by each container and provides vulnerability reports and remediation steps.
156156

157-
While Defender agent provides pod inventory every hour, the agentless container registry vulnerability assessment provides an update every six hours. If both extensions are enabled, the newest information is used.
157+
While Defender agent provides pod inventory every hour, the [agentless discovery for Kubernetes](defender-for-containers-introduction.md#agentless-discovery-for-kubernetes) provides an update every six hours. If both extensions are enabled, the newest information is used.
158158

159159
:::image type="content" source="media/defender-for-containers-vulnerability-assessment-azure/view-running-containers-vulnerability.png" alt-text="Screenshot of recommendations showing your running containers with the vulnerabilities associated with the images used by each container." lightbox="media/defender-for-containers-vulnerability-assessment-azure/view-running-containers-vulnerability.png":::
160160

74.8 KB
Loading

articles/defender-for-cloud/support-matrix-defender-for-containers.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Review support requirements for the Defender for Containers plan in
44
ms.topic: limits-and-quotas
55
author: dcurwin
66
ms.author: dacurwin
7-
ms.date: 08/20/2023
7+
ms.date: 09/06/2023
88
ms.custom: references_regions, ignite-2022
99
---
1010

@@ -19,7 +19,7 @@ This article summarizes support information for the [Defender for Containers pla
1919

2020
| Feature | Supported Resources | Linux release state | Windows release state | Agentless/Agent-based | Pricing Tier | Azure clouds availability |
2121
|--|--|--|--|--|--|--|
22-
| [Agentless discovery for Kubernetes](defender-for-containers-introduction.md#agentless-discovery-for-kubernetes) | ACR, AKS | GA | GA | Agentless | Defender for Containers | Azure commercial clouds |
22+
| [Agentless discovery for Kubernetes](defender-for-containers-introduction.md#agentless-discovery-for-kubernetes) | ACR, AKS | GA | GA | Agentless | Defender for Containers or Defender CSPM | Azure commercial clouds |
2323
| Compliance-Docker CIS | VM, Virtual Machine Scale Set | GA | - | Log Analytics agent | Defender for Servers Plan 2 | Commercial clouds<br><br> National clouds: Azure Government, Microsoft Azure operated by 21Vianet |
2424
| [Vulnerability assessment](defender-for-containers-vulnerability-assessment-azure.md) (powered by Qualys) - registry scan [OS packages](#registries-and-images-support-for-azure---powered-by-qualys) | ACR, Private ACR | GA | Preview | Agentless | Defender for Containers | Commercial clouds<br><br> National clouds: Azure Government, Azure operated by 21Vianet |
2525
| [Vulnerability assessment](defender-for-containers-vulnerability-assessment-azure.md) (powered by Qualys) -registry scan [language packages](#registries-and-images-support-for-azure---powered-by-qualys) | ACR, Private ACR | Preview | - | Agentless | Defender for Containers | Commercial clouds<br><br> National clouds: Azure Government, Azure operated by 21Vianet |

articles/defender-for-cloud/view-and-remediate-vulnerabilities-for-images-running-on-aks.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ description: Learn how to view and remediate runtime threat findings
44
ms.service: defender-for-cloud
55
ms.custom: build-2023
66
ms.topic: how-to
7-
ms.date: 07/11/2023
7+
ms.date: 09/06/2023
88
---
99

1010
# View and remediate vulnerabilities for images running on your AKS clusters
1111

1212
Defender for Cloud gives its customers the ability to prioritize the remediation of vulnerabilities in images that are currently being used within their environment using the [Running container images should have vulnerability findings resolved](https://portal.azure.com/#view/Microsoft_Azure_Security_CloudNativeCompute/KubernetesRuntimeVisibilityRecommendationDetailsBlade/assessmentKey/41503391-efa5-47ee-9282-4eff6131462ce) recommendation.
1313

14-
To provide findings for the recommendation, Defender CSPM uses [agentless container registry vulnerability assessment](agentless-container-registry-vulnerability-assessment.md) or the [Defender agent](tutorial-enable-containers-azure.md#deploy-the-defender-agent-in-azure) to create a full inventory of your Kubernetes clusters and their workloads and correlates that inventory with the vulnerability reports created for your registry images. The recommendation shows your running containers with the vulnerabilities associated with the images that are used by each container and remediation steps.
14+
To provide findings for the recommendation, Defender for Cloud uses [agentless discovery for Kubernetes](defender-for-containers-introduction.md#agentless-discovery-for-kubernetes) or the [Defender agent](tutorial-enable-containers-azure.md#deploy-the-defender-agent-in-azure) to create a full inventory of your Kubernetes clusters and their workloads and correlates that inventory with the vulnerability reports created for your registry images. The recommendation shows your running containers with the vulnerabilities associated with the images that are used by each container and remediation steps.
1515

1616
Defender for Cloud presents the findings and related information as recommendations, including related information such as remediation steps and relevant CVEs. You can view the identified vulnerabilities for one or more subscriptions, or for a specific resource.
1717

0 commit comments

Comments
 (0)