Używanie tożsamości zarządzanej do uwierzytelniania zadania Azure Stream Analytics do Power BI

Zarządzane uwierzytelnianie tożsamości dla danych wyjściowych do Power BI zapewnia usłudze Stream Analytics bezpośredni dostęp do obszaru roboczego w ramach konta Power BI. Ta funkcja umożliwia pełne zautomatyzowanie wdrożeń zadań usługi Stream Analytics, ponieważ użytkownik nie musi już interaktywnie logować się do Power BI za pośrednictwem portalu Azure. Ponadto długotrwałe zadania zapisu w Power BI są teraz lepiej obsługiwane, ponieważ nie trzeba okresowo ponownie uwierzytelniać zadania.

W tym artykule pokazano, jak włączyć tożsamość zarządzaną dla wyników Power BI z usługi Stream Analytics za pośrednictwem portalu Azure oraz wdrażaniem przez Azure Resource Manager.

Ważna

Przesyłanie strumieniowe w czasie rzeczywistym w usłudze Power BI jest wycofywane. Od 31 października 2027 r. użytkownicy nie mogą tworzyć zadań Azure Stream Analytics korzystających z łącznika danych wyjściowych Power BI i istniejących zadań, które używają tego łącznika, przestają działać. Microsoft zaleca eksplorowanie analizy Real-Time w Microsoft Fabric w scenariuszach czasu rzeczywistego. Aby uzyskać wskazówki dotyczące migracji, zobacz artykuł power-bi-output.md.

Uwaga / Notatka

Tylko przypisane przez system tożsamości zarządzane są obsługiwane z danymi wyjściowymi Power BI. Obecnie używanie przypisanych użytkownikowi tożsamości zarządzanych z danymi wyjściowymi Power BI nie jest obsługiwane.

Wymagania wstępne

Do korzystania z tej funkcji potrzebne są następujące wymagania wstępne:

  • Konto Power BI z licencją Pro.
  • Uaktualniony obszar roboczy na koncie Power BI. Aby uzyskać więcej informacji, zobacz ogłoszenie Power BI.

Tworzenie zadania usługi Stream Analytics przy użyciu portalu Azure

  1. Utwórz nowe zadanie usługi Stream Analytics lub otwórz istniejące zadanie w portalu Azure.

  2. Na pasku menu po lewej stronie ekranu wybierz pozycję Tożsamość zarządzana w obszarze Ustawienia.

    Zrzut ekranu pokazujący stronę Tożsamości Zarządzanej z przyciskiem Wybierz tożsamość zaznaczonym jako wybrany.

  3. W opcji Wybierz tożsamość wybierz Tożsamość przypisana przez system. Następnie wybierz pozycję Zapisz.

    Zrzut ekranu przedstawiający stronę Wybierz tożsamość z wybraną tożsamością przypisaną przez system.

  4. W sekcji Tożsamość zarządzana upewnij się, że widzisz Identyfikator zasadniczy i Nazwa zasadnicza przypisane do swojego zadania usługi Stream Analytics. Główna nazwa powinna być taka sama jak nazwa zadania usługi Stream Analytics.

  5. Przed skonfigurowaniem danych wyjściowych udziel zadaniu usługi Stream Analytics dostępu do obszaru roboczego Power BI, postępując zgodnie z instrukcjami w sekcji Nadawanie dostępu zadaniu usługi Stream Analytics do obszaru roboczego Power BI w tym artykule.

  6. Przejdź do sekcji Outputs zadania usługi Stream Analytics, wybierz pozycję + Dodaj, a następnie wybierz Power BI. Następnie wybierz przycisk Authorize i zaloguj się przy użyciu konta Power BI.

    Autoryzuj przy użyciu konta Power BI

  7. Po autoryzacji lista rozwijana zostanie wypełniona wszystkimi obszarami roboczymi, do których masz dostęp. Wybierz obszar roboczy autoryzowany w poprzednim kroku. Następnie wybierz pozycję Tożsamość zarządzana jako tryb uwierzytelniania. Na koniec wybierz przycisk Zapisz .

    Zrzut ekranu przedstawiający konfigurację danych wyjściowych Power BI z wybranym trybem uwierzytelniania tożsamości zarządzanej.

Wdrożenie usługi Azure Resource Manager

Azure Resource Manager umożliwia pełne zautomatyzowanie wdrażania zadania usługi Stream Analytics. Szablony Resource Manager można wdrażać przy użyciu Azure PowerShell lub Azure CLI. W poniższych przykładach użyto Azure CLI.

  1. Utwórz zasób Microsoft.StreamAnalytics/streamingjobs z tożsamością zarządzaną, uwzględniając następującą właściwość w sekcji zasobów w szablonie menedżera zasobów:

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

    Ta właściwość informuje usługę Azure Resource Manager o utworzeniu tożsamości zadania usługi Stream Analytics i zarządzaniu nią. W poniższym przykładzie przedstawiono szablon Resource Manager, który wdraża zadanie usługi Stream Analytics z włączoną tożsamością zarządzaną i ujściem danych wyjściowych Power BI używającym tożsamości zarządzanej:

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

    Wdróż poprzednie zadanie w grupie zasobów ExampleGroup przy użyciu następującego polecenia Azure CLI:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. Po utworzeniu zadania użyj Azure Resource Manager, aby pobrać pełną definicję zadania.

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

    Powyższe polecenie zwraca odpowiedź podobną do następującej:

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

    Jeśli planujesz użyć interfejsu API REST Power BI w celu dodania zadania usługi Stream Analytics do obszaru roboczego Power BI, zanotuj zwrócony principalId.

  3. Po utworzeniu zadania przejdź do sekcji Nadaj zadaniu usługi Stream Analytics dostęp do obszaru roboczego Power BI w tym artykule.

Przyznaj zadaniu Stream Analytics dostęp do obszaru roboczego Power BI

Po utworzeniu zadania usługi Stream Analytics przyznaj mu dostęp do obszaru roboczego Power BI. Po udzieleniu dostępu do zadania poczekaj kilka minut na propagację tożsamości.

Korzystanie z interfejsu użytkownika Power BI

Uwaga / Notatka

Aby dodać zadanie Stream Analytics do obszaru roboczego Power BI za pomocą interfejsu użytkownika, należy również włączyć dostęp principal serwisu w ustawieniach dewelopera w portalu administracyjnym Power BI. Aby uzyskać więcej informacji, zobacz Wprowadzenie do jednostki usługi.

  1. Przejdź do ustawień dostępu obszaru roboczego. Aby uzyskać więcej informacji, zobacz Przyznawanie dostępu do obszaru roboczego.

  2. Wprowadź nazwę zadania usługi Stream Analytics w polu tekstowym i wybierz pozycję Współautor jako poziom dostępu.

  3. Wybierz pozycję Dodaj i zamknij okienko.

    Dodaj zadanie usługi Stream Analytics do Power BI obszaru roboczego

Używanie poleceń cmdlet programu PowerShell Power BI

  1. Zainstaluj cmdlety PowerShell Power BI MicrosoftPowerBIMgmt.

    Ważna

    Upewnij się, że używasz polecenia cmdlet w wersji 1.0.821 lub nowszej.

    Install-Module -Name MicrosoftPowerBIMgmt
    
  2. Zaloguj się do Power BI.

    Login-PowerBI
    
  3. Dodaj zadanie usługi Stream Analytics jako współautora do obszaru roboczego.

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

Korzystanie z interfejsu API REST usługi Power BI

Zadanie usługi Stream Analytics można dodać jako współautora do obszaru roboczego, korzystając bezpośrednio z interfejsu API REST "Dodaj użytkownika grupy". Aby uzyskać pełną dokumentację, zobacz Grupy — Dodawanie użytkownika grupy.

Przykładowe żądanie

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

Treść żądania

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

Używanie jednostki usługi do udzielania uprawnień dla tożsamości zarządzanej zadania usługi ASA

W przypadku automatycznych wdrożeń użycie logowania interaktywnego do przyznania zadaniu ASA dostępu do obszaru roboczego Power BI nie jest możliwe. Możesz użyć głównego użytkownika usługi, aby przyznać uprawnienia do zarządzanej tożsamości zadania ASA. W tym podejściu można użyć programu PowerShell:

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

Usuń tożsamość zarządzaną

Tożsamość zarządzana utworzona dla zadania usługi Stream Analytics jest usuwana tylko po usunięciu zadania. Nie ma możliwości usunięcia tożsamości zarządzanej bez usuwania zadania. Jeśli nie chcesz już używać tożsamości zarządzanej, możesz zmienić metodę uwierzytelniania danych wyjściowych. Tożsamość zarządzana nadal istnieje do momentu usunięcia zadania. Jeśli zdecydujesz się ponownie użyć uwierzytelniania tożsamości zarządzanej, zostanie użyta tożsamość zarządzana.

Limitations

Ta funkcja ma następujące ograniczenia:

  • Klasyczne obszary robocze Power BI nie są obsługiwane.

  • konta Azure bez Microsoft Entra ID nie są obsługiwane.

  • Dostęp dla wielu dzierżawców nie jest obsługiwany. Jednostka usługi utworzona dla danego zadania usługi Stream Analytics musi znajdować się w tej samej dzierżawie Microsoft Entra, w której utworzono zadanie. Nie można jej używać z zasobem, który znajduje się w innej dzierżawie Microsoft Entra.

  • Tożsamość przypisana przez użytkownika nie jest obsługiwana. Nie można wprowadzić własnej zasady usługi do użycia przez zadanie Stream Analytics. Azure Stream Analytics musi wygenerować jednostkę usługi.

Następne kroki