Beheerde identiteit gebruiken om uw Azure Stream Analytics-taak te verifiëren bij Power BI

Verificatie van beheerde identiteit voor uitvoer naar Power BI biedt Stream Analytics-taken directe toegang tot een werkruimte binnen uw Power BI-account. Met deze functie kunnen implementaties van Stream Analytics-taken volledig worden geautomatiseerd, omdat het niet meer nodig is voor een gebruiker om zich interactief aan te melden bij Power BI via Azure Portal. Bovendien worden langlopende taken die schrijven naar Power BI nu beter ondersteund, omdat u de taak niet periodiek opnieuw hoeft te autoriseren.

In dit artikel leest u hoe u Beheerde identiteit inschakelt voor de Power BI-uitvoer(en) van een Stream Analytics-taak via Azure Portal en via een Azure Resource Manager-implementatie.

Notitie

Alleen door het systeem toegewezen beheerde identiteiten worden ondersteund met de Power BI-uitvoer. Momenteel wordt het gebruik van door de gebruiker toegewezen beheerde identiteiten met de Power BI-uitvoer niet ondersteund.

Vereisten

U moet aan de volgende vereisten voldoen voordat u deze functie gebruikt:

  • Een Power BI-account met een Pro-licentie.
  • Een bijgewerkte werkruimte in uw Power BI-account. Zie de aankondiging van Power BI voor meer informatie.

Een Stream Analytics-taak maken met behulp van Azure Portal

  1. Maak een nieuwe Stream Analytics-taak of open een bestaande taak in Azure Portal.

  2. Selecteer in de menubalk aan de linkerkant van het scherm beheerde identiteit onder Instellingen.

    Screenshot showing the Managed Identity page with Select identity button selected.

  3. Selecteer op de pagina Identiteit selecteren de door het systeem toegewezen identiteit*. Als u de laatste optie selecteert, geeft u de beheerde identiteit op die u wilt gebruiken. Selecteer vervolgens Opslaan.

    Screenshot showing the Select identity page with System assigned identity selected.

  4. Controleer op de pagina Beheerde identiteit of u de principal-id en principal-naam ziet die is toegewezen aan uw Stream Analytics-taak. De principal-naam moet gelijk zijn aan de naam van uw Stream Analytics-taak.

  5. Voordat u de uitvoer configureert, geeft u de Stream Analytics-taak toegang tot uw Power BI-werkruimte door de aanwijzingen te volgen in de sectie Stream Analytics-taak toegang geven tot uw Power BI-werkruimtesectie van dit artikel.

  6. Navigeer naar de sectie Uitvoer van de taak van uw Stream Analytics-taak, selecteer + Toevoegen en kies vervolgens Power BI. Selecteer vervolgens de knop Autoriseren en meld u aan met uw Power BI-account.

    Authorize with Power BI account

  7. Zodra dit is geautoriseerd, wordt er een vervolgkeuzelijst ingevuld met alle werkruimten die u toegang hebt. Selecteer de werkruimte die u in de vorige stap hebt geautoriseerd. Selecteer vervolgens Beheerde identiteit als de verificatiemodus. Selecteer tot slot de knop Opslaan .

    Screenshot showing the Power BI output configuration with Managed identity authentication mode selected.

Implementatie van Azure Resource Manager

Met Azure Resource Manager kunt u de implementatie van uw Stream Analytics-taak volledig automatiseren. U kunt Resource Manager-sjablonen implementeren met behulp van Azure PowerShell of de Azure CLI. In de onderstaande voorbeelden wordt de Azure CLI gebruikt.

  1. U kunt een Resource microsoft.StreamAnalytics/streamingjobs maken met een beheerde identiteit door de volgende eigenschap op te slaan in de resourcesectie van uw Resource Manager-sjabloon:

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

    Deze eigenschap vertelt Azure Resource Manager om de identiteit voor uw Stream Analytics-taak te maken en te beheren. Hieronder ziet u een voorbeeld van een Resource Manager-sjabloon waarmee een Stream Analytics-taak wordt geïmplementeerd waarvoor Beheerde identiteit is ingeschakeld en een Power BI-uitvoersink die gebruikmaakt van beheerde identiteit:

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

    Implementeer de bovenstaande taak in de Resourcegroep ExampleGroup met behulp van de onderstaande Azure CLI-opdracht:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. Nadat de taak is gemaakt, gebruikt u Azure Resource Manager om de volledige definitie van de taak op te halen.

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

    Met de bovenstaande opdracht wordt een antwoord geretourneerd zoals hieronder:

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

    Als u van plan bent om de Power BI REST API te gebruiken om de Stream Analytics-taak toe te voegen aan uw Power BI-werkruimte, noteert u de geretourneerde principalIdtaak.

  3. Nu de taak is gemaakt, gaat u verder met de sectie Stream Analytics-taak toegang geven tot uw Power BI-werkruimtesectie van dit artikel.

De Stream Analytics-taak toegang geven tot uw Power BI-werkruimte

Nu de Stream Analytics-taak is gemaakt, kan deze toegang krijgen tot een Power BI-werkruimte. Nadat u uw taaktoegang hebt verleend, kunt u enkele minuten toestaan voordat de identiteit wordt doorgegeven.

De Gebruikersinterface van Power BI gebruiken

Notitie

Als u de Stream Analytics-taak wilt toevoegen aan uw Power BI-werkruimte met behulp van de gebruikersinterface, moet u ook toegang tot de service-principal inschakelen in de instellingen voor ontwikkelaars in de Power BI-beheerportal. Zie Aan de slag met een service-principal voor meer informatie.

  1. Navigeer naar de toegangsinstellingen van de werkruimte. Zie Toegang verlenen tot uw werkruimte voor meer informatie.

  2. Typ de naam van uw Stream Analytics-taak in het tekstvak en selecteer Inzender als toegangsniveau.

  3. Selecteer Toevoegen en sluit het deelvenster.

    Add Stream Analytics job to Power BI workspace

De Power BI PowerShell-cmdlets gebruiken

  1. Installeer de Power BI MicrosoftPowerBIMgmt PowerShell-cmdlets.

    Belangrijk

    Zorg ervoor dat u versie 1.0.821 of hoger van de cmdlets gebruikt.

    Install-Module -Name MicrosoftPowerBIMgmt
    
  2. Meld u aan bij Power BI.

    Login-PowerBI
    
  3. Voeg uw Stream Analytics-taak toe als inzender aan de werkruimte.

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

De Power BI REST API gebruiken

De Stream Analytics-taak kan ook rechtstreeks worden toegevoegd als inzender aan de werkruimte met behulp van de REST API Groep toevoegen. Volledige documentatie voor deze API vindt u hier: Groepen - Groepsgebruiker toevoegen.

Voorbeeldaanvraag

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

Aanvraagtekst

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

Een service-principal gebruiken om machtigingen te verlenen voor de beheerde identiteit van een ASA-taak

Voor geautomatiseerde implementaties is het gebruik van een interactieve aanmelding om een ASA-taak toegang te geven tot een Power BI-werkruimte niet mogelijk. U kunt dit doen met behulp van een service-principal om machtigingen te verlenen voor de beheerde identiteit van een ASA-taak. Dit is mogelijk met Behulp van PowerShell:

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

Beheerde identiteit verwijderen

De beheerde identiteit die voor een Stream Analytics-taak is gemaakt, wordt alleen verwijderd wanneer de taak wordt verwijderd. U kunt de beheerde identiteit niet verwijderen zonder de taak te verwijderen. Als u de beheerde identiteit niet meer wilt gebruiken, kunt u de verificatiemethode voor de uitvoer wijzigen. De beheerde identiteit blijft bestaan totdat de taak wordt verwijderd en wordt gebruikt als u besluit om de verificatie van beheerde identiteit opnieuw te gebruiken.

Beperkingen

Hieronder ziet u de beperkingen van deze functie:

  • Klassieke Power BI-werkruimten worden niet ondersteund.

  • Azure-accounts zonder Microsoft Entra-id.

  • Toegang met meerdere tenants wordt niet ondersteund. De service-principal die is gemaakt voor een bepaalde Stream Analytics-taak, moet zich in dezelfde Microsoft Entra-tenant bevinden waarin de taak is gemaakt en kan niet worden gebruikt met een resource die zich in een andere Microsoft Entra-tenant bevindt.

  • Door de gebruiker toegewezen identiteit wordt niet ondersteund. Dit betekent dat u uw eigen service-principal niet kunt invoeren om te worden gebruikt door hun Stream Analytics-taak. De service-principal moet worden gegenereerd door Azure Stream Analytics.

Volgende stappen