Beheerde identiteit gebruiken om uw Azure Stream Analytics-taak te verifiëren bij Power BI
Verificatie van beheerde identiteit voor uitvoer naar Power BI geeft Stream Analytics-taken directe toegang tot een werkruimte in uw Power BI-account. Met deze functie kunnen implementaties van Stream Analytics-taken volledig worden geautomatiseerd, omdat een gebruiker zich niet langer 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 periodiek opnieuw hoeft te autoriseren.
In dit artikel wordt beschreven hoe u beheerde identiteit inschakelt voor de Power BI-uitvoer(en) van een Stream Analytics-taak via de 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 kunt gebruiken:
- 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 de Azure Portal
Maak een nieuwe Stream Analytics-taak of open een bestaande taak in de Azure Portal.
Selecteer in de menubalk aan de linkerkant van het scherm beheerde identiteit onder Instellingen.
Selecteer op de pagina Identiteit selecteren de optie Door het systeem toegewezen identiteit*. Als u de laatste optie selecteert, geeft u de beheerde identiteit op die u wilt gebruiken. Selecteer vervolgens Opslaan.
Controleer op de pagina Beheerde identiteit of de principal-id en principalnaam zijn toegewezen aan uw Stream Analytics-taak. De principal-naam moet hetzelfde zijn als de naam van uw Stream Analytics-taak.
Voordat u de uitvoer configureert, geeft u de Stream Analytics-taak toegang tot uw Power BI-werkruimte door de instructies te volgen in de sectie De Stream Analytics-taak toegang geven tot uw Power BI-werkruimte van dit artikel.
Navigeer naar de sectie Uitvoer 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.
Zodra dit is geautoriseerd, wordt een vervolgkeuzelijst ingevuld met alle werkruimten waar u toegang toe hebt. Selecteer de werkruimte die u in de vorige stap hebt geautoriseerd. Selecteer vervolgens Beheerde identiteit als verificatiemodus. Selecteer ten slotte de knop Opslaan .
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.
U kunt een Microsoft.StreamAnalytics/streamingjobs-resource 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 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
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>
De bovenstaande opdracht retourneert een antwoord 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
principalId
.Nu de taak is gemaakt, gaat u verder met de sectie De Stream Analytics-taak toegang geven tot uw Power BI-werkruimte 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 taak toegang hebt gegeven, wacht u enkele minuten voordat de identiteit is 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.
Navigeer naar de toegangsinstellingen van de werkruimte. Zie Toegang geven tot uw werkruimte voor meer informatie.
Typ de naam van uw Stream Analytics-taak in het tekstvak en selecteer Inzender als toegangsniveau.
Selecteer Toevoegen en sluit het deelvenster.
De Power BI PowerShell-cmdlets gebruiken
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
Meld u aan bij Power BI.
Login-PowerBI
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 'Groepsgebruiker toevoegen'. Volledige documentatie voor deze API vindt u hier: Groepen - Groepsgebruiker toevoegen.
Voorbeeldaanvraag
POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/users
Aanvraagbody
{
"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. Dit kan worden gedaan met behulp van de 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. Het is niet mogelijk om de beheerde identiteit te 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 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 Azure Active Directory.
Toegang tot meerdere tenants wordt niet ondersteund. De service-principal die voor een bepaalde Stream Analytics-taak is gemaakt, moet zich bevinden in dezelfde Azure Active Directory-tenant waarin de taak is gemaakt en kan niet worden gebruikt met een resource die zich in een andere Azure Active Directory-tenant bevindt.
Door de gebruiker toegewezen identiteit wordt niet ondersteund. Dit betekent dat u uw eigen service-principal niet kunt invoeren voor gebruik door hun Stream Analytics-taak. De service-principal moet worden gegenereerd door Azure Stream Analytics.