Configuring Authorization for Microsoft Power BI
This topic describes configuring authorization of Power BI to Dremio with Azure Active Directory (Azure AD or AAD). With this authorization option, Dremio is able to handle secure user authorization with an identity provider (IdP) using JSON Web Tokens (JWTs).
Requirements
- Microsoft Power BI Desktop (December 2021+), which includes Dremio as a Certified Connector
- Support key
auth.external-token-providers.enabledenabled
Understanding Authentication Values
Dremio serves as a resource provider and authorization server when AAD is used as an authorization server for a client application. However, Azure AD may also serve as an external authorization server when configured in Dremio.
The following sections offer additional context regarding the values required to correctly enable this feature. Dremio specifically looks for the following JWT claims contained within jwtClaims on OAuth tokens received from a token provider:
{
"jwtClaims": {
"AADTenantId":"2e989880-c1d7-5d47-0gbg-0411g",
"userClaim":"preferred_username"
}
}
The authorization process for these tokens is as described below:
- An admin enables Azure AD as a token provider using Dremio's Power BI Authorization feature.
- A user connects to the client application, whereupon the user is sent to the external token provider.
- The token provider authorizes the user, obtains their consent, and returns an authorization code followed by a JWT to the client application.
- The client application exchanges the JWT for a Dremio token.
- The client application then uses the Dremio token to connect to the Dremio service.
- Dremio verifies the user using the token and grants access only to resources the user has permissions for.