Power BI Azure AD OAuth 2.0 Setup
Follow these steps to register an app in Microsoft Entra ID (Azure AD) and authorize it against the Power BI REST API.Step 1: Register an App in Entra ID
- Go to the Azure Portal and open Microsoft Entra ID (formerly Azure Active Directory)
- Navigate to App registrations → New registration
- Configure:
- Name:
BonData Integration - Supported account types: Accounts in this organizational directory only
- Redirect URI: Web -
https://app.bondata.ai/auth/oauth2/callback
- Name:
- Click Register
- On the Overview page, copy the Application (client) ID and Directory (tenant) ID
Step 2: Grant Power BI Service API Permissions
- Go to API permissions → Add a permission
- Select Power BI Service
- Choose Delegated permissions and add
Tenant.Read.All,Dataset.Read.All,Report.Read.All, andWorkspace.Read.All - Click Add permissions, then Grant admin consent (requires a tenant administrator)
To read dataset table rows over the XMLA endpoint, an administrator must enable XMLA endpoint read access in the Power BI Admin portal under Tenant settings → Integration settings. This requires a Premium or Fabric capacity.
Step 3: Create a Client Secret
- Go to Certificates & secrets → Client secrets
- Click New client secret, add a description, and select an expiration
- Copy the secret value immediately - it is only shown once
Step 4: Enter Credentials in BonData
- In BonData, navigate to Integrations and select Power BI
- Enter your Tenant ID, Client ID, and Client Secret
- Click Connect
Required Fields
Available Data
Once connected, BonData can sync the following Power BI data via the Power BI REST API and XMLA endpoint:- Workspaces - Workspace (group) metadata including capacity assignment and access
- Datasets - Semantic models with configured tables, refresh schedules, and data sources
- Reports - Report definitions and their associated datasets
- Dashboards - Dashboards and their pinned tiles
- Dataflows - Dataflow definitions and entity metadata
- Dataset Table Rows - Row-level data queried from dataset tables via the XMLA endpoint