You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|Public access with self-hosted integration runtime |Allowed |Allowed |Self-hosted runtime |Delegated authentication / service principal|[Deployment checklist](#deployment-checklist)|
31
31
32
32
### Known limitations
33
33
34
-
- For the cross-tenant scenario, delegated authentication is the only supported option for scanning.
34
+
- For the cross-tenant scenario, delegated authentication and service principal are the only supported authentication options for scanning.
35
35
- You can create only one scan for a Power BI data source that is registered in your Microsoft Purview account.
36
36
- If the Power BI dataset schema isn't shown after the scan, it's due to one of the current limitations with the [Power BI metadata scanner](/power-bi/admin/service-admin-metadata-scanning).
37
37
- Empty workspaces are skipped.
@@ -63,12 +63,12 @@ Use either of the following deployment checklists during the setup, or for troub
63
63
1. From the Power BI tenant admin portal, make sure the Power BI tenant is configured to allow a public network.
64
64
65
65
1. Check your instance of Azure Key Vault to make sure:
66
-
1. There are no typos in the password.
66
+
1. There are no typos in the password or secret.
67
67
2. Microsoft Purview managed identity has **get** and **list** access to secrets.
68
68
69
69
1. Review your credential to validate that the:
70
70
1. Client ID matches the _Application (Client) ID_ of the app registration.
71
-
2.Username includes the user principal name, such as `[email protected]`.
71
+
2.For **delegated auth**, username includes the user principal name, such as `[email protected]`.
72
72
73
73
1. In the Power BI Azure AD tenant, validate the following Power BI admin user settings:
74
74
1. The user is assigned to the Power BI administrator role.
@@ -87,6 +87,10 @@ Use either of the following deployment checklists during the setup, or for troub
87
87
2.**Implicit grant and hybrid flows** > **ID tokens (used for implicit and hybrid flows)** is selected.
88
88
3.**Allow public client flows** is enabled.
89
89
90
+
1. In Power BI tenant, In Azure Active Directory create a security group.
91
+
1. In Power BI tenant, from Azure Active Directory tenant, make sure [Service Principal is member of the new security group](#authenticate-to-power-bi-tenant).
92
+
1. On the Power BI Tenant Admin portal, validate if [Allow service principals to use read-only Power BI admin APIs](#associate-the-security-group-with-power-bi-tenant) is enabled for the new security group.
93
+
90
94
# [Public access with self-hosted integration runtime](#tab/Scenario2)
91
95
92
96
### Scan cross-tenant Power BI by using delegated authentication in a public network
@@ -109,12 +113,6 @@ Use either of the following deployment checklists during the setup, or for troub
109
113
1. Client ID matches the _Application (Client) ID_ of the app registration.
110
114
2. Username includes the user principal name, such as `[email protected]`.
111
115
112
-
1. In the Power BI Azure AD tenant, validate the following Power BI admin user settings:
113
-
1. The user is assigned to the Power BI administrator role.
114
-
2. At least one [Power BI license](/power-bi/admin/service-admin-licensing-organization#subscription-license-types) is assigned to the user.
115
-
3. If the user is recently created, sign in with the user at least once, to make sure that the password is reset successfully, and the user can successfully initiate the session.
116
-
4. There are no multifactor authentication or conditional access policies enforced on the user.
117
-
118
116
1. In the Power BI Azure AD tenant, validate the following app registration settings:
119
117
1. The app registration exists in your Azure AD tenant where the Power BI tenant is located.
120
118
2. Under **API permissions**, the following APIs are set up with **read** for **delegated permissions** and **grant admin consent for the tenant**:
@@ -126,12 +124,20 @@ Use either of the following deployment checklists during the setup, or for troub
126
124
2.**Implicit grant and hybrid flows** > **ID tokens (used for implicit and hybrid flows)** is selected.
127
125
3.**Allow public client flows** is enabled.
128
126
127
+
1. If delegated authentication is used, in the Power BI Azure AD tenant validate the following Power BI admin user settings:
128
+
1. The user is assigned to the Power BI administrator role.
129
+
2. At least one [Power BI license](/power-bi/admin/service-admin-licensing-organization#subscription-license-types) is assigned to the user.
130
+
3. If the user is recently created, sign in with the user at least once, to make sure that the password is reset successfully, and the user can successfully initiate the session.
131
+
4. There are no multifactor authentication or conditional access policies enforced on the user.
132
+
129
133
1. Validate the following self-hosted runtime settings:
130
134
1. The latest version of the [self-hosted runtime](https://www.microsoft.com/download/details.aspx?id=39717) is installed on the VM.
131
135
1. Network connectivity from the self-hosted runtime to the Power BI tenant is enabled.
132
136
1. Network connectivity from the self-hosted runtime to Microsoft services is enabled.
133
137
1.[JDK 8 or later](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html) is installed.
134
-
138
+
1. In Power BI tenant, In Azure Active Directory create a security group.
139
+
1. In Power BI tenant, from Azure Active Directory tenant, make sure [Service Principal is member of the new security group](#authenticate-to-power-bi-tenant).
140
+
1. On the Power BI Tenant Admin portal, validate if [Allow service principals to use read-only Power BI admin APIs](#associate-the-security-group-with-power-bi-tenant) is enabled for the new security group.
135
141
---
136
142
137
143
## Register the Power BI tenant
@@ -157,6 +163,61 @@ Delegated authentication is the only supported option for cross-tenant scanning.
157
163
> 1. Confirm you have completed the [deployment checklist for your scenario](#deployment-checklist).
158
164
> 1. Review the [scan troubleshooting documentation](register-scan-power-bi-tenant-troubleshoot.md).
159
165
166
+
### Authenticate to Power BI tenant
167
+
168
+
In Azure Active Directory Tenant, where Power BI tenant is located:
169
+
170
+
1. In the [Azure portal](https://portal.azure.com), search for **Azure Active Directory**.
171
+
172
+
2. Create a new security group in your Azure Active Directory, by following [Create a basic group and add members using Azure Active Directory](../active-directory/fundamentals/active-directory-groups-create-azure-portal.md).
173
+
174
+
> [!Tip]
175
+
> You can skip this step if you already have a security group you want to use.
176
+
177
+
3. Select **Security** as the **Group Type**.
178
+
179
+
:::image type="content" source="./media/setup-power-bi-scan-PowerShell/security-group.png" alt-text="Screenshot of security group type.":::
180
+
181
+
4. Add your **service principal** to this security group. Select **Members**, then select **+ Add members**.
182
+
183
+
5. Search for your Microsoft Purview managed identity or service principal and select it.
184
+
185
+
:::image type="content" source="./media/setup-power-bi-scan-PowerShell/add-catalog-to-group-by-search.png" alt-text="Screenshot showing how to add catalog by searching for its name.":::
186
+
187
+
You should see a success notification showing you that it was added.
### Associate the security group with Power BI tenant
192
+
193
+
1. Log into the [Power BI admin portal](https://app.powerbi.com/admin-portal/tenantSettings).
194
+
195
+
2. Select the **Tenant settings** page.
196
+
197
+
> [!Important]
198
+
> You need to be a Power BI Admin to see the tenant settings page.
199
+
200
+
3. Select **Admin API settings** > **Allow service principals to use read-only Power BI admin APIs (Preview)**.
201
+
202
+
4. Select **Specific security groups**.
203
+
204
+
:::image type="content" source="./media/setup-power-bi-scan-PowerShell/allow-service-principals-power-bi-admin.png" alt-text="Image showing how to allow service principals to get read-only Power BI admin API permissions.":::
205
+
206
+
5. Select **Admin API settings** > **Enhance admin APIs responses with detailed metadata** > Enable the toggle to allow Microsoft Purview Data Map automatically discover the detailed metadata of Power BI datasets as part of its scans.
207
+
208
+
> [!IMPORTANT]
209
+
> After you update the Admin API settings on your power bi tenant, wait around 15 minutes before registering a scan and test connection.
210
+
211
+
:::image type="content" source="media/setup-power-bi-scan-catalog-portal/power-bi-scan-sub-artifacts.png" alt-text="Image showing the Power BI admin portal config to enable subartifact scan.":::
212
+
213
+
> [!Caution]
214
+
> When you allow the security group you created (that has your Microsoft Purview managed identity as a member) to use read-only Power BI admin APIs, you also allow it to access the metadata (e.g. dashboard and report names, owners, descriptions, etc.) for all of your Power BI artifacts in this tenant. Once the metadata has been pulled into the Microsoft Purview, Microsoft Purview's permissions, not Power BI permissions, determine who can see that metadata.
215
+
216
+
> [!Note]
217
+
> You can remove the security group from your developer settings, but the metadata previously extracted won't be removed from the Microsoft Purview account. You can delete it separately, if you wish.
218
+
219
+
### Create scan for cross-tenant using Azure IR with delegated authentication
220
+
160
221
To create and run a new scan by using the Azure runtime, perform the following steps:
161
222
162
223
1. Create a user account in the Azure AD tenant where the Power BI tenant is located, and assign the user to the Azure AD role, **Power BI Administrator**. Take note of the username and sign in to change the password.
@@ -244,6 +305,80 @@ To create and run a new scan by using the Azure runtime, perform the following s
244
305
245
306
:::image type="content" source="media/setup-power-bi-scan-catalog-portal/save-run-power-bi-scan.png" alt-text="Screenshot that shows how to save and run the Power BI source.":::
246
307
308
+
### Create scan for cross-tenant using self-hosted IR with service principal
309
+
310
+
To create and run a new scan by using the self-hosted integration runtime, perform the following steps:
311
+
312
+
1. Create an app registration in your Azure AD tenant where Power BI is located. Provide a web URL in the **Redirect URI**. Take note of the client ID (app ID).
313
+
314
+
:::image type="content" source="media/setup-power-bi-scan-catalog-portal/power-bi-create-service-principle.png" alt-text="Screenshot that shows how to create a service principle.":::
315
+
316
+
1. From the Azure AD dashboard, select the newly created application, and then select **App permissions**. Assign the application the following delegated permissions, and grant admin consent for the tenant:
317
+
318
+
- Power BI Service Tenant.Read.All
319
+
- Microsoft Graph openid
320
+
- Microsoft Graph User.Read
321
+
322
+
:::image type="content" source="media/setup-power-bi-scan-catalog-portal/power-bi-delegated-permissions.png" alt-text="Screenshot of delegated permissions for Power BI and Microsoft Graph.":::
323
+
324
+
1. From the Azure AD dashboard, select the newly created application, and then select **Authentication**. Under **Supported account types**, select **Accounts in any organizational directory (Any Azure AD directory - Multitenant)**.
325
+
326
+
:::image type="content" source="media/setup-power-bi-scan-catalog-portal/power-bi-multitenant.png" alt-text="Screenshot of account type support multitenant.":::
327
+
328
+
1. Under **Implicit grant and hybrid flows**, select **ID tokens (used for implicit and hybrid flows)**.
329
+
330
+
:::image type="content" source="media/setup-power-bi-scan-catalog-portal/power-bi-id-token-hybrid-flows.png" alt-text="Screenshot of ID token hybrid flows.":::
331
+
332
+
1. Under **Advanced settings**, enable **Allow Public client flows**.
333
+
334
+
1. In the tenant where Microsoft Purview is created go to the instance of Azure Key Vault.
335
+
336
+
1. Select **Settings** > **Secrets**, and then select **+ Generate/Import**.
337
+
338
+
:::image type="content" source="media/setup-power-bi-scan-catalog-portal/power-bi-key-vault.png" alt-text="Screenshot of the instance of Azure Key Vault.":::
339
+
340
+
1. Enter a name for the secret. For **Value**, type the newly created password for the Azure AD user. Select **Create** to complete.
341
+
342
+
:::image type="content" source="media/setup-power-bi-scan-catalog-portal/power-bi-key-vault-secret.png" alt-text="Screenshot that shows how to generate a secret in Azure Key Vault.":::
343
+
344
+
1. If your key vault isn't connected to Microsoft Purview yet, you need to [create a new key vault connection](manage-credentials.md#create-azure-key-vaults-connections-in-your-microsoft-purview-account).
345
+
346
+
1. In the Microsoft Purview Studio, go to the **Data map** in the left menu. Go to **Sources**.
347
+
348
+
1. Select the registered Power BI source from cross-tenant.
349
+
350
+
1. Select **+ New scan**.
351
+
352
+
1. Give your scan a name. Then select the option to include or exclude the personal workspaces.
353
+
354
+
> [!Note]
355
+
> If you switch the configuration of a scan to include or exclude a personal workspace, you trigger a full scan of the Power BI source.
356
+
357
+
1. Select your self-hosted integration runtime from the drop-down list.
358
+
359
+
1. For the **Credential**, select **Service Principal**, and then select **+ New** to create a new credential.
360
+
361
+
1. Create a new credential and provide the following required parameters:
362
+
363
+
-**Name**: Provide a unique name for credential
364
+
-**Authentication method**: Service principal
365
+
-**Tenant ID**: Your Power BI tenant ID
366
+
-**Client ID**: Use Service Principal Client ID (App ID) you created earlier
367
+
368
+
1. Select **Test connection** before continuing to the next steps.
369
+
370
+
If the test fails, select **View Report** to see the detailed status and troubleshoot the problem:
371
+
372
+
1.*Access - Failed* status means that the user authentication failed. Validate if the App ID and secret are correct. Review if the credential contains the correct client (app) ID from the app registration.
373
+
2.*Assets (+ lineage) - Failed* status means that the authorization between Microsoft Purview and Power BI has failed. Make sure that the user is added to the Power BI administrator role, and has the proper Power BI license assigned.
374
+
3.*Detailed metadata (Enhanced) - Failed* status means that the Power BI admin portal is disabled for the following setting: **Enhance admin APIs responses with detailed metadata**.
375
+
376
+
1. Set up a scan trigger. Your options are **Recurring** or **Once**.
377
+
378
+
:::image type="content" source="media/setup-power-bi-scan-catalog-portal/scan-trigger.png" alt-text="Screenshot of the Microsoft Purview scan scheduler.":::
379
+
380
+
1. On **Review new scan**, select **Save and run** to launch your scan.
381
+
247
382
## Next steps
248
383
249
384
Now that you've registered your source, see the following guides to learn more about Microsoft Purview and your data.
0 commit comments