Microsoft Defender Vulnerability Management Integration via API

Purpose

This guide explains how to register an application in Microsoft Entra ID and use its credentials in Logsign USO to pull per-device software vulnerability findings (CVE exposure, new/fixed/updated status) from Microsoft Defender Vulnerability Management via the Microsoft Defender for Endpoint REST API, for security analytics and forensic purposes.

Microsoft Defender Vulnerability Management is a cloud-only capability of Microsoft Defender for Endpoint; there is no on-premises component and no syslog export path, so this integration is a poller that calls Microsoft's REST API directly.

Prerequisites

  • Access to the Azure portal (https://portal.azure.com) with permission to register an application in Microsoft Entra ID.
  • Permission to grant the application the Vulnerability.Read.All application permission on the WindowsDefenderATP API (Microsoft Defender for Endpoint), and to grant admin consent for it.
  • Know which regional API host your tenant should use (see Step 2); most tenants use the global default and do not need to set this explicitly.

Step 1: Register an Application in Microsoft Entra ID

  1. Log into the Azure portal: https://portal.azure.com
  2. Go to Microsoft Entra ID > App registrations > New registration, give the application a name (for example Logsign_DefenderVulnerabilityManagement), and click Register.
  3. From the Overview page, note the Application (client) ID and Directory (tenant) ID.
  4. Go to Certificates & secrets, click New client secret, and generate one. Copy the Value immediately; it cannot be retrieved again once you leave the page.
  5. Go to API permissions > Add a permission > APIs my organization uses, search for and select WindowsDefenderATP (this is the API name Microsoft uses for Defender for Endpoint, including its Vulnerability Management data).
  6. Choose Application permissions, select Vulnerability.Read.All, and click Add permissions.
  7. Click Grant admin consent for the permission. Without this step, every call returns a 403 even though the token request itself succeeds.

Step 2: Identify Your API Host

Microsoft Defender for Endpoint exposes one global API host plus optional regional hosts. This is a fixed list from Microsoft's own documentation, not a value specific to your tenant; use the regional host only if your organization has a documented reason to (for example a data-residency requirement), otherwise leave this field blank and Logsign uses the global default.

RegionAPI Host
Global (default)api.security.microsoft.com
United Statesus.api.security.microsoft.com
Europeeu.api.security.microsoft.com
United Kingdomuk.api.security.microsoft.com
Australiaau.api.security.microsoft.com
Southwest Asiaswa.api.security.microsoft.com
Indiaina.api.security.microsoft.com
East Asiaaea.api.security.microsoft.com

Step 3: Configure the Integration in Logsign USO

Add a new Microsoft Defender Vulnerability Management data source in Logsign USO and provide:

FieldRequiredDescription
Client IDYesThe Application (client) ID from Step 1.
Client SecretYesThe client secret value from Step 1. Stored encrypted at rest.
Tenant IDYesThe Directory (tenant) ID from Step 1.
ScopeYesThe OAuth2 token scope. Enter exactly: https://securitycenter.onmicrosoft.com/windowsatpservice/.default
Base URLNoThe regional API host from Step 2, for example eu.api.security.microsoft.com. Leave blank to use the global default (api.security.microsoft.com). Accepts either a bare host or a full https:// URL.
Request VerifyNoTLS certificate verification for outbound calls. Defaults to enabled; only disable this if your organization routes outbound traffic through a TLS-inspecting proxy.

What Gets Collected

Logsign polls the SoftwareVulnerabilityChangesByMachine delta endpoint, which returns one record per device/software/CVE combination that changed since the last poll, with a status of New, Fixed, or Updated. Each event carries the device ID and name, OS platform/version, the affected software vendor/name/version, the CVE ID (when the finding maps to one), severity and exploitability level, and the recommended security update where Microsoft provides one.

Notes and Limits

  • Only the vulnerability change feed is implemented. Exposure score, security recommendations, and the full CVE catalog (separate Defender for Endpoint endpoints) are not collected by this integration.
  • Microsoft's API accepts a sinceTime lookback of at most 14 days; Logsign clamps its polling position to this window automatically, so a source that has been disabled for longer than 14 days resumes from 14 days back rather than failing.
  • Microsoft regenerates the underlying delta data approximately every 6 hours; polling more frequently than that will not surface new records sooner.
  • Pagination follows the API's @odata.nextLink to completion on every poll cycle (up to 100 pages per window), so results are not capped at the first page.
  • A device that changes RBAC group membership can appear twice in a single delta response (once as Fixed under its previous group, once as New under its current group); this is Microsoft's documented behavior, not a Logsign artifact.

Troubleshooting

SymptomLikely causeWhat to check
401 UnauthorizedWrong Client ID, Client Secret, or Tenant ID, or the client secret has expired.Re-verify the three credential fields, and regenerate the client secret in Entra ID if needed.
403 ForbiddenThe application has the Vulnerability.Read.All permission listed but admin consent was never granted, or the permission was added under the wrong API (Microsoft Graph instead of WindowsDefenderATP).In API permissions, confirm Vulnerability.Read.All is listed under WindowsDefenderATP with a green "Granted" status.
400 Bad RequestThe poller's internal sinceTime value reaches further back than the API's 14-day limit, or the Scope field was not entered exactly as documented.Confirm the Scope field matches https://securitycenter.onmicrosoft.com/windowsatpservice/.default exactly.
429 Too Many RequestsThe delta endpoint's rate limit (documented by Microsoft as 30 calls/minute, 1,000/hour) was exceeded.No action needed; Logsign picks up the remaining pages on the next poll cycle.
No new events despite known vulnerabilities existingThe underlying delta data has not regenerated yet (Microsoft refreshes it roughly every 6 hours), or the affected devices are outside the RBAC scope of the permission granted.Wait for the next Microsoft-side regeneration cycle, and confirm the app's permission scope covers the devices you expect to see.
Was this article helpful?
0 out of 0 found this helpful

Articles in this section

See more
Become a Certified Logsign User/Administrator
Sign-up for Logsign Academy and take the courses to learn about Logsign USO Platform in detail. Enjoy the courses, and get your badges and certificates. In these courses, you'll learn how to use Logsign in your work and add value to your career.
Visit Our Blog
Our Logsign USO Platform illustrate our expertise. So do the blog. Through our blog posts, deepen your knowledge on various SecOps topics or get updated about important news & modern approaches for cybersecurity. Get into the habit of reading valuable information provided by Logsign. Be a step ahead.