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
docs(connectors): add Microsoft Defender for Cloud connector reference (#15197)
Setup and usage for the Defender for Cloud connector: required Defender
plans (Servers Plan 2, Containers), Entra app registration + the three
credential values, the Security Reader RBAC assignment on the service
principal (per subscription), connector field mappings, and scan-timing
expectations. Distinguishes it from the device-based Microsoft Defender
connector.
Co-authored-by: Cody Maffucci <46459665+Maffooch@users.noreply.github.com>
Copy file name to clipboardExpand all lines: docs/content/import_data/pro/connectors/connectors_tool_reference.md
+34Lines changed: 34 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -524,6 +524,40 @@ The connector authenticates as a Microsoft Entra ID **app registration** using t
524
524
525
525
Each Defender device group becomes a Record. Microsoft regenerates the vulnerability snapshot the connector reads roughly every 6 hours, and newly onboarded devices can take up to \~24 hours to produce their first vulnerability data — a brand\-new tenant will legitimately Sync zero findings until devices are onboarded and assessed. License activation itself can also take \~20 minutes or more to reach the API ("No active license found" errors during that window resolve on their own).
526
526
527
+
## **Microsoft Defender for Cloud**
528
+
529
+
The Microsoft Defender for Cloud connector imports vulnerability findings from **Microsoft Defender Vulnerability Management (MDVM)** as surfaced by Defender for Cloud — both **server** findings (Azure VM operating\-system and installed\-software CVEs) and **container\-registry** findings (container image CVEs), including severity, CVSS score, the affected package or image, and remediation. DefectDojo discovers the Azure **subscriptions** your service principal can read and creates a Record for each enabled subscription.
530
+
531
+
**Please note:** this Connector is distinct from the **Microsoft Defender** connector, which imports device findings from the Defender for Endpoint API. Defender for Cloud is an Azure product with a different API surface (Azure Resource Manager / Resource Graph) and permission model (Azure RBAC). Run whichever matches where your findings live — or both, if you use both products.
532
+
533
+
#### Prerequisites
534
+
535
+
You need one or more **Azure subscriptions with Microsoft Defender for Cloud enabled**, with the relevant Defender plans turned on for the resources you want scanned (under **Microsoft Defender for Cloud \> Environment settings**, then select your subscription):
536
+
537
+
* **Defender for Servers (Plan 2)** — Azure VM operating\-system and software CVE findings (agentless vulnerability scanning).
538
+
* **Defender for Containers** — container\-registry image CVE findings.
539
+
540
+
SQL vulnerability\-assessment and configuration/posture findings are intentionally **not** imported — this connector imports CVE vulnerabilities only.
541
+
542
+
The connector authenticates as a Microsoft Entra ID **app registration** using the client credentials flow:
543
+
544
+
1. In the [Azure portal](https://portal.azure.com), open **App registrations \> New registration**. Name it (for example `defectdojo-connector`), leave the defaults, and select **Register**.
545
+
2. On the app's **Overview** page, note the **Application (client) ID** and **Directory (tenant) ID**.
546
+
3. Open **Certificates & secrets \> New client secret**, set an expiry, and copy the secret **Value** immediately (it is shown only once). The Connector stops working when the secret expires, so note the date.
547
+
4. Grant the app read access to each subscription you want to import: open **Subscriptions**, select your subscription, then **Access control (IAM) \> Add \> Add role assignment**. Select the **Security Reader** role (or **Reader**), and on the **Members** tab assign it to the app you created — search for it by the app's **name** or **object ID**, as the picker does not match the client ID. Repeat for every subscription.
548
+
549
+
Unlike the device\-based Microsoft Defender connector, no API permissions or admin consent are required: Defender for Cloud access is governed entirely by the Azure RBAC role assignment above.
550
+
551
+
#### Connector Mappings
552
+
553
+
1. Enter `https://management.azure.com` in the **Location** field. (For sovereign clouds, use the matching ARM endpoint, for example `https://management.usgovcloudapi.net`.)
554
+
2. Enter the **Directory (tenant) ID** in the **Tenant ID** field.
555
+
3. Enter the **Application (client) ID** in the **Client ID** field.
556
+
4. Enter the client secret value in the **Client Secret** field.
557
+
5. Optionally, set a **Minimum Severity** to limit which findings are imported.
558
+
559
+
Each enabled Azure subscription becomes a Record. Findings are read through Azure Resource Graph, so they surface promptly once Defender for Cloud has scanned your resources — but the scans themselves run on Microsoft's schedule: container\-registry images are usually scanned within an hour of being pushed, while a VM's first agentless vulnerability scan can take several hours. A newly enabled subscription will legitimately Sync zero findings until its resources have been scanned.
560
+
527
561
## Probely
528
562
529
563
This connector uses the Probely REST API to fetch data.
0 commit comments