# Power BI

**Early Access**: The Power BI integration is provided as an Early Access feature. Please contact our support team for more details

## Overview

The Veza integration for Power BI enables discovery of Users and Groups assigned to Workspaces in Power BI cloud environments connected to Azure AD tenants.

## Configuring Power BI

The Veza Connector for Power BI uses an Azure App Registration to authenticate to the Power BI Admin API. This can either be a new app registration or an app used for an existing Veza-Azure integration. Follow the steps below to enable Power BI access for the app registration, creating one if necessary:

### From the Azure Portal

1. **Create a new Application and generate credentials.** If you are using an existing app created for Azure discovery, skip this step.

   a. Generate a client ID and Secret value for the application to use for authentication. Make a note of the client ID and Secret value.
2. **Note the Tenant ID of the application.**
3. **Create an Entra (Azure AD) Security Group**, this will be used to authorize the Application to use the Power BI admin API.
4. **Add the following API permission to the Application:**

   `Tenant.Read.All` as Delegated type for Power BI Service and Grant Admin consent.
5. **Add the Application to the Security Group**, under 'Enterprise Applications'.

### From the Power BI Admin Portal

1. **Navigate to Admin API settings**

   a. Under **Service principals can access read-only admin APIs** ensure that it is enabled.

   b. Add the security group created above to the **'Specific security groups allowed'** and apply the settings.

{% hint style="info" %}
Power BI settings can take 15 minutes to propagate, you may need to wait before configuring the Veza integration
{% endhint %}

## Configuring Power BI on the Veza Platform

1. On the Veza **Integrations** page select **Add Integration** and locate the Power BI tile. Configure the integration with the following fields:

   a. **Name** - Name for the integration

   b. **Tenant ID** - The Azure Tenant ID that Power BI is connected to where the app registration is created

   c. **Client ID** - The client ID of the app registration

   d. **Client Secret** - The secret value generated for the app registration

## Notes and Supported Entities

### Power BI Users and Groups

Power BI users and groups are managed via Azure Entra (Azure AD). User and Group entities in the Veza graph serve to connect the Power BI role to the correct Azure user.

### Power BI Roles

| Attribute | Description       |
| --------- | ----------------- |
| `id`      | Power BI group ID |
| `name`    | Name of the group |

### Power BI Workspace

| Attribute                      | Description                                                          |
| ------------------------------ | -------------------------------------------------------------------- |
| `id`                           | Power BI Workspace ID                                                |
| `name`                         | Name of the Workspace                                                |
| `description`                  | Workspace description if set                                         |
| `is_on_dedicated_capacity`     | Boolean if the Workspace is using its own dedicated storage capacity |
| `is_read_only`                 | Boolean if Workspace is marked as read-only                          |
| `state`                        | State as reported by Power BI                                        |
| `has_workspace_level_settings` | True if Workspace has local settings                                 |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.veza.com/4yItIzMvkpAvMVFAamTf/integrations/integrations/power-bi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
