metadata-ingestion/docs/sources/powerbi/powerbi_pre.md
The powerbi module ingests metadata from Powerbi into DataHub. It is intended for production ingestion workflows and module-specific capabilities are documented below.
This plugin extracts the following:
In order to execute this source, you will need to have a Microsoft Entra Application service principal and grant permissions to it inside Power BI.
Power BI's APIs can be categorized into two sets of API methods, with different permission structures:
The recommended way to execute Power BI ingestion is to do both: add your Entra application to the workspaces you want to ingest, andgrant it access to the public and Admin APIs. That way ingestion can extract the most metadata.
To grant public API access to your Entra application:
Grant permissions to access Fabric public APIs: Add your Entra Application's parent Entra Group under your Power BI/Fabric tenant settings in order to grant API access.
a. In Power BI or Fabric, go to Settings -> Admin portal
b. In the Admin portal, navigate to Tenant settings
d. Under Developer Settings, enable the option Service principals can call Fabric Public APIs (or Allow service principals to use Power BI APIs in older versions of Power BI), and add your application's Entra group under Specific security groups.
Add your Entra application as a member of your Power BI workspaces: For workspaces which you want to ingest into DataHub, add the Entra application as a member. For most cases Viewer role is enough, but for profiling the Contributor role is required.
If you have granted your Entra application permissions to the public APIs and added it as a member in a workspace, then the Power BI Source will be able to ingest the below metadata of that particular workspace:
If you don't want to add an Entra application as a member in your workspace, then you can enable admin_apis_only: true in your recipe to use the Power BI Admin API only. Caveats of setting admin_apis_only to true:
To grant admin API access to the Entra application:
Grant permissions to access Admin APIs: Add your Entra Application's parent Entra Group under your Power BI/Fabric tenant settings in order to grant API access.
a. In Power BI or Fabric, go to Settings -> Admin portal
b. In the Admin portal, navigate to Tenant settings
d. For each of the following options, enable the option and add your Entra application's Group under Specific security groups:
Service principals can access read-only admin APIsEnhance admin APIs responses with detailed metadataEnhance admin APIs responses with DAX and mashup expressionsIf you have granted your Entra application permissions to the Admin APIs, then the Power BI Source will be able to ingest the below listed metadata of that particular workspace: