Een beheerde identiteit gebruiken om uw Azure Stream Analytics-taak bij Power BI te authenticeren

Managed identity authentication voor uitvoer naar Power BI geeft 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 een gebruiker zich niet meer interactief hoeft aan te melden bij Power BI via de Azure-portal. Daarnaast worden langlopende taken die naar Power BI schrijven, nu beter ondersteund, omdat u de taak niet regelmatig opnieuw hoeft te autoriseren.

In dit artikel leest u hoe u beheerde identiteit kunt inschakelen voor de Power BI uitvoer van een Stream Analytics-taak via de Azure-portal en via een Azure Resource Manager-implementatie.

Belangrijk

Realtime streaming in Power BI wordt buiten gebruik gesteld. Vanaf 31 oktober 2027 kunnen gebruikers geen Azure Stream Analytics taken maken die gebruikmaken van de Power BI-uitvoerconnector en bestaande taken die gebruikmaken van deze connector niet meer worden uitgevoerd. Microsoft raadt aan om Real-Time Intelligence in Microsoft Fabric te verkennen voor realtime scenario's. Zie het artikel power-bi-output.md voor migratierichtlijnen.

Opmerking

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

Prerequisites

Als u deze functie wilt gebruiken, hebt u de volgende vereisten nodig:

Een Stream Analytics-taak maken met behulp van de Azure-portal

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

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

    Schermopname van de pagina Beheerde identiteit met de knop Identiteit selecteren geselecteerd.

  3. Selecteer Identiteit en kies Systeemtoegewezen identiteit. Selecteer vervolgens Opslaan.

    Schermopname van de pagina Identiteit selecteren met Door het systeem toegewezen identiteit geselecteerd.

  4. Controleer bij beheerde identiteit of u de principal-id en principal-naam ziet die aan uw Stream Analytics-taak zijn toegewezen. De principal-naam moet hetzelfde zijn als 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 instructies in de sectie Give the Stream Analytics job access to your Power BI workspace van dit artikel te volgen.

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

    Autoriseren met Power BI-account

  7. Nadat u bent gemachtigd, wordt een vervolgkeuzelijst gevuld met alle werkruimten waar u toegang toe hebt. Selecteer de werkruimte die u in de vorige stap hebt geautoriseerd. Selecteer vervolgens Beheerde identiteit als authenticatiemodus. Selecteer tot slot de knop Opslaan .

    Schermopname met de uitvoerconfiguratie van de Power BI met de modus beheerde identiteitsverificatie geselecteerd.

implementatie van Azure Resource Manager

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 volgende voorbeelden wordt de Azure CLI gebruikt.

  1. Maak een Microsoft. StreamAnalytics/streamingjobs resource met een beheerde identiteit door de volgende eigenschap op te slaan in de resourcesectie van uw Resource Manager-sjabloon:

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

    Deze eigenschap geeft Azure Resource Manager de opdracht om de identiteit van uw Stream Analytics-taak te creëren en te beheren. In het volgende voorbeeld ziet u 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 voorgaande taak in de resourcegroep ExampleGroup met behulp van de volgende Azure CLI opdracht:

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

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

    Met de voorgaande opdracht wordt een antwoord als volgt geretourneerd:

    {
        "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 de Power BI REST API te gebruiken om de Stream Analytics-taak toe te voegen aan uw Power BI werkruimte, noteert u de geretourneerde principalId.

  3. Nu de job is aangemaakt, gaat u verder naar de sectie Toegang geven aan de Stream Analytics-job tot uw Power BI-werkruimte van dit artikel.

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

Nadat u de Stream Analytics-taak hebt gemaakt, geeft u deze toegang tot een Power BI werkruimte. Zodra u toegang tot uw taak verleent, dient u enkele minuten te wachten totdat de identiteit is gepropageerd.

De gebruikersinterface van Power BI gebruiken

Opmerking

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 Ontwikkelingsinstellingen in de Power BI-beheerportal. Zie Aan de slag met een service-principal voor meer informatie.

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

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

  3. Selecteer Toevoegen en sluit het deelvenster.

    Stream Analytics-taak toevoegen aan Power BI werkruimte

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-opdracht toe als bijdrager aan de werkruimte.

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

De Power BI REST API gebruiken

U kunt de Stream Analytics-taak rechtstreeks toevoegen als inzender aan de werkruimte met behulp van de REST API 'Groepgebruiker toevoegen'. Zie Groepen - Groepsgebruiker toevoegen voor volledige documentatie.

Voorbeeldaanvraag

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

Aanvraaglichaam

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

Een service-principal gebruiken om toestemming 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 een service-principal gebruiken om machtigingen te verlenen voor de beheerde identiteit van een ASA-taak. U kunt PowerShell gebruiken voor deze aanpak:

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 u voor een Stream Analytics-taak maakt, wordt alleen verwijderd wanneer u de taak verwijdert. 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 u de taak verwijdert. Als u besluit om verificatie van beheerde identiteit opnieuw te gebruiken, wordt de beheerde identiteit gebruikt.

Limitations

Deze functie heeft de volgende beperkingen:

  • Klassieke Power BI werkruimten worden niet ondersteund.

  • Azure accounts zonder Microsoft Entra ID worden niet ondersteund.

  • Multi-tenant toegang wordt niet ondersteund. De service-principal die u voor een bepaalde Stream Analytics-taak maakt, moet zich in dezelfde Microsoft Entra tenant bevinden waarin u de taak hebt gemaakt. U kunt deze niet gebruiken met een resource die zich in een andere Microsoft Entra tenant bevindt.

  • Door de gebruiker toegewezen identiteit wordt niet ondersteund. U kunt uw eigen service-principal niet invoeren om te worden gebruikt door uw Stream Analytics-taak. Azure Stream Analytics moet de service-principal genereren.

Volgende stappen