Skip to content

Commit 907e699

Browse files
committed
WI154548 agentless discovery
1 parent e86a1dc commit 907e699

File tree

3 files changed

+27
-26
lines changed

3 files changed

+27
-26
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/03/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/03/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:
74.8 KB
Loading

0 commit comments

Comments
 (0)