Usare l'identità gestita per autenticare la tua attività di Analisi di flusso di Azure su Power BI

Autenticazione dell'identità gestita per l'output Power BI consente ai processi di Analisi di flusso di accedere direttamente a un'area di lavoro all'interno dell'account Power BI. Questa funzionalità consente di automatizzare completamente le distribuzioni dei processi di Analisi di flusso, poiché un utente non deve più accedere in modo interattivo a Power BI tramite il portale di Azure. Inoltre, i processi a esecuzione prolungata che scrivono in Power BI sono ora più supportati, poiché non è necessario riautorizzare periodicamente il processo.

Questo articolo illustra come abilitare l'identità gestita per gli output Power BI di un processo di Analisi di flusso tramite il portale di Azure e tramite una distribuzione Azure Resource Manager.

Importante

Lo streaming in tempo reale in Power BI viene disattivato. A partire dal 31 ottobre 2027, gli utenti non possono creare processi Analisi di flusso di Azure che usano il connettore di output Power BI e i processi esistenti che usano questo connettore non possono più essere eseguiti. Microsoft consiglia di esplorare Real-Time Intelligence in Microsoft Fabric per scenari in tempo reale. Per indicazioni sulla migrazione, vedere l'articolo power-bi-output.md.

Note

Solo le identità gestite assegnate dal sistema sono supportate con l'output Power BI. Attualmente, l'uso di identità gestite assegnate dall'utente con l'output Power BI non è supportato.

Prerequisites

Per usare questa funzionalità, sono necessari i prerequisiti seguenti:

  • Un account Power BI con licenza Pro.
  • Un'area di lavoro aggiornata all'interno dell'account Power BI. Per altre informazioni, vedere l'annuncio di Power BI.

Creare un processo di Analisi di flusso usando il portale di Azure

  1. Creare un nuovo processo di Analisi di flusso o aprire un processo esistente nel portale di Azure.

  2. Nella barra dei menu a sinistra della schermata selezionare Identità gestita in Impostazioni.

    Screenshot che mostra la pagina Identità gestita con il pulsante Seleziona identità selezionato.

  3. In Seleziona identità, seleziona Identità assegnata dal sistema. Seleziona Salva.

    Screenshot che mostra la pagina Seleziona identità con l'identità assegnata dal sistema selezionata.

  4. In Identità gestita, verifica che vengano visualizzati l'ID principale e il nome principale assegnati al tuo processo di Stream Analytics. Il nome principale dovrebbe essere lo stesso del nome del tuo job Stream Analytics.

  5. Prima di configurare l'output, concedere al processo di Analisi di flusso l'accesso all'area di lavoro Power BI seguendo le istruzioni riportate nella sezione Give the Stream Analytics job access to your Power BI workspace sezione di questo articolo.

  6. Passare alla sezione Outputs del processo di Analisi di flusso, selezionare + Aggiungi e quindi scegliere Power BI. Selezionare quindi il pulsante Authorize e accedere con l'account Power BI.

    Autorizza con l'account Power BI

  7. Dopo l'autorizzazione, un elenco a discesa viene riempito con tutte le aree di lavoro a cui si ha accesso. Selezionare l'area di lavoro autorizzata nel passaggio precedente. Selezionare quindi Identità gestita come modalità di autenticazione. Infine, selezionare il pulsante Salva .

    Screenshot che mostra la configurazione di output Power BI con la modalità di autenticazione dell'identità gestita selezionata.

Distribuzione Azure Resource Manager

Azure Resource Manager consente di automatizzare completamente la distribuzione del processo di Analisi di flusso. È possibile distribuire modelli di Resource Manager usando Azure PowerShell o interfaccia della riga di comando di Azure. Negli esempi seguenti viene usato il interfaccia della riga di comando di Azure.

  1. Creare un Microsoft. StreamAnalytics/streamingjobs risorsa con un'identità gestita includendo la proprietà seguente nella sezione della risorsa del modello di Resource Manager:

    "identity": {
        "type": "SystemAssigned",
    }
    

    Questa proprietà indica ad Azure Resource Manager di creare e gestire l'identità per il tuo job di Stream Analytics. L'esempio seguente illustra un modello di Resource Manager che distribuisce un processo di Analisi di flusso con identità gestita abilitata e un sink di output Power BI che usa l'identità gestita:

    {
        "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "resources": [
            {
                "apiVersion": "2017-04-01-preview",
                "name": "pbi_managed_id",
                "location": "[resourceGroup().location]",
                "type": "Microsoft.StreamAnalytics/StreamingJobs",
                "identity": {
                    "type": "systemAssigned"
                },
                "properties": {
                    "sku": {
                        "name": "standard"
                    },
                    "outputs":[
                        {
                            "name":"output",
                            "properties":{
                                "datasource":{
                                    "type":"PowerBI",
                                    "properties":{
                                        "dataset": "dataset_name",
                                        "table": "table_name",
                                        "groupId": "01234567-89ab-cdef-0123-456789abcdef",
                                        "authenticationMode": "Msi"
                                    }
                                }
                            }
                        }
                    ]
                }
            }
        ]
    }
    

    Distribuire il processo precedente nel gruppo di risorse ExampleGroup usando il comando interfaccia della riga di comando di Azure seguente:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. Dopo aver creato il processo, usare Azure Resource Manager per recuperare la definizione completa del processo.

    az resource show --ids /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.StreamAnalytics/StreamingJobs/<resource-name>
    

    Il comando precedente restituisce una risposta simile alla seguente:

    {
        "id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.StreamAnalytics/streamingjobs/<resource-name>",
        "identity": {
            "principalId": "<principal-id>",
            "tenantId": "<tenant-id>",
            "type": "SystemAssigned",
            "userAssignedIdentities": null
        },
        "kind": null,
        "location": "West US",
        "managedBy": null,
        "name": "<resource-name>",
        "plan": null,
        "properties": {
            "compatibilityLevel": "1.0",
            "createdDate": "2019-07-12T03:11:30.39Z",
            "dataLocale": "en-US",
            "eventsLateArrivalMaxDelayInSeconds": 5,
            "jobId": "<job-id>",
            "jobState": "Created",
            "jobStorageAccount": null,
            "jobType": "Cloud",
            "outputErrorPolicy": "Stop",
            "package": null,
            "provisioningState": "Succeeded",
            "sku": {
                "name": "Standard"
            }
        },
        "resourceGroup": "<resource-group>",
        "sku": null,
        "tags": null,
        "type": "Microsoft.StreamAnalytics/streamingjobs"
    }
    

    Se si prevede di usare l'API REST Power BI per aggiungere il processo di Analisi di flusso all'area di lavoro Power BI, prendere nota dell'principalId restituito.

  3. Dopo aver creato l'attività, prosegui con la sezione Concedi l'accesso all'attività Stream Analytics alla tua area di lavoro Power BI di questo articolo.

Concedere al processo di Analisi di flusso l'accesso all'area di lavoro Power BI

Dopo avere creato il job di Stream Analytics, concedere l'accesso a un'area di lavoro di Power BI. Dopo aver concesso l'accesso all'operazione, attendere alcuni minuti affinché l'identità si propaghi.

Usare l'interfaccia utente Power BI

Note

Per aggiungere il processo di Analisi di flusso all'area di lavoro Power BI usando l'interfaccia utente, è anche necessario abilitare l'accesso all'entità servizio nelle impostazioni di Developer nel portale di amministrazione di Power BI. Per altre informazioni, vedere Introduzione a un'entità servizio.

  1. Passare alle impostazioni di accesso dell'area di lavoro. Per altre informazioni, vedere Concedere l'accesso all'area di lavoro.

  2. Immettere il nome del processo di Analisi di flusso nella casella di testo e selezionare Collaboratore come livello di accesso.

  3. Selezionare Aggiungi e chiudere il riquadro.

    Aggiungi processo di Analisi di flusso all'area di lavoro Power BI

Usare i cmdlet di PowerShell Power BI

  1. Installare i cmdlet di PowerShell Power BI MicrosoftPowerBIMgmt.

    Importante

    Assicurarsi di usare la versione 1.0.821 o successiva dei cmdlet.

    Install-Module -Name MicrosoftPowerBIMgmt
    
  2. Accedere a Power BI.

    Login-PowerBI
    
  3. Aggiungere il processo di Analisi di flusso come Collaboratore all'area di lavoro.

    Add-PowerBIWorkspaceUser -WorkspaceId <group-id> -PrincipalId <principal-id> -PrincipalType App -AccessRight Contributor
    

Usare l'API REST di Power BI

È possibile aggiungere il processo di analisi dei flussi come contributore all'area di lavoro utilizzando direttamente l'API REST "Aggiungi utente del gruppo". Per la documentazione completa, vedere Gruppi - Aggiungere un utente del gruppo.

Richiesta di esempio

POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/users

Corpo della richiesta

{
    "groupUserAccessRight": "Contributor",
    "identifier": "<principal-id>",
    "principalType": "App"
}

Usare un'entità del servizio per concedere l'autorizzazione all'identità gestita di un processo ASA

Per le distribuzioni automatizzate, utilizzare un accesso interattivo per concedere a un'attività ASA l'accesso a un'area di lavoro di Power BI non è possibile. È possibile usare un principale del servizio per concedere l'autorizzazione a un'identità gestita per un processo ASA. È possibile usare PowerShell per questo approccio:

Connect-PowerBIServiceAccount -ServicePrincipal -TenantId "<tenant-id>" -CertificateThumbprint "<thumbprint>" -ApplicationId "<app-id>"
Add-PowerBIWorkspaceUser -WorkspaceId <group-id> -PrincipalId <principal-id> -PrincipalType App -AccessRight Contributor

Rimuovere l'identità gestita

L'identità gestita creata per un processo di Analisi di flusso viene eliminata solo quando si elimina il processo. Non è possibile eliminare l'identità gestita senza eliminare l'attività. Se non si vuole più usare l'identità gestita, è possibile modificare il metodo di autenticazione per l'output. L'identità gestita continua a esistere fino a quando non si elimina l'attività. Se si decide di usare nuovamente l'autenticazione dell'identità gestita, viene usata l'identità gestita.

Limitations

Questa funzionalità presenta le limitazioni seguenti:

  • Le aree di lavoro Power BI classiche non sono supportate.

  • gli account Azure senza Microsoft Entra ID non sono supportati.

  • L'accesso multi-tenant non è supportato. L'entità servizio creata per un determinato processo di Analisi di flusso deve trovarsi nello stesso tenant Microsoft Entra in cui è stato creato il processo. Non è possibile usarlo con una risorsa che si trova in un tenant di Microsoft Entra diverso.

  • L'identità assegnata dall'utente non è supportata. Non è possibile immettere un'entità servizio personalizzata da usare dal processo di Analisi di flusso. Analisi di flusso di Azure deve generare l'entità servizio.

Passaggi successivi