Använda hanterad identitet för att autentisera ditt Azure Stream Analytics-jobb till 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 det inte längre krävs för att en användare ska kunna logga in interaktivt på Power BI via Azure-portalen. Dessutom stöds långvariga jobb som skriver till Power BI bättre, eftersom du inte behöver auktorisera jobbet regelbundet.
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.
Kommentar
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.
Förutsättningar
Du måste ha följande förutsättningar innan du använder den här funktionen:
- Ett Power BI-konto med en Pro-licens.
- En uppgraderad arbetsyta i ditt Power BI-konto. Mer information finns i Power BI:s meddelande.
Skapa ett Stream Analytics-jobb med hjälp av Azure-portalen
Skapa ett nytt Stream Analytics-jobb eller öppna ett befintligt jobb i Azure-portalen.
På menyraden till vänster på skärmen väljer du Hanterad identitet under Inställningar.
På sidan Välj identitet väljer du Systemtilldelad identitet*. Om du väljer det senare alternativet anger du den hanterade identitet som du vill använda. Välj sedan Spara.
På sidan Hanterad identitet bekräftar du att huvud-ID och huvudnamn har tilldelats streamanalysjobbet. Huvudnamnet ska vara samma som ditt Stream Analytics-jobbnamn.
Innan du konfigurerar utdata ger du Stream Analytics-jobbet åtkomst till din Power BI-arbetsyta genom att följa anvisningarna i avsnittet Ge Stream Analytics-jobbet åtkomst till din Power BI-arbetsyta i den här artikeln.
Gå till avsnittet Utdata i Stream Analytics jobb, välj + Lägg till och välj sedan Power BI. Välj sedan knappen Auktorisera och logga in med ditt Power BI-konto.
När en listruta har godkänts fylls den 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.
Azure Resource Manager-distribution
Med Azure Resource Manager kan du automatisera distributionen av ditt Stream Analytics-jobb fullt ut. Du kan distribuera Resource Manager-mallar med antingen Azure PowerShell eller Azure CLI. I exemplen nedan används Azure CLI.
Du kan skapa en Microsoft.StreamAnalytics/streamingjobs-resurs med en hanterad identitet genom att inkludera följande egenskap i resursavsnittet i Resource Manager-mallen:
"identity": { "type": "SystemAssigned", }
Den här egenskapen instruerar Azure Resource Manager att skapa och hantera identiteten för ditt Stream Analytics-jobb. Nedan visas ett exempel på 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 jobbet ovan till resursgruppen ExampleGroup med hjälp av azure CLI-kommandot nedan:
az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
När jobbet har skapats använder du Azure Resource Manager för att hämta jobbets fullständiga definition.
az resource show --ids /subscriptions/<subsription-id>/resourceGroups/<resource-group>/providers/Microsoft.StreamAnalytics/StreamingJobs/<resource-name>
Kommandot ovan returnerar ett svar som liknar nedanstående:
{ "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-jobbet på din Power BI-arbetsyta bör du anteckna den returnerade
principalId
.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
Nu när Stream Analytics-jobbet har skapats kan det ges åtkomst till en Power BI-arbetsyta. När du har gett ditt jobb åtkomst kan du tillåta några minuter för identiteten att spridas.
Använda Power BI-användargränssnittet
Kommentar
För att kunna lägga till Stream Analytics-jobbet på din Power BI-arbetsyta med hjälp av användargränssnittet måste du också aktivera åtkomst till tjänstens huvudnamn i inställningarna för utvecklare i Power BI-administratörsportalen. Mer information finns i Kom igång med tjänstens huvudnamn.
Gå till arbetsytans åtkomstinställningar. Mer information finns i Ge åtkomst till din arbetsyta.
Skriv namnet på ditt Stream Analytics-jobb i textrutan och välj Deltagare som åtkomstnivå.
Välj Lägg till och stäng fönstret.
Använda Power BI PowerShell-cmdletar
Installera Power BI
MicrosoftPowerBIMgmt
PowerShell-cmdletarna.Viktigt!
Kontrollera att du använder version 1.0.821 eller senare av cmdletarna.
Install-Module -Name MicrosoftPowerBIMgmt
Logga in på Power BI.
Login-PowerBI
Lägg till ditt Stream Analytics-jobb som deltagare på arbetsytan.
Add-PowerBIWorkspaceUser -WorkspaceId <group-id> -PrincipalId <principal-id> -PrincipalType App -AccessRight Contributor
Använda Power BI REST API
Stream Analytics-jobbet kan också läggas till som deltagare på arbetsytan med rest-API:et "Lägg till gruppanvändare". Fullständig dokumentation för det här API:et finns här: Grupper – Lägg till gruppanvändare.
Exempelbegäran
POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/users
Begärandetext
{
"groupUserAccessRight": "Contributor",
"identifier": "<principal-id>",
"principalType": "App"
}
Använda tjänstens huvudnamn för att bevilja behörighet för ett ASA-jobbs hanterade identitet
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. Det kan göras med tjänstens huvudnamn för att bevilja behörighet för ett ASA-jobbs hanterade identitet. Detta är möjligt med hjälp av PowerShell:
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 skapats för ett Stream Analytics-jobb tas bara bort när jobbet tas bort. 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 jobbet har tagits bort och används om du bestämmer dig för att använda hanterad identitetsautentisering igen.
Begränsningar
Nedan visas begränsningarna för den här funktionen:
Klassiska Power BI-arbetsytor stöds inte.
Azure-konton utan Microsoft Entra-ID.
Åtkomst för flera klientorganisationer stöds inte. Tjänstens huvudnamn som skapats för ett visst Stream Analytics-jobb måste finnas i samma Microsoft Entra-klientorganisation där jobbet skapades och kan inte användas med en resurs som finns i en annan Microsoft Entra-klientorganisation.
Användartilldelad identitet stöds inte. Det innebär att du inte kan ange ditt eget huvudnamn för tjänsten som ska användas av deras Stream Analytics-jobb. Tjänstens huvudnamn måste genereras av Azure Stream Analytics.