CloudQuery News

Introducing the new Microsoft Entra ID (Azure AD) Source Integration

Many organizations use Microsoft Entra ID (Azure AD) to enhance security, for access management, and ensure compliance, however correlating data from Microsoft Entra ID with other services like AWS or Azure can be challenging.
Our recently released Microsoft Entra ID Source Integration enables you to gain insights from Microsoft Entra ID across your organization and correlate it with other data sources.

Why Microsoft Entra ID + CloudQuery?

The Microsoft Graph API is a powerful tool for accessing data from Microsoft Entra ID. However, querying and correlating data from Microsoft Entra ID with other data sources can be complex and time consuming, particularly if you want to combine this data with information from other sources. The Microsoft Entra ID source plugin simplifies this process by providing a unified interface to query and sync data from Microsoft Entra ID with other data sources.

Since you can use CloudQuery to send the data to multiple destinations, for example PostgreSQL, you don't have to learn the Microsoft Graph API query language and can use SQL instead.

Use cases

Let's take a look at a couple of examples to help you get started with the Microsoft Entra ID source integration.

In all of these examples we assume the data was synced from Microsoft Entra ID source and the Azure source to a PostgreSQL destination.
You can find an example configuration below.

List all Azure roles an Entra ID group has

The following query lists all the Azure roles that a specific Entra ID group (named Security) has:

select properties->>'roleName' as role_name from azure_authorization_role_definitions
where id in (
select properties->>'roleDefinitionId' from azure_authorization_role_assignments
where properties->>'principalId' in (
select id from entraid_groups
where display_name = 'Security'
)
)

List all users with a specific Azure role

The following query lists all the users that have the Azure AI Developer role:

select display_name from entraid_users
where id in (
select properties->>'principalId' from azure_authorization_role_assignments
where properties->>'roleDefinitionId' = (
select id from azure_authorization_role_definitions
where properties->>'roleName' = 'Azure AI Developer'
)
)

Getting Started

To get started syncing Entra ID, see the Entra ID Source Integration documentation for instructions.
For the queries in this blog, you can use the example configuration below to sync the data needed.

Example Configuration

kind: source
spec:
name: 'entraid'
path: 'cloudquery/entraid'
version: 'v3.16.0'
destinations: ['postgresql']
tables: ['entraid_users', 'entraid_groups']
---
kind: source
spec:
name: 'azure'
path: 'cloudquery/azure'
version: 'v23.2.0'
destinations: ['postgresql']
tables: ['azure_authorization_role_assignments', 'azure_authorization_role_definitions']
---
kind: destination
spec:
name: 'postgresql'
path: 'cloudquery/postgresql'
version: 'v8.16.0'
migrate_mode: forced
spec:
connection_string: 'postgresql://postgres:pass@localhost:5432/postgres?sslmode=disable'

Incremental syncing

To prevent repeated syncing of the same data CloudQuery supports incremental tables.
See more about incremental syncing in the Entra ID Source Integration documentation.


Join the CloudQuery Community to connect with other users and experts.

Want to see CloudQuery in action? Schedule a demo with our team or check out the platform documentation to learn more.

Try CloudQuery yourself

Self-hosted, open source, and free to start. Or schedule a demo to see the managed version.

Related posts

CloudQuery News

Introducing CloudQuery Insights: Cloud Intelligence That Connects the Dots

CloudQuery Insights automatically surfaces connected signals across your cloud inventory: security findings, cost data, policy violations, and audit trails.

Joe Karlsson

Joe Karlsson

April 21, 2026

Cloud Infrastructure

CloudQuery News

Introducing the Nautobot Source Integration

Sync Nautobot DCIM inventory data to PostgreSQL, BigQuery, or Snowflake and query it with SQL alongside your cloud provider data.

Joe Karlsson

Joe Karlsson

March 19, 2026

CloudQuery News

CloudQuery Is Merging with Env Zero

A letter from CloudQuery CEO Yevgeny Pats on the merger with env zero and what it means for customers.

Yevgeny Pats

Yevgeny Pats

March 17, 2026

CloudQuery News

Security

Introducing the Zoom Source Integration

New CloudQuery Zoom source plugin: sync Zoom meeting, user, and webinar data into your database for compliance, analytics, and user access governance reporting.

Joe Karlsson

Joe Karlsson

February 2, 2026

CloudQuery News

Product News

New in CloudQuery: Tines + Semgrep integration, and native visualizations,

CloudQuery October 2025 updates: Tines and Semgrep integration for security orchestration, plus native visualization support in the CloudQuery Platform.

Chris Reuter

Chris Reuter

October 31, 2025

CloudQuery News

Product News

Security

Introducing Data Access Control for CloudQuery Platform

CloudQuery Platform RBAC: Control cloud asset access with SQL-based permissions. Map Azure AD/Okta groups to roles. Available now on all environments.

Joe Karlsson

Joe Karlsson

October 28, 2025

AI

CloudQuery News

Understand your cloud infra faster using natural language

CloudQuery unifies AWS, GCP, Azure, and SaaS configs into SQL tables. The new AI assistant lets you query your cloud inventory using natural language.

Chris Reuter

Chris Reuter

September 29, 2025

CloudQuery News

Find the Cloud Waste Contest

Win CloudQuery swag by finding cloud waste in our dataset. Sync AWS data with CloudQuery, solve 3 SQL challenges, get t-shirts, sweatshirts, and mugs.

Joe Karlsson

Joe Karlsson

September 25, 2025

AI

CloudQuery News

Generate CloudQuery Configuration with Natural Language

Generate CloudQuery config files from natural language prompts. Use AI to quickly create source and destination plugin configs without manual YAML editing.

Chris Reuter

Chris Reuter

September 23, 2025

Own your pipeline.
Own your data.