Utiliser une identité managée pour authentifier votre travail Azure Stream Analytics vers Power BI (préversion)Use Managed Identity to authenticate your Azure Stream Analytics job to Power BI (preview)

L’Authentification d’une identité managée pour la sortie vers Power BI donne aux travaux Stream Analytics un accès direct à un espace de travail au sein de votre compte Power BI.Managed Identity authentication for output to Power BI gives Stream Analytics jobs direct access to a workspace within your Power BI account. Cette fonctionnalité permet de déployer des tâches Stream Analytics entièrement automatisées, car il n’est plus nécessaire pour un utilisateur de se connecter de manière interactive à Power BI via le Portail Azure.This feature allows for deployments of Stream Analytics jobs to be fully automated, since it is no longer required for a user to interactively log in to Power BI via the Azure portal. En outre, les travaux durables qui écrivent dans Power BI sont désormais mieux pris en charge, car vous n’aurez pas besoin de réautoriser régulièrement le travail.Additionally, long running jobs that write to Power BI are now better supported, since you will not need to periodically reauthorize the job.

Cet article vous montre comment activer une identité managée pour une ou des sorties Power BI d’un travail Azure Stream Analytics via le Portail Azure et un déploiement d’Azure Resource Manager.This article shows you how to enable Managed Identity for the Power BI output(s) of a Stream Analytics job through the Azure portal and through an Azure Resource Manager deployment.

PrérequisPrerequisites

Les éléments suivants sont requis pour l’utilisation de cette fonctionnalité :The following are required for using this feature:

Créer un travail Stream Analytics à l’aide du Portail AzureCreate a Stream Analytics job using the Azure portal

  1. Créez un travail Stream Analytics ou ouvrez un travail existant dans le portail Azure.Create a new Stream Analytics job or open an existing job in the Azure portal. Dans la barre de menus située sur le côté gauche de l’écran, sélectionnez Identité managée sous Configurer.From the menu bar located on the left side of the screen, select Managed Identity located under Configure. Vérifiez que l’option « Utiliser l’identité managée attribuée par le système » est sélectionnée, puis sélectionnez le bouton Enregistrer en bas de l’écran.Ensure that "Use System-assigned Managed Identity" is selected and then select the Save button on the bottom of the screen.

    Configurer une identité managée Stream Analytics

  2. Avant de configurer la sortie, accordez au travail Stream Analytics l’accès à votre espace de travail Power BI en suivant les instructions fournies dans la section Autoriser le travail Stream Analytics à accéder à votre espace de travail Power BI de cet article.Before configuring the output, give the Stream Analytics job access to your Power BI workspace by following the directions in the Give the Stream Analytics job access to your Power BI workspace section of this article.

  3. Accédez à la section Sorties de votre tâche Stream Analytics, sélectionnez + Ajouter, puis Power BI.Navigate to the Outputs section of your Stream Analytic's job, select + Add, and then choose Power BI. Ensuite, sélectionnez le bouton Autoriser et connectez-vous avec votre compte Power BI.Then, select the Authorize button and log in with your Power BI account.

    Autoriser à l’aide d’un compte Power BI

  4. Une fois l’autorisation accordée, une liste déroulante est remplie avec tous les espaces de travail auxquels vous avez accès.Once authorized, a dropdown list will be populated with all of the workspaces you have access to. Sélectionnez l’espace de travail que vous avez autorisé à l’étape précédente.Select the workspace that you authorized in the previous step. Puis sélectionnez Identité managée comme « Mode d’authentification ».Then select Managed Identity as the "Authentication mode". Enfin, sélectionnez le bouton Enregistrer.Finally, select the Save button.

    Configurer la sortie Power BI avec une identité managée

Déploiement Azure Resource ManagerAzure Resource Manager deployment

Azure Resource Manager vous permet d’automatiser entièrement le déploiement de votre travail Stream Analytics.Azure Resource Manager allows you to fully automate the deployment of your Stream Analytics job. Vous pouvez déployer des modèles Resource Manager à l’aide d’Azure PowerShell ou de l’interface de ligne de commande Azure.You can deploy Resource Manager templates using either Azure PowerShell or the Azure CLI. Les exemples suivants utilisent l’interface de ligne de commande Azure.The below examples use the Azure CLI.

  1. Vous pouvez créer une ressource Microsoft.StreamAnalytics/streamingjobs avec une identité managée en incluant la propriété suivante dans la section ressources de votre modèle Resource Manager :You can create a Microsoft.StreamAnalytics/streamingjobs resource with a Managed Identity by including the following property in the resource section of your Resource Manager template:

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

    Cette propriété indique à Azure Resource Manager de créer et manager l’identité de votre travail Stream Analytics.This property tells Azure Resource Manager to create and manage the identity for your Stream Analytics job. Voici un exemple de modèle Resource Manager qui déploie un travail Stream Analytics avec l’identité managée activée et un récepteur de sortie Power BI qui utilise l’identité managée :Below is an example Resource Manager template that deploys a Stream Analytics job with Managed Identity enabled and a Power BI output sink that uses Managed Identity:

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

    Déployez le travail ci-dessus dans le groupe de ressources ExampleGroup à l’aide de l’interface de ligne de commande Azure ci-dessous :Deploy the job above to the Resource group ExampleGroup using the below Azure CLI command:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. Une fois le travail créé, utilisez Azure Resource Manager pour récupérer la définition complète du travail.After the job is created, use Azure Resource Manager to retrieve the job's full definition.

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

    La commande ci-dessus retourne une réponse similaire à ce qui suit :The above command will return a response like the below:

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

    Si vous envisagez d’utiliser l’API REST de Power BI pour ajouter le travail Stream Analytics à votre espace de travail Power BI, notez la valeur « principalId » renvoyée.If you plan to use Power BI's REST API to add the Stream Analytics job to your Power BI workspace, make note of the returned "principalId".

  3. Maintenant que le travail est créé, passez à la section Autoriser le travail Stream Analytics à accéder à votre espace de travail Power BI de cet article.Now that the job is created, continue to the Give the Stream Analytics job access to your Power BI workspace section of this article.

Autoriser le travail Stream Analytics à accéder à votre espace de travail Power BIGive the Stream Analytics job access to your Power BI workspace

À présent que le travail Stream Analytics a été créé, il peut être autorisé à accéder à un espace de travail Power BI.Now that the Stream Analytics job has been created, it can be given access to a Power BI workspace. Une fois que vous avez donné l’accès à votre travail, quelques minutes sont nécessaires pour que l’identité se propage.Once you have given your job access, allow a few minutes for the identity to propagate.

Utiliser l’interface utilisateur Power BIUse the Power BI UI

Notes

Pour ajouter le travail Stream Analytics à votre espace de travail Power BI à l’aide de l’interface utilisateur, vous devez également activer l’accès au principal du service dans les Paramètres du développeur dans le portail d’administration Power BI.In order to add the Stream Analytics job to your Power BI workspace using the UI, you also have to enable service principal access in the Developer settings in the Power BI admin portal. Pour plus d’informations, consultez Bien démarrer avec un principal de service.See Get started with a service principal for more details.

  1. Accédez aux paramètres d’accès de l’espace de travail.Navigate to the workspace's access settings. Consultez cet article pour plus de détails : Autoriser l’accès à votre espace de travail.See this article for more details: Give access to your workspace.

  2. Saisissez le nom de votre travail Stream Analytics dans la zone de texte et sélectionnez Contributeur comme niveau d’accès.Type the name of your Stream Analytics job in the text box and select Contributor as the access level.

  3. Sélectionnez Ajouter et fermez le volet.Select Add and close the pane.

    Ajouter un travail Stream Analytics à un espace de travail Power BI

Utiliser les cmdlets PowerShell Power BIUse the Power BI PowerShell cmdlets

  1. Installez les cmdlets PowerShell Power BI MicrosoftPowerBIMgmt.Install the Power BI MicrosoftPowerBIMgmt PowerShell cmdlets.

    Important

    Vérifiez que vous utilisez la version 1.0.821 ou ultérieure des cmdlets.Please ensure you are using version 1.0.821 or later of the cmdlets.

Install-Module -Name MicrosoftPowerBIMgmt
  1. Connectez-vous à Power BI.Log in to Power BI.
Login-PowerBI
  1. Ajoutez votre travail Stream Analytics en tant que contributeur à l’espace de travail.Add your Stream Analytics job as a Contributor to the workspace.
Add-PowerBIWorkspaceUser -WorkspaceId <group-id> -PrincipalId <principal-id> -PrincipalType App -AccessRight Contributor

Utiliser l’API REST Power BIUse the Power BI REST API

Le travail Stream Analytics peut également être ajouté en tant que Contributeur à l’espace de travail à l’aide de l’API REST « Ajouter un utilisateur de groupe » directement.The Stream Analytics job can also be added as a Contributor to the workspace by using the "Add Group User" REST API directly. Vous trouverez la documentation complète de cette API ici : Groupes – Ajouter un utilisateur de groupe.Full documentation for this API can be found here: Groups - Add Group User.

Exemple de demandeSample Request

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

Corps de la demandeRequest Body

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

Supprimer l’identité managéeRemove Managed Identity

L’identité gérée créée pour une tâche Stream Analytics est supprimée uniquement lorsque la tâche est supprimée.The Managed Identity created for a Stream Analytics job is deleted only when the job is deleted. Il n’existe aucun moyen de supprimer l’identité gérée sans supprimer la tâche.There is no way to delete the Managed Identity without deleting the job. Si vous ne souhaitez plus utiliser l’identité gérée, vous pouvez modifier la méthode d’authentification pour la sortie.If you no longer want to use the Managed Identity, you can change the authentication method for the output. L’identité gérée continuera d’exister jusqu’à ce que la tâche soit supprimée, et sera réemployée si vous décidez à nouveau d’utiliser l’authentification d’identité gérée.The Managed Identity will continue to exist until the job is deleted, and will be used if you decide to used Managed Identity authentication again.

LimitesLimitations

Vous trouverez plus bas les limitations de cette fonctionnalité :Below are the limitations of this feature:

  • Les espaces de travail Power BI classiques ne sont pas pris en charge.Classic Power BI workspaces are not supported.

  • Comptes Azure sans Azure Active Directory.Azure accounts without Azure Active Directory.

  • L’accès multi-locataire n’est pas pris en charge.Multi-tenant access is not supported. Le principal de service créé pour un travail Stream Analytics donné doit résider dans le même locataire Azure Active Directory que celui dans lequel le travail a été créé. Il ne peut pas être utilisé avec une ressource qui réside sur un autre locataire Azure Active Directory.The Service principal created for a given Stream Analytics job must reside in the same Azure Active Directory tenant in which the job was created, and cannot be used with a resource that resides in a different Azure Active Directory tenant.

  • Une Identité attribuée par l’utilisateur n’est pas prise en charge.User Assigned Identity is not supported. Cela signifie que vous n’êtes pas en mesure d’entrer dans votre propre principal de service à utiliser par votre travail Stream Analytics.This means you are not able to enter your own service principal to be used by their Stream Analytics job. Le principal de service doit être généré par Azure Stream Analytics.The service principal must be generated by Azure Stream Analytics.

Étapes suivantesNext steps