Overview
Connect your Azure subscriptions so Backline can securely analyze your cloud environment for richer risk analysis and smarter remediation. By integrating with Azure, Backline gains visibility into your runtime environment — including AKS clusters, App Services, Container Apps, VMs, and network configurations — to determine whether a vulnerability is actually exploitable in your specific infrastructure. This moves security prioritization from theoretical severity (CVSS scores) to contextual exploitability.What You Can Do
With the Azure Cloud integration, Backline can:- Assess whether vulnerabilities are actually exploitable in your Azure environment
- Analyze AKS clusters, App Services, Container Apps, and VMs for runtime security context
- Evaluate network exposure and access controls to determine reachability
- Provide evidence-backed exploitability verdicts with cloud context (e.g., “Service is in a private VNet with no public endpoint”)
- Support multiple Azure subscriptions and tenants from a single Backline workspace
Prerequisites
Before connecting Azure Cloud, ensure you have:- Azure CLI installed and logged in (
az login) - Permission to create service principals in your Entra ID tenant
- Your Azure Tenant ID (GUID)
- One or more Azure Subscription IDs where you want Backline to analyze resources
- Owner or Role Based Access Control Administrator at the relevant scope for each integration:
- Subscription scope — to assign the Reader role via
--cloud-sub - AKS cluster or resource group scope — to assign the AKS RBAC Reader role via
--aks-sub
- Subscription scope — to assign the Reader role via
Connecting Azure Cloud
Backline provides an automated installation script to set up the required service principal and permissions.Run the Installation Script
Clone the azure-integration repository and run the installation script with the flags for the integrations you want to enable:
Flags can be combined. For example, to set up both subscription-level access and AKS cluster access in one run:The script creates a service principal for Backline (if not already present) and assigns the required roles.
| Flag | Description |
|---|---|
--cloud-sub <id> | Grants Reader on a subscription. Repeatable for multiple subscriptions. |
--aks-sub <id> | Grants AKS RBAC Reader on clusters in a subscription. Prompts per cluster. Repeatable. |
--aks-all | Use with --aks-sub to grant access to all clusters without prompting. |
--dry-run | Preview changes without applying them. |
Copy Your Tenant ID
After running the script, it will output your Tenant ID. Save this value — you’ll need it for the Backline UI.
Enter Connection Details
In Backline, enter:
- Tenant ID: Your Azure Active Directory Tenant ID (GUID format)
- Subscription IDs: Comma-separated list of Azure Subscription IDs you want Backline to analyze
Alternative: Admin Consent Flow
If you prefer not to use the installation script, you can grant Backline access through Azure’s admin consent flow.Grant Admin Consent
An Azure AD administrator navigates to the admin consent URL for the Backline application and approves the requested permissions. This creates the service principal in your tenant automatically.
Assign Reader Role
After the service principal is created, assign the Reader role on each subscription you want Backline to analyze:Replace
<subscription-id> with each subscription’s GUID.Complete Integration in Backline
Return to the Enter Connection Details step above and enter your Tenant ID and Subscription IDs.
Required Permissions
The Azure Cloud integration requires:| Permission | Scope | Purpose |
|---|---|---|
| Reader | Subscription | Read-only access to Azure resources for runtime exploitability analysis |
After Connection
Once connected, Backline begins collecting cloud context from your Azure environment, including:- AKS clusters: Pod deployments, services, and network policies
- App Services and Container Apps: Configuration, networking, and runtime state
- Virtual Machines: Running state, network interfaces, and security groups
- Network topology: VNets, subnets, NSGs, and public IP exposure
“This vulnerability is not exploitable because the affected service runs in an AKS cluster with no public load balancer or ingress. The pod is only accessible within the cluster’s private VNet.”
Connecting Multiple Azure Tenants
Azure Cloud supports multiple connections, allowing you to monitor several Azure tenants or subscription sets from a single Backline workspace.Open Integration Details
Go to the Azure Cloud integration card in the Integration Hub and click Configure to open the integration details.
Enter New Tenant Details
Provide the Tenant ID and Subscription IDs for the additional Azure tenant.
AKS Access Configuration
This step is required only if you have AKS clusters and want Backline to read Kubernetes resources (pods, deployments, services, etc.).
Why This Is Needed
AKS uses two layers of authorization:- Azure RBAC — Controls access to Azure resource management APIs (handled by the Reader role assigned during setup)
- Kubernetes API authorization — Controls access to Kubernetes resources within the cluster (pods, deployments, services, etc.)
Prerequisite: Enable Azure RBAC for Kubernetes Authorization
Each AKS cluster must have managed Entra ID integration and Azure RBAC for Kubernetes Authorization enabled. For existing clusters, run:Configure AKS Access
Use the installation script with the--aks-sub flag, passing the subscription IDs that contain your AKS clusters:
Owner or Role Based Access Control Administrator on the AKS cluster or its resource group is required to create the role assignment. Subscription-level Reader is sufficient to enumerate the clusters.
Adding New AKS Clusters
When you create new AKS clusters, re-run the script with--aks-sub to grant Backline access to the new clusters:
Troubleshooting AKS Access
If Backline cannot read Kubernetes resources from your AKS clusters:-
Verify the role assignment exists:
-
Verify Azure RBAC for Kubernetes is enabled on the cluster:
The output should be
true. If it isnullorfalse, run theaz aks update --enable-azure-rbaccommand from the prerequisite step. - Wait for propagation: New role assignments can take up to five minutes to propagate before they take effect.
Managing the Integration
Removing Subscription Access
To remove Backline’s access from specific subscriptions, use the cleanup script:Disconnecting
To remove the Azure Cloud integration:- Go to the Integration Hub
- Click on the Azure Cloud integration
- Select Disconnect
- Confirm your choice
Troubleshooting
Consent Error (401)
Symptom: Test connection fails with “unauthorized” or “consent required” error. Cause: The Backline service principal has not been created in your Azure AD tenant. This happens when neither the installation script nor the admin consent flow has been completed. Resolution:- Run the installation script, or
- Complete the admin consent flow to create the service principal
Role Assignment Error (403)
Symptom: Test connection fails with “forbidden” or “authorization failed” error. Cause: The service principal exists in your tenant but does not have Reader role on the specified subscriptions. Resolution: Assign the Reader role on each subscription:Invalid Tenant ID or Subscription ID
Symptom: Validation error when entering connection details. Cause: Tenant ID and Subscription IDs must be valid GUIDs in the formatxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
Resolution:
- Find your Tenant ID:
az account show --query tenantId -o tsv - List your Subscription IDs:
az account list --query "[].id" -o tsv