Używanie tożsamości zarządzanej do uwierzytelniania zadania usługi Azure Stream Analytics w usłudze Power BI
Uwierzytelnianie tożsamości zarządzanej dla danych wyjściowych usługi Power BI zapewnia bezpośredniemu dostępowi zadań usługi Stream Analytics do obszaru roboczego na koncie usługi Power BI. Ta funkcja umożliwia pełne zautomatyzowanie wdrożeń zadań usługi Stream Analytics, ponieważ nie jest już wymagana, aby użytkownik mógł interaktywnie zalogować się do usługi Power BI za pośrednictwem witryny Azure Portal. Ponadto długotrwałe zadania zapisujące w usłudze 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 danych wyjściowych usługi Power BI zadania usługi Stream Analytics za pośrednictwem witryny Azure Portal i wdrożenia usługi Azure Resource Manager.
Uwaga
W danych wyjściowych usługi Power BI są obsługiwane tylko tożsamości zarządzane przypisane przez system. Obecnie używanie tożsamości zarządzanych przypisanych przez użytkownika z danymi wyjściowymi usługi Power BI nie jest obsługiwane.
Wymagania wstępne
Przed użyciem tej funkcji należy spełnić następujące wymagania wstępne:
- Konto usługi Power BI z licencją Pro.
- Uaktualniony obszar roboczy na koncie usługi Power BI. Aby uzyskać więcej informacji, zobacz Ogłoszenie usługi Power BI.
Tworzenie zadania usługi Stream Analytics przy użyciu witryny Azure Portal
Utwórz nowe zadanie usługi Stream Analytics lub otwórz istniejące zadanie w witrynie Azure Portal.
Na pasku menu znajdującym się po lewej stronie ekranu wybierz pozycję Tożsamość zarządzana znajdującą się w obszarze Ustawienia.
Na stronie Wybieranie tożsamości wybierz pozycję Tożsamość przypisana przez system*. Jeśli wybierzesz tę drugą opcję, określ tożsamość zarządzaną, której chcesz użyć. Następnie wybierz pozycję Zapisz.
Na stronie Tożsamość zarządzana upewnij się, że zobaczysz identyfikator podmiotu zabezpieczeń i nazwę główną przypisaną do zadania usługi Stream Analytics. Główna nazwa powinna być taka sama jak nazwa zadania usługi Stream Analytics.
Przed skonfigurowaniem danych wyjściowych nadaj zadaniu usługi Stream Analytics dostęp do obszaru roboczego usługi Power BI, postępując zgodnie z instrukcjami w sekcji Nadaj zadaniu usługi Stream Analytics dostęp do obszaru roboczego usługi Power BI w tym artykule.
Przejdź do sekcji Dane wyjściowe zadania analizy usługi Stream, wybierz pozycję + Dodaj, a następnie wybierz pozycję Power BI. Następnie wybierz przycisk Autoryzuj i zaloguj się przy użyciu konta usługi Power BI.
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 .
Wdrożenie usługi Azure Resource Manager
Usługa Azure Resource Manager umożliwia pełne zautomatyzowanie wdrażania zadania usługi Stream Analytics. Szablony usługi Resource Manager można wdrożyć przy użyciu programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure. W poniższych przykładach użyto interfejsu wiersza polecenia platformy Azure.
Zasób Microsoft.StreamAnalytics/streamingjobs można utworzyć przy użyciu tożsamości zarządzanej, uwzględniając następującą właściwość w sekcji zasobów szablonu usługi Resource Manager:
"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ą. Poniżej przedstawiono przykładowy szablon usługi 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 usługi Power BI korzystającym z 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óż powyższe zadanie w grupie zasobów ExampleGroup przy użyciu poniższego polecenia interfejsu wiersza polecenia platformy Azure:
az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
Po utworzeniu zadania użyj usługi Azure Resource Manager, aby pobrać pełną definicję zadania.
az resource show --ids /subscriptions/<subsription-id>/resourceGroups/<resource-group>/providers/Microsoft.StreamAnalytics/StreamingJobs/<resource-name>
Powyższe polecenie zwróci odpowiedź podobną do poniższej:
{ "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 usługi Power BI w celu dodania zadania usługi Stream Analytics do obszaru roboczego usługi Power BI, zanotuj zwrócony
principalId
element .Po utworzeniu zadania przejdź do sekcji Nadaj zadaniu usługi Stream Analytics dostęp do obszaru roboczego usługi Power BI w tym artykule.
Przyznawanie zadania usługi Stream Analytics do obszaru roboczego usługi Power BI
Po utworzeniu zadania usługi Stream Analytics można uzyskać dostęp do obszaru roboczego usługi Power BI. Po uzyskaniu dostępu do zadania poczekaj kilka minut na propagację tożsamości.
Korzystanie z interfejsu użytkownika usługi Power BI
Uwaga
Aby dodać zadanie usługi Stream Analytics do obszaru roboczego usługi Power BI przy użyciu interfejsu użytkownika, musisz również włączyć dostęp jednostki usługi w ustawieniach dewelopera w portalu administracyjnym usługi Power BI. Aby uzyskać więcej informacji, zobacz Wprowadzenie do jednostki usługi.
Przejdź do ustawień dostępu obszaru roboczego. Aby uzyskać więcej informacji, zobacz Przyznawanie dostępu do obszaru roboczego.
Wpisz nazwę zadania usługi Stream Analytics w polu tekstowym i wybierz pozycję Współautor jako poziom dostępu.
Wybierz pozycję Dodaj i zamknij okienko.
Używanie poleceń cmdlet programu PowerShell usługi Power BI
Zainstaluj polecenia cmdlet programu PowerShell usługi Power BI
MicrosoftPowerBIMgmt
.Ważne
Upewnij się, że używasz polecenia cmdlet w wersji 1.0.821 lub nowszej.
Install-Module -Name MicrosoftPowerBIMgmt
Zaloguj się do usługi Power BI.
Login-PowerBI
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 również dodać jako współautora do obszaru roboczego przy użyciu interfejsu API REST "Dodaj użytkownika grupy". Pełną dokumentację tego interfejsu API można znaleźć tutaj: 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 wdrożeń automatycznych użycie logowania interakcyjnego w celu udzielenia dostępu do zadania usługi ASA do obszaru roboczego usługi Power BI nie jest możliwe. Można to zrobić przy użyciu jednostki usługi w celu udzielenia uprawnień do tożsamości zarządzanej zadania usługi ASA. Jest to możliwe przy użyciu 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
Usuwanie tożsamości zarządzanej
Tożsamość zarządzana utworzona dla zadania usługi Stream Analytics jest usuwana tylko wtedy, gdy zadanie zostanie usunięte. 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 będzie nadal istnieć do momentu usunięcia zadania i zostanie użyta, jeśli zdecydujesz się ponownie użyć uwierzytelniania tożsamości zarządzanej.
Ograniczenia
Poniżej przedstawiono ograniczenia tej funkcji:
Klasyczne obszary robocze usługi Power BI nie są obsługiwane.
Konta platformy Azure bez identyfikatora Entra Firmy Microsoft.
Dostęp z wieloma dzierżawami nie jest obsługiwany. Jednostka usługi utworzona dla danego zadania usługi Stream Analytics musi znajdować się w tej samej dzierżawie usługi Microsoft Entra, w której utworzono zadanie i nie może być używana z zasobem, który znajduje się w innej dzierżawie firmy Microsoft Entra.
Tożsamość przypisana przez użytkownika nie jest obsługiwana. Oznacza to, że nie możesz wprowadzić własnej jednostki usługi, która będzie używana przez zadanie usługi Stream Analytics. Jednostka usługi musi być generowana przez usługę Azure Stream Analytics.