> For the complete documentation index, see [llms.txt](https://docs.cybaops.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cybaops.com/getting-started/onboarding/connectors/microsoft-defender.md).

# Microsoft Defender

The Microsoft Defender connector works by syncronising data from your account to the MDR module in your CybaOps account.  

&#x20;It is one-way, and only takes information from Microsoft Defender to CybaOps. It does not push data from CybaOps to Defender. 

## <mark style="color:$primary;">Guide</mark>

This guide walks you through collecting:&#x20;

* Tenant ID &#x20;
* Client ID &#x20;
* Client Secret &#x20;

And configuring the required API permissions:&#x20;

* Incident.Read.All&#x20;

### <mark style="color:$primary;">Step 1: Log into Azure</mark>&#x20;

Go to the Microsoft Azure Portal&#x20;

[https://portal.azure.com](https://portal.azure.com/)&#x20;

Make sure you are logged in with an account that has admin access.&#x20;

### <mark style="color:$primary;">Step 2: Get Your Tenant ID</mark>&#x20;

1. Search for **Microsoft Entra ID** &#x20;
2. Click into it &#x20;
3. On the **Overview page**: Copy the **Tenant ID**&#x20;
4. Paste to the relevant field in CybaOps

<img src="/files/2EprlEsjO0cjhcIXviJe" alt="" height="288" width="602">

### <mark style="color:$primary;">Step 3: Register an Application (Client ID)</mark>&#x20;

1. In **Microsoft Entra ID** &#x20;
2. Go to: &#x20;

* **App registrations** &#x20;

3. Click: &#x20;

* **New registration** &#x20;

4. Name it something like: &#x20;

* CybaOps Defender Connector &#x20;

5. Click **Register** &#x20;

Copy the **Application (Client) ID** and paste in the relevant field in CybaOps.&#x20;

### <mark style="color:$primary;">Step 4: Create Client Secret</mark> &#x20;

1. Inside the app: &#x20;

* Go to **Certificates & secrets** &#x20;

2. Click: &#x20;

* **New client secret** &#x20;

3. Add a description (e.g. CybaOps Defender Secret) &#x20;
4. Choose expiry (24 months recommended) &#x20;
5. Click **Add** &#x20;
6. <mark style="color:$danger;">**Copy the Value immediately**</mark> (this is your Secret Token – you won’t see it again). Paste it into the relevant field in CybaOps.  &#x20;

{% hint style="info" %}
*Please note: when this secret expires, you will be required to generate a new one to ensure CybaOps can authenticate properly.* 
{% endhint %}

### <mark style="color:$primary;">Step 5: Assign Required Permissions</mark> &#x20;

This is the most important step.&#x20;

1. Go to: &#x20;

* **API permissions** &#x20;

2. Click: &#x20;

* **Add a permission** &#x20;

3. Select: &#x20;

* **APIs my organisation uses**

<figure><img src="/files/s6p1H8ryN2qXAwKBt0u9" alt=""><figcaption></figcaption></figure>

4. Choose: &#x20;

* **Application permissions** &#x20;

5. Search and add:&#x20;

* Microsoft Threat Protection > Application permissions > Incident.Read.All > Add permissions &#x20;

Repeat steps 1 and 2 then &#x20;

6. Click on “Microsoft Graph” &#x20;

<figure><img src="/files/Qo0fWTWhw8BwsOrP8J2c" alt=""><figcaption></figcaption></figure>

7. Click on “Application permission” and look for the following permission:  &#x20;

* Security Alert > SecurityAlert.Read.All > Add permission &#x20;

8. Repeat step 8, click on “Application permission” and look for the following permission:  &#x20;

* Security Incident > SecurityIncident.Read.All> add permission &#x20;
* &#x20;Users.Read.All and >Devices.Read.All&#x20;

9. Click **Add Permissions**
10. Then click:

**Grant admin consent**

<img src="/files/s3zNgW0cjvXbdKcVKWli" alt="" height="248" width="601">

Once that’s all complete, click connect in CybaOps. This will trigger the data to start syncronising and a regular schedule will be created.

#### <mark style="color:$primary;">Data Synchronisation</mark> &#x20;

The data is pulled every **5 minutes**. The same 5-minute cadence is used for normal operation and routine health checks. If there is **an authentication or authorisation error** (for example, an expired client secret), the connector backs off and retries every **30 minutes**. &#x20;

#### <mark style="color:$primary;">Data Synchronised from Microsoft Sentinel</mark>&#x20;

**Incidents** &#x20;

* All Defender incidents are ingested into CybaOps. &#x20;
* Each incident already contains its associated alert data &#x20;

**Alerts**  &#x20;

* Alert details are included as part of the incident payload retrieved from Defender.  &#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.cybaops.com/getting-started/onboarding/connectors/microsoft-defender.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
