Skip to content

Commit 430432b

Browse files
authored
Merge pull request #210677 from zeinab-mk/patch-20
Update register-scan-power-bi-tenant
2 parents ae51df9 + 0e80c7a commit 430432b

File tree

2 files changed

+282
-49
lines changed

2 files changed

+282
-49
lines changed

articles/purview/register-scan-power-bi-tenant-cross-tenant.md

Lines changed: 147 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.author: csugunan
66
ms.service: purview
77
ms.subservice: purview-data-map
88
ms.topic: how-to
9-
ms.date: 04/29/2022
9+
ms.date: 09/21/2022
1010
ms.custom: template-how-to, ignite-fall-2021
1111
---
1212

@@ -27,11 +27,11 @@ For a list of metadata available for Power BI, see our [available metadata docum
2727
|**Scenario** |**Microsoft Purview public access** |**Power BI public access** | **Runtime option** | **Authentication option** | **Deployment checklist** |
2828
|---------|---------|---------|---------|---------|---------|
2929
|Public access with Azure integration runtime |Allowed |Allowed |Azure runtime |Delegated authentication | [Deployment checklist](#deployment-checklist) |
30-
|Public access with self-hosted integration runtime |Allowed |Allowed |Self-hosted runtime |Delegated authentication | [Deployment checklist](#deployment-checklist) |
30+
|Public access with self-hosted integration runtime |Allowed |Allowed |Self-hosted runtime |Delegated authentication / service principal | [Deployment checklist](#deployment-checklist) |
3131

3232
### Known limitations
3333

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.
3535
- You can create only one scan for a Power BI data source that is registered in your Microsoft Purview account.
3636
- 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).
3737
- Empty workspaces are skipped.
@@ -63,12 +63,12 @@ Use either of the following deployment checklists during the setup, or for troub
6363
1. From the Power BI tenant admin portal, make sure the Power BI tenant is configured to allow a public network.
6464

6565
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.
6767
2. Microsoft Purview managed identity has **get** and **list** access to secrets.
6868

6969
1. Review your credential to validate that the:
7070
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]`.
7272

7373
1. In the Power BI Azure AD tenant, validate the following Power BI admin user settings:
7474
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
8787
2. **Implicit grant and hybrid flows** > **ID tokens (used for implicit and hybrid flows)** is selected.
8888
3. **Allow public client flows** is enabled.
8989

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+
9094
# [Public access with self-hosted integration runtime](#tab/Scenario2)
9195

9296
### 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
109113
1. Client ID matches the _Application (Client) ID_ of the app registration.
110114
2. Username includes the user principal name, such as `[email protected]`.
111115

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-
118116
1. In the Power BI Azure AD tenant, validate the following app registration settings:
119117
1. The app registration exists in your Azure AD tenant where the Power BI tenant is located.
120118
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
126124
2. **Implicit grant and hybrid flows** > **ID tokens (used for implicit and hybrid flows)** is selected.
127125
3. **Allow public client flows** is enabled.
128126

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+
129133
1. Validate the following self-hosted runtime settings:
130134
1. The latest version of the [self-hosted runtime](https://www.microsoft.com/download/details.aspx?id=39717) is installed on the VM.
131135
1. Network connectivity from the self-hosted runtime to the Power BI tenant is enabled.
132136
1. Network connectivity from the self-hosted runtime to Microsoft services is enabled.
133137
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.
135141
---
136142

137143
## Register the Power BI tenant
@@ -157,6 +163,61 @@ Delegated authentication is the only supported option for cross-tenant scanning.
157163
> 1. Confirm you have completed the [deployment checklist for your scenario](#deployment-checklist).
158164
> 1. Review the [scan troubleshooting documentation](register-scan-power-bi-tenant-troubleshoot.md).
159165
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.
188+
189+
:::image type="content" source="./media/setup-power-bi-scan-PowerShell/success-add-catalog-msi.png" alt-text="Screenshot showing successful addition of catalog managed identity.":::
190+
191+
### 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+
160221
To create and run a new scan by using the Azure runtime, perform the following steps:
161222

162223
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
244305

245306
:::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.":::
246307

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+
247382
## Next steps
248383

249384
Now that you've registered your source, see the following guides to learn more about Microsoft Purview and your data.

0 commit comments

Comments
 (0)