Microsoft Graph (Entra + Intune + O365)
Purpose
Ingests users, groups, service principals, role assignments, managed devices, detected apps, compliance policies, and Office 365 licensing (subscribed SKUs, service plans, and per-user license assignments) from Microsoft Graph. Combine with the azure module for a complete view of identity, application, and device access across your Microsoft estate.
Recommended: connect through admin consent
The simplest setup registers no application at all. A tenant administrator grants admin consent to SubImage's multi-tenant Entra application once, and this module needs no credential fields.
Connect Microsoft from Settings > Integrations, then run a sync here. See the Microsoft integration guide for the permissions it requests and the reason for each.
The rest of this page covers registering your own application instead, which is the path to use when your organization does not permit consenting to a vendor multi-tenant application.
Secret fields below accept either an AWS Secrets Manager ARN or a value pasted directly into SubImage's managed vault. See Secrets for details.
Fields
Leave these empty when Microsoft is connected through admin consent. When set, they take precedence over the integration.
These credentials drive upstream Cartography's canonical --microsoft-* args for Microsoft (Entra ID + Intune + O365) ingestion. The legacy --entra-* args remain accepted as deprecated aliases; the SubImage field names below stay entra_*.
| Field | Secret? | Description |
|---|---|---|
entra_tenant_id |
No | Directory / Tenant ID |
entra_client_id |
No | Application (client) ID of a registered app |
entra_client_secret |
Yes | Client secret for the registered app |
Bring your own application
- Register a new App registration in Azure Portal → Entra ID.
- Under API permissions, add the following Application permissions and grant admin consent:
AdministrativeUnit.Read.AllApplication.Read.AllDeviceManagementApps.Read.AllDeviceManagementConfiguration.Read.AllDeviceManagementManagedDevices.Read.AllDirectory.Read.AllGroup.Read.AllGroupMember.Read.AllRoleManagement.Read.DirectoryUser.Read.All
- Generate a Client Secret under Certificates & secrets.
- In SubImage, fill in the fields above (use the client secret or its AWS Secret ARN for
entra_client_secret) and save the module.
Authenticates via the OAuth 2.0 client credentials flow.