Skip to main content
Connecting Azure lets Traversal’s agent inspect your Azure environment during investigations: what’s configured and running right now, what changed recently, whether Azure itself is having a problem, and your Azure Monitor logs and metrics. Access is read-only by design — Traversal cannot create, modify, or delete anything in your Azure environment. One connection covers both: Azure Resource Manager (resource inventory, change history, access metadata) and Azure Monitor (logs and metrics) are the same integration, connected once. Azure DevOps (source control, pipelines) is a separate integration — connect it independently if you use Azure DevOps.
This integration covers Azure Commercial Cloud. We don’t support Azure Government or other sovereign/national clouds at this time.

What Traversal reads

  • Resource inventory and configuration — via Azure Resource Graph
  • Change history — via the Activity Log, scoped to your subscriptions
  • Resource and Service Health — whether Azure itself is reporting a problem
  • Access and identity metadata — role assignments (metadata only, never secret values)
  • Azure Monitor Logs — Log Analytics workspace queries (KQL)
  • Azure Monitor Metrics — platform and custom metrics

How it works

Traversal authenticates to your Azure tenant using a short-lived, secretless credential (Microsoft Entra Workload Identity Federation) — no password, API key, or secret is ever shared or stored, by either side. You create and own the identity Traversal authenticates as, entirely inside your own tenant: a user-assigned managed identity or an app registration, trusted to a specific Traversal Kubernetes cluster via a federated credential, and granted the roles below on exactly the subscriptions you choose. Traversal never registers or owns anything inside your tenant — you give Traversal the resulting identity’s Client ID, along with your tenant ID, and that’s the entire handoff. Every API call uses a token that expires within minutes, re-issued fresh for each request. You connect at the tenant level. Every subscription your identity can see is discovered automatically — you don’t need to list subscriptions individually.

Required roles

Two roles cover everything Traversal needs: No Contributor, data-plane, or Cost Management Reader access is ever requested.
A Log Analytics workspace lives in its own subscription, separate from the subscriptions whose resources send logs into it (common if you centralize logging into a shared subscription). Grant Log Analytics Reader on the subscription that hosts the workspace itself — granting it only on the subscriptions holding the resources you care about won’t give Traversal access to that workspace’s contents. Without it, Traversal will report “no logs found” for resources that do have logs.

Setup

The fastest path is the Bicep template below. Prefer doing it by hand, or need an app registration instead of a managed identity? Skip to the manual steps underneath.
1

Download and deploy the Bicep template

In Traversal, go to Company Knowledge > Integrations, select Azure, and download the Bicep template. It’s pre-filled with Traversal’s cluster OIDC issuer, so you only need to supply your own values when deploying:
This creates a managed identity, federates it to trust Traversal’s cluster, and grants it Reader and Log Analytics Reader on the subscription(s) you listed. Repeat the deploy (or pass more subscription IDs in roleAssignmentScopes) for every subscription you want visible — including the one hosting your Log Analytics workspace(s), if that’s different from the subscriptions holding the resources you want investigated.
2

Add the integration in Traversal

The deployment’s output includes the identity’s Client ID. In Traversal, go to Company Knowledge > Integrations, select Azure, and enter that Client ID along with your tenant ID.
Need to grant roles across a whole management group instead of listing subscriptions one by one? Leave roleAssignmentScopes empty above (so the first deployment only creates the identity), then deploy a second Bicep template:

Manual setup

You can use either a managed identity or an app registration as the identity Traversal authenticates as. A managed identity is simpler and has no client secret that could later be created by mistake — use it unless your organization’s permissions make an app registration easier to set up.
To connect another identity — in the same tenant or a different one — repeat these steps: Azure supports multiple integration instances, one per identity.

Private network access

If the service endpoint is not directly reachable by Traversal (as is common with self-hosted services), deploy a Traversal Connector in a network that can reach it. When configuring the integration, select that connector under Network Access Needed. The service endpoint does not need public internet exposure. See Set up the Traversal Connector for deployment and network requirements.
Authentication is identical either way — a Connector only changes which network the Azure calls come from, not how Traversal authenticates.

More information