Connector setup
Microsoft connector (app-only mode)
Use client credentials for tenant ingestion, map required Graph application permissions, and verify stable background sync.
Updated September 11, 2026 | 10 min
When to use app-only mode
Use app-only mode when you need scheduled ingestion independent of an individual delegated refresh token lifecycle.
This mode is generally best for long-running production setups where customer consent and secrets are managed through a service principal governance process.
Microsoft-side preparation
- Create or select a Microsoft Entra app registration for ITDR ingestion.
- Create a client secret and store the secret value securely.
- Capture Tenant ID (Directory ID), Client ID (Application ID), and secret value for ITDR connector setup.
- Grant Graph application permissions required for your target telemetry and containment workflows, then click Admin consent.
Information to collect before opening ITDR
| Customer value | Where to find it | ITDR field |
|---|---|---|
| Microsoft tenant ID | Microsoft Entra admin center -> Overview -> Tenant ID | Microsoft tenant ID |
| Application/client ID | App registrations -> selected app -> Overview -> Application (client) ID | Client ID |
| Client secret value | App registrations -> Certificates & secrets -> New client secret -> Value | Client secret |
| Secret expiration date | Certificates & secrets -> Expires column | Operational note / rotation calendar |
| Admin consent status | API permissions -> Status column | Validation reference |
Permission baseline
ITDR app-only tokens use `.default` against each resource, so effective permissions are exactly what is granted to your app registration. The groups below are generated from the registry the auto-managed connector uses; grant the required groups and any optional ones you want. Self-rotation (Application.ReadWrite.OwnedBy) is not listed because a bring-your-own app rotates its own secret on your schedule. See What the connector asks for for the purpose and classification of every permission.
Microsoft Graph — ingestion and detection
Required. Identity, device, audit, sign-in, risk and security-alert feeds plus the Identity Risk dashboards (RoleManagement.Read.Directory).
Office 365 Management APIs — mailbox and activity audit
Required for the BEC mailbox-rule detections. Add the Office 365 Management APIs resource to the app registration; without ActivityFeed.Read those four detections cannot fire.
Microsoft Graph — response actions
Optional. Omit these if the customer only wants detection, posture and reporting; the incident response panel will show the affected actions as unavailable. Both permissions that can escalate to tenant admin are in this group.
Microsoft Graph — posture
Optional. Needed for the Microsoft 365 posture scan (Defender for Identity health, SharePoint settings, hybrid sync state).
Office 365 Exchange Online — posture
Optional. Application-level Exchange access for mailbox-policy and transport-rule posture checks.
Skype and Teams Tenant Admin API — posture
Optional. Teams admin module access for Teams posture checks.
ITDR setup steps
- Open Connectors and choose the app-only connector creation path.
- Provide Microsoft tenant ID, client ID, and client secret.
- Save connector. ITDR validates by requesting a token with scope `https://graph.microsoft.com/.default` and testing organization/user reads.
- After creation, run Sync now and review token lanes, warning buckets, and recent run history.
Validation checklist
- Connector sync status should move from authorized_app_only to healthy or synced_with_warnings after imports run.
- Graph preview should load organization and sample users.
- Secure Score route should return data when security permissions and tenant provisioning are in place.
- Incident response capability panels should not report missing required scopes for planned actions.
Common failure patterns
- Error: Connector already exists for this Microsoft tenant. Action: reuse existing connector or remove old active connector for that tenant ID.
- Error: failed to validate credentials. Action: recheck tenant ID/client ID/secret and verify client secret has not expired.
- Error: missing required scope for action. Action: add that Graph application permission in Entra and re-consent.
Customer handoff template
Use this checklist when a customer admin prepares the connector details before entering them into ITDR.
Tenant ID: <directory tenant id> Client ID: <application client id> Client secret value: <secret value, share only through approved secret channel> Secret expires: <date> Admin consent granted by: <admin name/email> Permissions granted: <paste permission list or screenshot reference>