Microsoft Defender
Prerequisites
- Microsoft 365 with Defender enabled
- Azure AD App Registration with
SecurityEvents.Read.All(Application type, admin consent)
Azure AD Setup
- Go to Azure Portal → App Registrations → New Registration
- Name: "ProjectAchilles Defender Integration"
- Under API Permissions, add:
SecurityEvents.Read.All(Application type)- Click Grant admin consent
- Under Certificates & Secrets, create a client secret
- Note the Application (client) ID, Directory (tenant) ID, and Client Secret
Configuration
- Navigate to Settings → Integrations → Microsoft Defender
- Enter:
- Tenant ID — Azure AD Directory (tenant) ID
- Client ID — Application (client) ID
- Client Secret — The secret you created
- Click Save and then Test Connection
Credentials are encrypted at rest with AES-256-GCM.
Sync Behavior
| Data | Sync Interval |
|---|---|
| Secure Score + Control Profiles | Every 6 hours |
| Alerts | Every 5 minutes |
In Docker deployments, sync runs via setInterval. On Vercel, sync runs via Cron at /api/cron/defender-sync.