To connect Azure as a data source for infrastructure inventory, observability, cost analysis, and optimization insights, you need to create a service principal with appropriate permissions.Documentation Index
Fetch the complete documentation index at: https://docs.drdroid.io/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Azure CLI installed and configured
- An Azure subscription with appropriate admin access to create roles and service principals
- An Entra App (Service Principal) for authentication
Step 1: Get Your Subscription ID
Run the following command to get your Azure subscription ID:Step 2: Create a Custom Role
Save the following role definition to a file calledcustom-role.json. Replace {subscription-id} with your actual subscription ID from Step 1.
Step 3: Create an Entra App (Service Principal)
Create a new App Registration in Azure Entra (formerly Azure Active Directory). You can follow the official instructions here. After creating the Entra App, note down the following values:- Tenant ID (Directory ID)
- Client ID (Application ID)
Step 4: Assign the Custom Role to the Service Principal
Assign the custom role to your service principal:Step 5: Configure in Doctor Droid Platform
- Navigate to the Integrations tab in the Doctor Droid platform
- Click Add New Integration
- Select Azure and click Connect
- Fill in the following credentials:
| Field | Description | Example |
|---|---|---|
| Integration Name | A descriptive name to identify this integration | Production Azure |
| Client ID | Your Azure Client ID (Application ID) | 11111111-2222-3333-4444-555555555555 |
| Client Secret | Your Azure Client Secret (Application Secret) | Abc12345DefGHIjk~LMNopqRSTUvwxYZ |
| Tenant ID | Your Azure Tenant ID (Directory ID) | 66666666-7777-8888-9999-000000000000 |
| Subscription ID | Your Azure Subscription ID | aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee |
- Click Save to complete the integration
Permissions Overview
The custom role provides read-only access to:| Category | Resources |
|---|---|
| Compute | Virtual Machines, Container Instances, AKS Clusters |
| Networking | Virtual Networks, Load Balancers, Network Security Groups |
| Storage | Storage Accounts, Blob Containers |
| Databases | SQL Servers, PostgreSQL, MySQL, Redis Cache |
| Messaging | Event Hubs, Service Bus |
| Monitoring | Metrics, Logs, Alerts, Application Insights, Log Analytics |
| Cost Management | Cost queries, Budgets, Forecasts, Usage details |
| Billing | Billing accounts, Invoices, Price sheets |
| Security | Security assessments, Advisor recommendations |
| Container Registry | Registry metadata and image pull access |
| IAM | Role assignments, Role definitions |
Troubleshooting
Role Creation Failed
Ensure you haveMicrosoft.Authorization/roleDefinitions/write permission on the subscription. You may need Owner or User Access Administrator role.
Role Assignment Failed
Verify that:- The Client ID is correct
- The service principal exists
- You have permission to assign roles on the subscription
Integration Test Failed
Check that:- All credentials (Client ID, Client Secret, Tenant ID, Subscription ID) are correct
- The Client Secret has not expired
- The role assignment is complete and propagated (may take a few minutes)

