Verwenden Sie verwaltete Identitäten, um Ihre Azure Stream Analytics-Jobs bei Power BI zu authentifizieren

Verwaltete Identitätsauthentifizierung für die Ausgabe an Power BI bietet Stream Analytics-Aufträgen direkten Zugriff auf einen Arbeitsbereich innerhalb Ihres Power BI-Kontos. Mit diesem Feature können Stream Analytics-Aufträge vollständig automatisiert werden, da sich ein Benutzer nicht mehr über das Azure-Portal interaktiv bei Power BI anmelden muss. Darüber hinaus werden langlaufende Aufgaben, die Daten an Power BI senden, nun besser unterstützt, da eine regelmäßige erneute Autorisierung des Auftrags nicht mehr erforderlich ist.

In diesem Artikel erfahren Sie, wie Sie verwaltete Identität für die Power BI Ausgaben eines Stream Analytics-Auftrags über das Azure Portal und über eine Azure Resource Manager Bereitstellung aktivieren.

Von Bedeutung

Echtzeitstreaming in Power BI wird eingestellt. Ab dem 31. Oktober 2027 können Benutzer keine Azure Stream Analytics Aufträge mehr erstellen, die den Power BI-Ausgangsconnector verwenden, und vorhandene Aufträge, die diesen Connector verwenden, werden nicht mehr ausgeführt. Microsoft empfiehlt, Real-Time Intelligence in Microsoft Fabric für Echtzeitszenarien zu untersuchen. Anleitungen zur Migration finden Sie im power-bi-output.md Artikel.

Note

Nur system zugewiesen verwaltete Identitäten werden mit der Power BI Ausgabe unterstützt. Derzeit wird die Verwendung von vom Benutzer zugewiesenen verwalteten Identitäten mit der Power BI Ausgabe nicht unterstützt.

Voraussetzungen

Um dieses Feature verwenden zu können, benötigen Sie die folgenden Voraussetzungen:

  • Ein Power BI Konto mit einer Pro-Lizenz.
  • Ein aktualisierter Arbeitsbereich innerhalb Ihres Power BI Kontos. Weitere Informationen finden Sie in der Ankündigung Power BI.

Erstellen eines Stream Analytics-Auftrags mithilfe des Azure Portals

  1. Erstellen Sie einen neuen Stream Analytics-Auftrag, oder öffnen Sie einen vorhandenen Auftrag im Azure-Portal.

  2. Wählen Sie auf der Menüleiste auf der linken Seite des Bildschirms unter "Einstellungen" die Option "Verwaltete Identität" aus.

    Screenshot der Seite

  3. Wählen Sie unter "Identität auswählen" die Option "System zugewiesene Identität" aus. Wählen Sie anschließend Speichern aus.

    Screenshot der Seite

  4. Vergewissern Sie sich bei verwalteter Identität, dass die Prinzipal-ID und der Prinzipalname Ihrem Stream Analytics-Auftrag zugewiesen sind. Der Prinzipalname sollte mit dem Namen Ihres Stream Analytics-Auftrags übereinstimmen.

  5. Bevor Sie die Ausgabe konfigurieren, gewähren Sie dem Stream Analytics-Auftrag Zugriff auf Ihren Power BI-Arbeitsbereich, indem Sie den Anweisungen im Abschnitt Give the Stream Analytics job access to your Power BI workspace dieses Artikels folgen.

  6. Wechseln Sie zum Abschnitt Outputs Ihres Stream Analytics-Auftrags, wählen Sie + Add aus, und wählen Sie dann Power BI aus. Wählen Sie dann die Schaltfläche Authorize aus, und melden Sie sich mit Ihrem Power BI Konto an.

    Autorisieren mit Power BI-Konto

  7. Nachdem Sie autorisiert wurden, füllt eine Dropdownliste alle Arbeitsbereiche auf, auf die Sie Zugriff haben. Wählen Sie den Arbeitsbereich aus, den Sie im vorherigen Schritt autorisiert haben. Wählen Sie dann verwaltete Identität als Authentifizierungsmodus aus. Wählen Sie schließlich die Schaltfläche " Speichern" aus .

    Screenshot mit der Power BI Ausgabekonfiguration mit ausgewähltem Modus für verwaltete Identitätsauthentifizierung.

Azure Resource Manager-Bereitstellung

mit Azure Resource Manager können Sie die Bereitstellung Ihres Stream Analytics-Auftrags vollständig automatisieren. Sie können Resource Manager Vorlagen entweder mit Azure PowerShell oder dem Azure CLI bereitstellen. In den folgenden Beispielen wird die Azure CLI verwendet.

  1. Erstellen Sie eine Microsoft. StreamAnalytics/streamingjobs Ressource mit einer verwalteten Identität durch Einschließen der folgenden Eigenschaft im Ressourcenabschnitt Ihrer Resource Manager-Vorlage:

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

    Diese Eigenschaft weist Azure Resource Manager an, die Identität für Ihren Stream Analytics-Auftrag zu erstellen und zu verwalten. Das folgende Beispiel zeigt eine Resource Manager-Vorlage, die einen Stream Analytics-Job mit einer aktivierten verwalteten Identität und eine Power BI-Ausgabesenke bereitstellt, die die verwaltete Identität verwendet.

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

    Stellen Sie den vorherigen Auftrag in der Ressourcengruppe ExampleGroup mithilfe des folgenden befehls Azure CLI bereit:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. Nachdem Sie den Auftrag erstellt haben, verwenden Sie Azure Resource Manager, um die vollständige Definition des Auftrags abzurufen.

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

    Der vorangehende Befehl gibt eine Antwort wie die folgende zurück:

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

    Wenn Sie beabsichtigen, die Power BI REST-API zum Hinzufügen des Stream Analytics-Auftrags zu Ihrem Power BI Arbeitsbereich zu verwenden, notieren Sie sich die zurückgegebene principalId.

  3. Nachdem der Job erstellt wurde, fahren Sie mit dem Abschnitt Geben Sie dem Stream Analytics-Job Zugriff auf Ihren Power BI-Arbeitsbereich dieses Artikels fort.

Gewähren Sie dem Stream Analytics-Auftrag Zugriff auf Ihren Power BI-Arbeitsbereich

Nachdem Sie den Stream Analytics-Auftrag erstellt haben, gewähren Sie ihm Zugriff auf einen Power BI Arbeitsbereich. Nachdem Sie Ihrem Job Zugriff erteilt haben, lassen Sie einige Minuten verstreichen, damit die Identität verbreitet wird.

Verwenden der Power BI-Benutzeroberfläche

Note

Um den Stream Analytics-Job mithilfe der Benutzeroberfläche zu Ihrem Power BI-Arbeitsbereich hinzuzufügen, müssen Sie auch den Dienstprinzipal-Zugriff in den Entwickler-Einstellungen im Power BI Admin-Portal aktivieren. Weitere Informationen finden Sie unter „Erste Schritte mit einem Dienstprinzipal“.

  1. Wechseln Sie zu den Zugriffseinstellungen des Arbeitsbereichs. Weitere Informationen finden Sie unter "Gewähren des Zugriffs auf Ihren Arbeitsbereich".

  2. Geben Sie den Namen Ihres Stream Analytics-Auftrags in das Textfeld ein, und wählen Sie "Mitwirkender " als Zugriffsebene aus.

  3. Wählen Sie "Hinzufügen" aus, und schließen Sie den Bereich.

    Stream Analytics-Auftrag zum Power BI-Arbeitsbereich hinzufügen

Verwenden Sie die Power BI PowerShell-Cmdlets

  1. Installieren Sie die Power BI MicrosoftPowerBIMgmt PowerShell-Cmdlets.

    Von Bedeutung

    Stellen Sie sicher, dass Sie Version 1.0.821 oder höher der Cmdlets verwenden.

    Install-Module -Name MicrosoftPowerBIMgmt
    
  2. Melden Sie sich bei Power BI an.

    Login-PowerBI
    
  3. Fügen Sie Ihren Stream Analytics-Job als Mitwirkender zum Arbeitsbereich hinzu.

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

Verwenden der Power BI-REST-API

Sie können den Stream Analytics-Auftrag als Mitwirkender zum Arbeitsbereich hinzufügen, indem Sie die REST-API "Gruppenbenutzer hinzufügen" direkt verwenden. Vollständige Dokumentation finden Sie unter "Gruppen – Gruppenbenutzer hinzufügen".

Beispiel für eine Anforderung

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

Anforderungstext

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

Verwenden Sie einen Dienstprinzipal, um der verwalteten Identität eines ASA-Jobs Berechtigungen zu erteilen.

Bei automatisierten Bereitstellungen ist es nicht möglich, eine interaktive Anmeldung zu nutzen, um einem ASA-Auftrag Zugriff auf einen Power BI-Arbeitsbereich zu gewähren. Sie können einen Dienstprinzipal verwenden, um Berechtigungen für die verwaltete Identität eines ASA-Jobs zu gewähren. Sie können PowerShell für diesen Ansatz verwenden:

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

Verwaltete Identität entfernen

Die verwaltete Identität, die Sie für einen Stream Analytics-Auftrag erstellen, wird nur gelöscht, wenn Sie den Auftrag löschen. Es gibt keine Möglichkeit, die verwaltete Identität zu löschen, ohne den Auftrag zu löschen. Wenn Sie die verwaltete Identität nicht mehr verwenden möchten, können Sie die Authentifizierungsmethode für die Ausgabe ändern. Die verwaltete Identität ist weiterhin vorhanden, bis Sie den Auftrag löschen. Wenn Sie die verwaltete Identitätsauthentifizierung erneut verwenden möchten, wird die verwaltete Identität verwendet.

Einschränkungen

Für diese Funktion gelten folgende Einschränkungen:

  • Klassische Power BI Arbeitsbereiche werden nicht unterstützt.

  • Azure Konten ohne Microsoft Entra ID werden nicht unterstützt.

  • Der Mehrinstanzenzugriff wird nicht unterstützt. Der Dienstprinzipal, den Sie für einen bestimmten Stream Analytics-Job erstellen, muss sich im selben Microsoft Entra-Mandanten befinden, in dem Sie den Job erstellt haben. Sie können sie nicht mit einer Ressource verwenden, die sich in einem anderen Microsoft Entra Mandanten befindet.

  • Die vom Benutzer zugewiesene Identität wird nicht unterstützt. Sie können keinen eigenen Dienstprinzipal eingeben, der von Ihrem Stream Analytics-Auftrag verwendet werden soll. Azure Stream Analytics muss das Dienstprinzipalobjekt generieren.

Nächste Schritte