Skip to content

Commit 39b9742

Browse files
Merge pull request #233138 from Shereen-Bhar/agentless-containers-dcspm
agentless containers feature
2 parents 3107a74 + 01c2247 commit 39b9742

10 files changed

+169
-21
lines changed

articles/defender-for-cloud/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@
166166
href: concept-data-security-posture.md
167167
- name: Support and prerequisites
168168
href: concept-data-security-posture-prepare.md
169+
- name: Improve your container security posture
170+
href: concept-agentless-containers.md
169171
- name: Security recommendations
170172
items:
171173
- name: Reference list of Azure recommendations

articles/defender-for-cloud/attack-path-reference.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,8 @@ This section lists all of the cloud security graph components (connections and
128128
| DEASM findings | Microsoft Defender External Attack Surface Management (DEASM) internet scanning findings | Public IP |
129129
| Privileged container | Indicates that a Kubernetes container runs in a privileged mode | Kubernetes container |
130130
| Uses host network | Indicates that a Kubernetes pod uses the network namespace of its host machine | Kubernetes pod |
131-
| Has high severity vulnerabilities | Indicates that a resource has high severity vulnerabilities | Azure VM, AWS EC2, Kubernetes image |
132-
| Vulnerable to remote code execution | Indicates that a resource has vulnerabilities allowing remote code execution | Azure VM, AWS EC2, Kubernetes image |
131+
| Has high severity vulnerabilities | Indicates that a resource has high severity vulnerabilities | Azure VM, AWS EC2, Container image |
132+
| Vulnerable to remote code execution | Indicates that a resource has vulnerabilities allowing remote code execution | Azure VM, AWS EC2, Container image |
133133
| Public IP metadata | Lists the metadata of an Public IP | Public IP |
134134
| Identity metadata | Lists the metadata of an identity | Azure AD Identity |
135135

@@ -141,7 +141,7 @@ This section lists all of the cloud security graph components (connections and
141141
| Has permission to | Indicates that an identity has permissions to a resource or a group of resources | Azure AD user account, Managed Identity, IAM user, EC2 instance | All Azure & AWS resources|
142142
| Contains | Indicates that the source entity contains the target entity | Azure subscription, Azure resource group, AWS account, Kubernetes namespace, Kubernetes pod, Kubernetes cluster, GitHub owner, Azure DevOps project, Azure DevOps organization, Azure SQL server | All Azure & AWS resources, All Kubernetes entities, All DevOps entities, Azure SQL database |
143143
| Routes traffic to | Indicates that the source entity can route network traffic to the target entity | Public IP, Load Balancer, VNET, Subnet, VPC, Internet Gateway, Kubernetes service, Kubernetes pod| Azure VM, Azure VMSS, AWS EC2, Subnet, Load Balancer, Internet gateway, Kubernetes pod, Kubernetes service |
144-
| Is running | Indicates that the source entity is running the target entity as a process | Azure VM, EC2, Kubernetes container | SQL, Arc-Enabled SQL, Hosted MongoDB, Hosted MySQL, Hosted Oracle, Hosted PostgreSQL, Hosted SQL Server, Kubernetes image, Kubernetes pod |
144+
| Is running | Indicates that the source entity is running the target entity as a process | Azure VM, EC2, Kubernetes container | SQL, Arc-Enabled SQL, Hosted MongoDB, Hosted MySQL, Hosted Oracle, Hosted PostgreSQL, Hosted SQL Server, Container image, Kubernetes pod |
145145
| Member of | Indicates that the source identity is a member of the target identities group | Azure AD group, Azure AD user | Azure AD group |
146146
| Maintains | Indicates that the source Kubernetes entity manages the life cycle of the target Kubernetes entity | Kubernetes workload controller, Kubernetes replica set, Kubernetes stateful set, Kubernetes daemon set, Kubernetes jobs, Kubernetes cron job | Kubernetes pod |
147147

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
---
2+
title: Agentless Container Posture for Microsoft Defender for Cloud
3+
description: Learn how Agentless Container Posture offers discovery and visibility for Containers without installing an agent on your machines.
4+
ms.service: defender-for-cloud
5+
ms.topic: conceptual
6+
ms.date: 04/16/2023
7+
ms.custom: template-concept
8+
---
9+
10+
# Agentless Container Posture (Preview)
11+
12+
You can identify security risks that exist in containers and Kubernetes realms with the agentless discovery and visibility capability across SDLC and runtime.
13+
14+
You can maximize the coverage of your container posture issues and extend your protection beyond the reach of agent-based assessments to provide a holistic approach to your posture improvement. This includes, for example, container vulnerability assessment insights as part of [Cloud Security Explorer](how-to-manage-cloud-security-explorer.md) and Kubernetes [Attack Path](attack-path-reference.md#azure-containers) analysis.
15+
16+
Learn more about [Cloud Security Posture Management](concept-cloud-security-posture-management.md).
17+
18+
> [!IMPORTANT]
19+
> The Agentless Container Posture preview features are available on a self-service, opt-in basis. Previews are provided "as is" and "as available" and are excluded from the service-level agreements and limited warranty. Agentless Container Posture previews are partially covered by customer support on a best-effort basis. As such, these features aren't meant for production use.
20+
21+
## Capabilities
22+
23+
Agentless Container Posture provides the following capabilities:
24+
25+
- Using Kubernetes Attack Path analysis to visualize risks and threats to Kubernetes environments.
26+
- Using Cloud Security Explorer for risk hunting by querying various risk scenarios.
27+
- Viewing security insights, such as internet exposure, and other pre-defined security scenarios. For more information, search for `Kubernetes` in the [list of Insights](attack-path-reference.md#insights).
28+
- Agentless discovery and visibility within Kubernetes components.
29+
- Agentless container registry vulnerability assessment, using the image scanning results of your Azure Container Registry (ACR) with Cloud Security Explorer.
30+
31+
[Vulnerability assessment](defender-for-containers-vulnerability-assessment-azure.md) for Containers in Defender Cloud Security Posture Management (CSPM) gives you frictionless, wide, and instant visibility on actionable posture issues without the need for installed agents, network connectivity requirements, or container performance impact.
32+
33+
All of these capabilities are available as part of the [Defender Cloud Security Posture Management](concept-cloud-security-posture-management.md) plan.
34+
35+
## Availability
36+
37+
| Aspect | Details |
38+
|---------|---------|
39+
|Release state:|Preview|
40+
|Pricing:|Requires [Defender Cloud Security Posture Management (CSPM)](concept-cloud-security-posture-management.md) and is billed as shown on the [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/) |
41+
| Clouds: | :::image type="icon" source="./media/icons/yes-icon.png"::: Azure Commercial clouds<br> :::image type="icon" source="./media/icons/no-icon.png"::: Azure Government<br>:::image type="icon" source="./media/icons/no-icon.png"::: Azure China 21Vianet<br>:::image type="icon" source="./media/icons/no-icon.png"::: Connected AWS accounts<br>:::image type="icon" source="./media/icons/no-icon.png"::: Connected GCP accounts |
42+
| Permissions | You need to have access as a Subscription Owner, or, User Access Admin as well as Security Admin permissions for the Azure subscription used for onboarding |
43+
44+
## Prerequisites
45+
46+
You need to have a Defender for CSPM plan enabled. There's no dependency on Defender for Containers​.
47+
48+
This feature uses trusted access. Learn more about [AKS trusted access prerequisites](/azure/aks/trusted-access-feature#prerequisites).
49+
50+
## Onboard Agentless Containers for CSPM
51+
52+
Onboarding Agentless Containers for CSPM will allow you to gain wide visibility into Kubernetes and containers registries across SDLC and runtime.
53+
54+
**To onboard Agentless Containers for CSPM:**
55+
56+
1. In the Azure portal, navigate to the Defender for Cloud's **Environment Settings** page.
57+
58+
1. Select the subscription that's onboarded to the Defender CSPM plan, then select **Settings**.
59+
60+
1. Ensure the **Agentless discovery for Kubernetes** and **Container registries vulnerability assessments** extensions are toggled to **On**.
61+
62+
1. Select **Continue**.
63+
64+
:::image type="content" source="media/concept-agentless-containers/settings-continue.png" alt-text="Screenshot of selecting agentless discovery for Kubernetes and Container registries vulnerability assessments." lightbox="media/concept-agentless-containers/settings-continue.png":::
65+
66+
1. Select **Save**.
67+
68+
A notification message pops up in the top right corner that will verify that the settings were saved successfully.
69+
70+
## Agentless Container Posture extensions
71+
72+
### Container registries vulnerability assessments
73+
74+
For container registries vulnerability assessments, recommendations are available based on the vulnerability assessment timeline.
75+
76+
Learn more about [image scanning](defender-for-containers-vulnerability-assessment-azure.md).
77+
78+
### Agentless discovery for Kubernetes
79+
80+
The system’s architecture is based on a snapshot mechanism at intervals.
81+
82+
:::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":::
83+
84+
By enabling the Agentless discovery for Kubernetes extension, the following process occurs:
85+
86+
- **Create**: MDC (Microsoft Defender for Cloud) creates an identity in customer environments called CloudPosture/securityOperator/DefenderCSPMSecurityOperator.
87+
88+
- **Assign**: MDC assigns 1 built-in role called **Kubernetes Agentless Operator** to that identity on subscription scope.
89+
90+
The role contains the following permissions:
91+
- AKS read (Microsoft.ContainerService/managedClusters/read)
92+
- AKS Trusted Access with the following permissions:
93+
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
94+
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
95+
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete
96+
97+
Learn more about [AKS Trusted Access](/azure/aks/trusted-access-feature).
98+
99+
- **Discover**: Using the system assigned identity, MDC performs a discovery of the AKS clusters in your environment using API calls to the API server of AKS.
100+
101+
- **Bind**: Upon discovery of an AKS cluster, MDC 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 MDC data plane read permission inside the cluster.
102+
103+
### Refresh intervals
104+
105+
Agentless information in Defender CSPM is updated once an hour through a snapshot mechanism. It can take up to **24 hours** to see results in Cloud Security Explorer and Attack Path.
106+
107+
## FAQs
108+
109+
### Why don't I see results from my clusters?
110+
111+
If you don't see results from your clusters, check the following:
112+
113+
- Do you have [stopped clusters](#what-do-i-do-if-i-have-stopped-clusters)?
114+
- Are your clusters [Read only (locked)](#what-do-i-do-if-i-have-read-only-clusters-locked)?
115+
116+
### What do I do if I have stopped clusters?
117+
118+
We suggest that you rerun the cluster to solve this issue.
119+
120+
### What do I do if I have Read only clusters (locked)?
121+
122+
We suggest that you do one of the following:
123+
124+
- Remove the lock.
125+
- Perform the bind operation manually by doing an API request.
126+
127+
Learn more about [locked resources](/azure/azure-resource-manager/management/lock-resources?tabs=json).
128+
129+
## Next steps
130+
131+
Learn more about [Cloud Security Posture Management](concept-cloud-security-posture-management.md).

articles/defender-for-cloud/concept-cloud-security-posture-management.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ The following table summarizes each plan and their cloud availability.
6363
| [Cloud security explorer](how-to-manage-cloud-security-explorer.md) | - | :::image type="icon" source="./media/icons/yes-icon.png"::: | Azure, AWS |
6464
| [Attack path analysis](how-to-manage-attack-path.md) | - | :::image type="icon" source="./media/icons/yes-icon.png"::: | Azure, AWS |
6565
| [Agentless scanning for machines](concept-agentless-data-collection.md) | - | :::image type="icon" source="./media/icons/yes-icon.png"::: | Azure, AWS |
66-
| Agentless discovery for Kubernetes | - | :::image type="icon" source="./media/icons/yes-icon.png"::: | Azure |
67-
| Agentless vulnerability assessments for container images, including registry scanning (\* Up to 20 unique images per billable resource) | - | :::image type="icon" source="./media/icons/yes-icon.png"::: | Azure |
66+
| [Agentless discovery for Kubernetes](concept-agentless-containers.md) | - | :::image type="icon" source="./media/icons/yes-icon.png"::: | Azure |
67+
| [Agentless vulnerability assessments for container images](defender-for-containers-vulnerability-assessment-azure.md), including registry scanning (\* Up to 20 unique images per billable resource) | - | :::image type="icon" source="./media/icons/yes-icon.png"::: | Azure |
6868
| Sensitive data discovery | - | :::image type="icon" source="./media/icons/yes-icon.png"::: | Azure, AWS |
6969
| Data flows discovery | - | :::image type="icon" source="./media/icons/yes-icon.png"::: | Azure, AWS |
7070
| EASM insights in network exposure | - | :::image type="icon" source="./media/icons/yes-icon.png"::: | Azure, AWS |

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

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ ms.topic: how-to
88
ms.custom: ignite-2022
99
---
1010

11-
# Use Defender for Containers to scan your Azure Container Registry images for vulnerabilities
11+
# Scan your Azure Container Registry images for vulnerabilities
1212

13-
This article explains how to use Defender for Containers to scan the container images stored in your Azure Resource Manager-based Azure Container Registry, as part of the protections provided within Microsoft Defender for Cloud.
13+
As part of the protections provided within Microsoft Defender for Cloud, you can scan the container images that are stored in your Azure Resource Manager-based Azure Container Registry.
1414

15-
To enable scanning of vulnerabilities in containers, you have to [enable Defender for Containers](defender-for-containers-enable.md). When the scanner, powered by Qualys, reports vulnerabilities, Defender for Cloud presents the findings and related information as recommendations. In addition, the findings include related information such as remediation steps, relevant CVEs, CVSS scores, and more. You can view the identified vulnerabilities for one or more subscriptions, or for a specific registry.
15+
When the scanner, powered by Qualys, reports vulnerabilities, Defender for Cloud presents the findings and related information as recommendations. In addition, the findings include related information such as remediation steps, relevant CVEs, CVSS scores, and more. You can view the identified vulnerabilities for one or more subscriptions, or for a specific registry.
1616

1717
Defender for Cloud filters and classifies findings from the scanner. Images without vulnerabilities are marked as healthy and Defender for Cloud doesn't send notifications about healthy images to keep you from getting unwanted informational alerts.
1818

@@ -29,25 +29,28 @@ The triggers for an image scan are:
2929
- A continuous scan based on an image pull. This scan is performed every seven days after an image was pulled, and only for 30 days after the image was pulled. This mode doesn't require the security profile, or extension.
3030

3131
- Continuous scan for running images. This scan is performed every seven days for as long as the image runs. This mode runs instead of the above mode when the Defender profile, or extension is running on the cluster.
32-
32+
3333
When a scan is triggered, findings are available as Defender for Cloud recommendations from 2 minutes up to 15 minutes after the scan is complete.
3434

3535
## Prerequisites
3636

3737
Before you can scan your ACR images:
3838

39-
- [Enable Defender for Containers](defender-for-containers-enable.md) for your subscription. Defender for Containers is now ready to scan images in your registries.
39+
- You must enable one of the following plans on your subscription:
40+
41+
- [Defender CSPM](concept-cloud-security-posture-management.md). When you enable this plan, ensure you enable the **Container registries vulnerability assessments (preview)** extension.
42+
- [Defender for Containers](defender-for-containers-enable.md).
4043

41-
>[!NOTE]
42-
> This feature is charged per image.
44+
>[!NOTE]
45+
> This feature is charged per image. Learn more about the [pricing](https://azure.microsoft.com/pricing/details/defender-for-cloud/)
4346
44-
- If you want to find vulnerabilities in images stored in other container registries, you can import the images into ACR and scan them.
47+
To find vulnerabilities in images stored in other container registries, you can import the images into ACR and scan them.
4548

46-
Use the ACR tools to bring images to your registry from Docker Hub or Microsoft Container Registry. When the import completes, the imported images are scanned by the built-in vulnerability assessment solution.
49+
Use the ACR tools to bring images to your registry from Docker Hub or Microsoft Container Registry. When the import completes, the imported images are scanned by the built-in vulnerability assessment solution.
4750

48-
Learn more in [Import container images to a container registry](../container-registry/container-registry-import-images.md)
51+
Learn more in [Import container images to a container registry](../container-registry/container-registry-import-images.md)
4952

50-
You can also [scan images in Amazon AWS Elastic Container Registry](defender-for-containers-vulnerability-assessment-elastic.md) directly from the Azure portal.
53+
You can also [scan images in Amazon AWS Elastic Container Registry](defender-for-containers-vulnerability-assessment-elastic.md) directly from the Azure portal.
5154

5255
For a list of the types of images and container registries supported by Microsoft Defender for Containers, see [Availability](supported-machines-endpoint-solutions-clouds-containers.md?tabs=azure-aks#registries-and-images).
5356

articles/defender-for-cloud/how-to-manage-cloud-security-explorer.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,12 @@ Learn more about [the cloud security graph, attack path analysis, and the cloud
1919

2020
## Prerequisites
2121

22-
- You must [enable agentless scanning](enable-vulnerability-assessment-agentless.md).
23-
2422
- You must [enable Defender CSPM](enable-enhanced-security.md).
23+
- For Agentless Container Posture, you must enable the following extensions:
24+
- Agentless discovery for Kubernetes (preview)
25+
- Container registries vulnerability assessments (preview)
2526

26-
- You must [enable Defender for Containers](defender-for-containers-enable.md), and install the relevant agents in order to view attack paths that are related to containers.
27-
28-
When you enable Defender for Containers, you also gain the ability to [query](how-to-manage-cloud-security-explorer.md#build-a-query-with-the-cloud-security-explorer) containers data plane workloads in the security explorer.
27+
- You must [enable agentless scanning](enable-vulnerability-assessment-agentless.md).
2928

3029
- Required roles and permissions:
3130
- Security Reader
91.1 KB
Loading
332 KB
Loading

0 commit comments

Comments
 (0)