Skip to content

Commit 704dd08

Browse files
devGregAMaffooch
andauthored
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>
1 parent d9b071e commit 704dd08

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

docs/content/import_data/pro/connectors/connectors_tool_reference.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,40 @@ The connector authenticates as a Microsoft Entra ID **app registration** using t
524524

525525
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).
526526

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+
527561
## Probely
528562

529563
This connector uses the Probely REST API to fetch data.

0 commit comments

Comments
 (0)