Använd hanterad identitet för att autentisera ditt Azure Stream Analytics-jobb mot Power BI

Hanterad identitetsautentisering för utdata till Power BI ger Stream Analytics-jobb direkt åtkomst till en arbetsyta i ditt Power BI konto. Med den här funktionen kan distributioner av Stream Analytics-jobb automatiseras helt, eftersom en användare inte längre behöver logga in interaktivt för att Power BI via Azure-portalen. Dessutom stöds långvariga jobb som skriver till Power BI nu bättre, eftersom du inte behöver auktorisera jobbet regelbundet igen.

Den här artikeln visar hur du aktiverar hanterad identitet för Power BI utdata från ett Stream Analytics-jobb via Azure-portalen och via en Azure Resource Manager distribution.

Important

Realtidsströmning i Power BI dras tillbaka. Från och med den 31 oktober 2027 kan användarna inte skapa Azure Stream Analytics jobb som använder Power BI utdataanslutning och befintliga jobb som använder den här anslutningsappen slutar att köras. Microsoft rekommenderar att du utforskar Real-Time Intelligence i Microsoft Fabric för realtidsscenarier. Information om migrering finns i artikeln power-bi-output.md.

Note

Endast systemtilldelade hanterade identiteter stöds med Power BI utdata. För närvarande stöds inte användning av användartilldelade hanterade identiteter med Power BI utdata.

Prerequisites

Om du vill använda den här funktionen behöver du följande krav:

Skapa ett Stream Analytics-jobb med hjälp av Azure-portalen

  1. Skapa ett nytt Stream Analytics-jobb eller öppna ett befintligt jobb i Azure portalen.

  2. I menyraden till vänster på skärmen väljer du Hanterad identitet under Inställningar.

    Skärmbild som visar sidan Hanterad identitet med knappen Välj identitet markerad.

  3. Välj identitet väljer du Systemtilldelad identitet. Välj sedan Spara.

    Skärmbild som visar sidan Välj identitet med Systemtilldelad identitet markerad.

  4. Hanterad identitet bekräftar du att huvud-ID och huvudnamn har tilldelats ditt Stream Analytics-jobb. Huvudnamnet ska vara samma som ditt Stream Analytics-jobbnamn.

  5. Innan du konfigurerar utdata ger du Stream Analytics-jobbet åtkomst till din Power BI arbetsyta genom att följa anvisningarna i avsnittet Give Stream Analytics-jobbets åtkomst till din Power BI arbetsyta i den här artikeln.

  6. Gå till avsnittet Outputs i Stream Analytics-jobbet, välj + Lägg till och välj sedan Power BI. Välj sedan knappen Authorize och logga in med ditt Power BI-konto.

    Auktorisera med Power BI-kontot

  7. När du har behörighet fylls en listruta med alla arbetsytor som du har åtkomst till. Välj den arbetsyta som du godkände i föregående steg. Välj sedan Hanterad identitet som autentiseringsläge. Välj slutligen knappen Spara .

    Skärmbild som visar Power BI utdatakonfigurationen med läget för hanterad identitetsautentisering valt.

Azure Resource Manager-driftsättning

Azure Resource Manager gör att du kan automatisera distributionen av Stream Analytics-jobbet fullt ut. Du kan distribuera Resource Manager mallar med hjälp av antingen Azure PowerShell eller Azure CLI. I följande exempel används Azure CLI.

  1. Skapa en Microsoft. StreamAnalytics/streamingjobs resurs med en hanterad identitet genom att inkludera följande egenskap i resursavsnittet i din Resource Manager-mall:

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

    Den här egenskapen instruerar Azure Resource Manager att skapa och hantera identiteten för ditt Stream Analytics-jobb. I följande exempel visas en Resource Manager mall som distribuerar ett Stream Analytics-jobb med hanterad identitet aktiverad och en Power BI utdatamottagare som använder hanterad identitet:

    {
        "$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"
                                    }
                                }
                            }
                        }
                    ]
                }
            }
        ]
    }
    

    Distribuera föregående jobb till resursgruppen ExampleGroup med hjälp av följande Azure CLI kommando:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. När du har skapat jobbet använder du Azure Resource Manager för att hämta jobbets fullständiga definition.

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

    Föregående kommando returnerar ett svar som liknar följande:

    {
        "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"
    }
    

    Om du planerar att använda Power BI REST API för att lägga till Stream Analytics-jobb i din Power BI-arbetsyta, kom ihåg det returnerade principalId.

  3. Nu när jobbet har skapats fortsätter du till avsnittet Ge Stream Analytics-jobbet åtkomst till din Power BI-arbetsyta i den här artikeln.

Ge Stream Analytics-jobbet åtkomst till din Power BI-arbetsyta

När du har skapat Stream Analytics-jobbet ger du det åtkomst till en Power BI arbetsyta. När du ger jobbet åtkomst kan du tillåta några minuter för identiteten att spridas.

Använda användargränssnittet för Power BI

Note

Om du vill lägga till Stream Analytics-jobbet på din Power BI arbetsyta med hjälp av användargränssnittet måste du även aktivera åtkomst till tjänstens huvudnamn i inställningarna Developer i Power BI administratörsportalen. Mer information finns i Kom igång med tjänstekonto.

  1. Gå till arbetsytans åtkomstinställningar. Mer information finns i Ge åtkomst till din arbetsyta.

  2. Ange namnet på ditt Stream Analytics-jobb i textrutan och välj Deltagare som åtkomstnivå.

  3. Välj Lägg till och stäng fönstret.

    Lägg till Stream Analytics-jobb till Power BI arbetsyta

Använda Power BI PowerShell-cmdletar

  1. Installera powershell-cmdletarna Power BI MicrosoftPowerBIMgmt.

    Important

    Kontrollera att du använder version 1.0.821 eller senare av cmdletarna.

    Install-Module -Name MicrosoftPowerBIMgmt
    
  2. Logga in på Power BI.

    Login-PowerBI
    
  3. Lägg till ditt Stream Analytics-jobb som bidragsgivare till arbetsytan.

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

Använda Power BI REST API

Du kan lägga till Stream Analytics-jobbet som bidragsgivare till arbetsytan genom att direkt använda REST-API:t "Lägg till gruppanvändare". Fullständig dokumentation finns i Grupper – Lägg till gruppanvändare.

Exempelbegäran

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

Begärandekropp

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

Använd servicens huvudkonto för att bevilja behörighet för hanterade identitet för ett ASA-jobb

För automatiserade distributioner är det inte möjligt att använda en interaktiv inloggning för att ge ett ASA-jobb åtkomst till en Power BI arbetsyta. Du kan använda ett tjänsthuvudnamn för att ge behörighet till ett ASA-jobbs hanterade identitet. Du kan använda PowerShell för den här metoden:

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

Ta bort hanterad identitet

Den hanterade identitet som du skapar för ett Stream Analytics-jobb tas bara bort när du tar bort jobbet. Det går inte att ta bort den hanterade identiteten utan att ta bort jobbet. Om du inte längre vill använda den hanterade identiteten kan du ändra autentiseringsmetoden för utdata. Den hanterade identiteten fortsätter att finnas tills du tar bort jobbet. Om du bestämmer dig för att använda hanterad identitetsautentisering igen används den hanterade identiteten.

Limitations

Den här funktionen har följande begränsningar:

  • Klassiska Power BI arbetsytor stöds inte.

  • Azure konton utan Microsoft Entra ID stöds inte.

  • Åtkomst för flera klienter stöds inte. Tjänstehuvudkontot som du skapar för ett visst Stream Analytics-jobb måste finnas i samma Microsoft Entra klientorganisation där jobbet skapades. Du kan inte använda den med en resurs som finns i en annan Microsoft Entra klientorganisation.

  • Användartilldelad identitet stöds inte. Du kan inte ange din egen tjänstehuvudprincip som ska användas i ditt Stream Analytics-jobb. Azure Stream Analytics måste generera tjänstens huvudnamn.

Nästa steg