← All integrations
Live integration

Azure

Cloud · Azure service principal · Daily

Service-principal auth (client secret). Pulls subscription RBAC, Defender for Cloud secure-score signal, Storage account public-access status, and Key Vault rotation posture.

Authentication
Azure service principal
Sync cadence
Daily
Stale threshold
Every 2 days
Category
Cloud

Evidence this connector produces

Every sync writes typed evidence rows linked to the controls below. Evidence is immutable once attached to an approved assessment, fingerprinted for de-dup, and surfaced in the control coverage calculation on your dashboard.

SOC 2 CC6.1CC6.6CC7.1

How to connect

Create a service principal in Entra and assign the Reader + Security Reader roles at the subscription level. Paste tenant ID, client ID, secret, and subscription ID.

  1. 1
    Create the app + service principal

    Entra admin center → App registrations → New registration (single tenant). Then Certificates & secrets → New client secret, copy the value.

  2. 2
    Assign roles in Azure Portal

    Azure Portal → Subscriptions → your subscription → Access control (IAM) → Add role assignment → grant the SP the Reader and Security Reader roles.

  3. 3
    Paste connection values

    Tenant ID + Client ID from the app Overview, Client secret from step 1, Subscription ID from the Subscriptions list.

Security model

Every connector ships behind the same auditor-grade primitives — not just RBAC config, but architectural enforcement.

Credentials KMS-encrypted at rest

Tokens, client secrets, and service-account keys are encrypted under a per-tenant AWS KMS data key. The plaintext is never persisted, never logged, and never leaves the FastAPI process boundary.

Tenant-isolated by architecture

Every Connection, ConnectorRun, and emitted Evidence row carries an organization ObjectId. The scheduler never iterates without an org-scoped filter; cross-tenant evidence bleed is impossible at the data layer.

Audit log on every action

Connect, sync, sync-failure, re-auth, and revoke each write a row to the immutable AuditLog. The full lifecycle is reconstructable for any examiner.

Soft-delete on revoke

Revoking a connection sets deletedAt and clears the encrypted credential blob, but the historical evidence + sync log stays queryable for the retention window. Auditors can still trace what was attested when.

Stale-evidence degradation

If this connector hasn't synced in Every 2 days, control coverage degrades automatically and an alert fires. Auditors don't trust stale evidence — neither do we.

Least-privilege scopes only

We request the minimum read-only scopes needed for the listed evidence. No write scopes, no admin scopes, no scopes outside the documented set.

Ready to connect Azure?

Connect from Settings → Integrations — typically under 5 minutes. Or talk to us first.