Azure – Direct Integration
xAssets provides built-in integrations with several Microsoft Azure services, including Azure Virtual Machines, Azure Active Directory (Entra ID), and Meraki. This page covers the setup for each integration.
Azure Virtual Machines
What the Integration Provides
The Azure VM integration imports a list of virtual machines from your Azure subscription into xAssets as asset records. It pulls basic information on each VM; for full hardware and software details, combine it with xAssets Network Discovery.
Prerequisites
- An Azure tenant with an active subscription containing virtual machines
- An Azure Enterprise Application with Reader access to the subscription
- Access to xAssets with permission to create credential packs
Step 1: Create an Enterprise Application in Azure
- Sign in to the Azure Portal
- Navigate to Azure Active Directory > App Registrations > New Registration
- Name the application (e.g., "xAssets Azure API")
- Register the application and note the Application (Client) ID
- Navigate to Certificates & Secrets and generate a new client secret. Copy the secret Value immediately.
Step 2: Grant Reader Access to the Subscription
- In the Azure Portal, navigate to Subscriptions and select your subscription
- Click Access control (IAM)
- Click + Add > Add role assignment
- Select Reader from the role list (use the search box under "Job function roles" if it is not visible)
- Click Next to go to the Members section
- Click + Select members
- Search for your Enterprise Application name (e.g., "xAssets Azure API") and select it
- Click Select, then Next, then Review + assign

Step 3: Create a Credential Pack in xAssets
- Navigate to Discover > Prepare > Credentials
- Click Create Credentials
- Configure the credential pack as follows:
| Field | Value |
|---|---|
| Credential Type | Named Credentials |
| Collection Server | Application Server |
| Pack Name | Azure |
| Domain Name | Your Azure Tenant ID |
| Username | The Application (Client) ID of the Enterprise Application |
| Password | The client secret Value from Step 1 |
| Parameters | subscriptionid=<your subscription ID> |
- Save the credential pack
Step 4: Run the Integration
- Navigate to Discover > Integrations > Get Azure Virtual Servers
- The integration runs and creates one asset record per VM, which can then be fully discovered using the discovery tool.
Azure Active Directory (Entra ID)
What the Integration Provides
The Azure AD integration imports user records from Azure Active Directory into the xAssets Custodian table. This keeps your user directory synchronised with Azure AD, so that new employees, role changes, and departures are reflected automatically.
Prerequisites
- An Azure tenant with Azure Active Directory
- An Azure Enterprise Application with Microsoft Graph API permissions
Step 1: Create an Enterprise Application
- In the Azure Portal, create a new Enterprise Application (e.g., "xAssets Azure AD")
- Generate a client secret and copy the Value
- Navigate to the API Permissions tab and grant the following permissions at a minimum:

- Click Grant admin consent to activate the permissions
Step 2: Create a Credential Pack in xAssets
| Field | Value |
|---|---|
| Credential Type | Named Credentials |
| Collection Server | Application Server (not on a collection server) |
| Pack Name | AzureAD |
| Domain Name | Your Azure Tenant ID |
| Username | The Application (Client) ID of the Enterprise Application |
| Password | The client secret Value |
Step 3: Run the Integration
- Navigate to Discover > Active Directory > Get data from Azure Active Directory
- Select the AzureAD credential pack
- The integration runs as a batch job, importing user records into the Custodian table
Troubleshooting Azure and Intune Permissions
If you experience permission errors with any Microsoft integration (Azure VMs, Azure AD, or Intune), follow this diagnostic approach:
- Open the transformation behind the integration (via Admin > Transformations) and note the API URLs being called
- Open Microsoft Graph Explorer
- Paste the API URL into the query box (e.g.,
https://graph.microsoft.com/v1.0/usersfor Azure AD) - Run the query with the Run Query button
- If permissions fail, review the "Modify permissions" section to identify which permissions are needed. Read each permission description carefully before clicking "Consent" to avoid granting excessive privileges.
- Once the query works in Graph Explorer, verify that the same permissions are granted to your Enterprise Application in the Azure Portal
Warning: Microsoft Graph Explorer can grant more elevated permissions than are required. Always review the description of each permission before consenting, and only grant the minimum permissions needed for the integration.
Permissions for Azure SSO are covered separately -- see SSO with Azure.
Integration with Meraki
What the Integration Provides
The Meraki integration imports Meraki-managed devices from the Cisco Meraki cloud platform into xAssets. The integration pulls devices from one or more networks in the organizations managed by your Meraki account.
Prerequisites
- A Meraki cloud platform account with API access enabled
- A Meraki API key generated from a Dashboard Administrator account
- Access to xAssets with permission to create credential packs
Step 1: Enable the Meraki API
- In the Meraki Dashboard, navigate to Organization > Settings > Dashboard API access
- Enable the API
- Navigate to My Profile and generate an API key
- Copy and securely store the API key -- it inherits the same permissions as the Dashboard Administrator account that generated it
Step 2: Create a Credential Pack in xAssets
| Field | Value |
|---|---|
| Credential Type | Named Credentials |
| Collection Server | Application Server |
| Pack Name | Any descriptive name |
| Domain | Leave blank, or enter the specific URL path if you know the network URL. xAssets will discover networks automatically during the preparation step. |
| Username | Meraki |
| Password | Your Meraki API key |
Step 3: Prepare the Integration
- Navigate to Admin > Transformations
- Find and queue the transformation called "Meraki -- Prepare Integration" to run as a batch job
- Specify the name of the credential pack you created
- Wait for the job to complete -- this may take some time depending on the number of organizations and networks accessible through your API key
Step 4: Run the Integration
- Navigate to Discover > Integrations > Get Data from Meraki
- Select the credential pack
- Select one or more networks to import devices from
- The integration runs and creates asset records for the selected Meraki-managed devices
Related Articles
- Microsoft Intune — importing Intune-managed devices
- Amazon Web Services — importing AWS EC2 instances
- Google Cloud — importing GCP Compute Engine instances
- SSO with Azure — Azure SSO configuration (different from data integration)