Uso de la identidad administrada para autenticar el trabajo de Azure Stream Analytics en Power BI

Autenticación de identidad administrada para la salida a Power BI proporciona a los trabajos de Stream Analytics acceso directo a un área de trabajo dentro de la cuenta de Power BI. Esta característica permite que las implementaciones de trabajos de Stream Analytics estén totalmente automatizadas, ya que un usuario ya no necesita iniciar sesión de forma interactiva en Power BI a través del portal de Azure. Además, los trabajos de larga duración que escriben en Power BI ahora se admiten mejor, ya que no será necesario volver a autorizar el trabajo de forma periódica.

En este artículo se muestra cómo habilitar la identidad administrada para las salidas de Power BI de un trabajo de Stream Analytics a través del portal de Azure y a través de una implementación de Azure Resource Manager.

Importante

El streaming en tiempo real en Power BI se está retirando. A partir del 31 de octubre de 2027, los usuarios no pueden crear Azure Stream Analytics trabajos que usan el conector de salida de Power BI y los trabajos existentes que usan este conector dejan de ejecutarse. Microsoft recomienda explorar Real-Time Intelligence en Microsoft Fabric para escenarios en tiempo real. Para obtener instrucciones sobre la migración, consulte el artículo power-bi-output.md.

Note

Solo se admiten las identidades administradas asignadas por el sistema en la salida de Power BI. Actualmente, no se admite el uso de identidades administradas asignadas por el usuario con la salida de Power BI.

Prerequisites

Para usar esta característica, necesita los siguientes requisitos previos:

  • Una cuenta de Power BI con una licencia Pro.
  • Un área de trabajo actualizada dentro de la cuenta de Power BI. Para obtener más información, consulte el anuncio de Power BI.

Creación de un trabajo de Stream Analytics mediante el portal de Azure

  1. Cree un trabajo de Stream Analytics o abra un trabajo existente en el portal de Azure.

  2. En la barra de menús del lado izquierdo de la pantalla, seleccione Identidad administrada en Configuración.

    Captura de pantalla que muestra la página Identidad administrada con el botón Seleccionar identidad seleccionado.

  3. En Seleccionar identidad, seleccione Identidad asignada por el sistema. A continuación, seleccione Guardar.

    Captura de pantalla que muestra la página Seleccionar identidad con la identidad asignada por el sistema seleccionada.

  4. En Identidad administrada, confirme que ve el ID principal y el nombre principal asignados al trabajo de Stream Analytics. El nombre principal debe ser el mismo que el nombre del trabajo de Stream Analytics.

  5. Antes de configurar la salida, asigne al trabajo de Stream Analytics acceso al área de trabajo de Power BI siguiendo las instrucciones de la sección Give el trabajo de Stream Analytics al área de trabajo de Power BI de este artículo.

  6. Vaya a la sección Outputs del trabajo de Stream Analytics, seleccione + Agregar y elija Power BI. A continuación, seleccione el botón Authorize e inicie sesión con su cuenta de Power BI.

    Autorizar con cuenta de Power BI

  7. Una vez autorizado, una lista desplegable se rellena con todas las áreas de trabajo a las que tiene acceso. Seleccione el área de trabajo que autorizó en el paso anterior. A continuación, seleccione Identidad administrada como modo de autenticación. Por último, seleccione el botón Guardar .

    Screenshot que muestra la configuración de salida de Power BI con el modo de autenticación de identidad administrada seleccionado.

implementación de Azure Resource Manager

Azure Resource Manager le permite automatizar completamente la implementación del trabajo de Stream Analytics. Puede implementar plantillas de Resource Manager mediante Azure PowerShell o CLI de Azure. En los ejemplos siguientes se usa el CLI de Azure.

  1. Cree un Microsoft. StreamAnalytics/streamingjobs recurso con una identidad administrada mediante la inclusión de la siguiente propiedad en la sección de recursos de la plantilla de Resource Manager:

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

    Esta propiedad indica a Azure Resource Manager que cree y administre la identidad del trabajo de Stream Analytics. En el ejemplo siguiente se muestra una plantilla de Resource Manager que implementa un trabajo de Stream Analytics con una identidad administrada habilitada y un receptor de salida de Power BI que usa la identidad administrada:

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

    Implemente el trabajo anterior en el grupo de recursos ExampleGroup mediante el comando CLI de Azure siguiente:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. Después de crear el trabajo, use Azure Resource Manager para recuperar la definición completa del trabajo.

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

    El comando anterior devuelve una respuesta similar a la siguiente:

    {
        "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 tiene previsto usar la API REST de Power BI para agregar el trabajo de Stream Analytics al área de trabajo de Power BI, anote el valor principalId devuelto.

  3. Ahora que se ha creado el trabajo, continúe a la sección Concesión de acceso al trabajo de Stream Analytics al área de trabajo de Power BI de este artículo.

Concesión de acceso al trabajo de Stream Analytics al área de trabajo de Power BI

Después de crear el trabajo de Stream Analytics, otorgue acceso a un área de trabajo de Power BI. Una vez que haya dado acceso a su trabajo, espere unos minutos a que se propague la identidad.

Uso de la interfaz de usuario de Power BI

Note

Para agregar el trabajo de Stream Analytics al área de trabajo de Power BI mediante la interfaz de usuario, también debe habilitar el acceso de la entidad de servicio en Configuración de desarrollador en el portal de administración de Power BI. Para obtener más información, consulte Comenzar con un principal de servicio.

  1. Vaya a la configuración de acceso del área de trabajo. Para obtener más información, consulte Concesión de acceso al área de trabajo.

  2. Escriba el nombre del trabajo de Stream Analytics en el cuadro de texto y seleccione Colaborador como nivel de acceso.

  3. Seleccione Agregar y cierre el panel.

    Agregar trabajo de Stream Analytics al espacio de trabajo de Power BI

Uso de los cmdlets de PowerShell de Power BI

  1. Instale los cmdlets de Power BI PowerShell MicrosoftPowerBIMgmt.

    Importante

    Asegúrese de que usa la versión 1.0.821 o posterior de los cmdlets.

    Install-Module -Name MicrosoftPowerBIMgmt
    
  2. Inicie sesión en Power BI.

    Login-PowerBI
    
  3. Agregue el trabajo de Stream Analytics como colaborador en el área de trabajo.

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

Uso de la API REST de Power BI

El trabajo de Stream Analytics también se puede agregar como Colaborador al área de trabajo si se usa directamente la API REST "Agregar usuario de grupo". Para obtener documentación completa, consulte Grupos: Agregar usuario de grupo.

Solicitud de ejemplo

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

Cuerpo de la solicitud

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

Uso de una entidad de servicio para conceder permiso para la identidad administrada de un trabajo de ASA

En el caso de implementaciones automatizadas, no es posible usar un inicio de sesión interactivo para que un trabajo de ASA tenga acceso a un área de trabajo de Power BI. Uso de una entidad de servicio para conceder permiso para la identidad administrada de un trabajo de ASA Puede usar PowerShell para este enfoque:

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

Eliminación de la identidad administrada

La identidad administrada que cree para un trabajo de Stream Analytics solo se elimina cuando se elimina el trabajo. No hay ninguna manera de eliminar la identidad administrada sin eliminar el trabajo. Si ya no desea usar la identidad administrada, puede cambiar el método de autenticación de la salida. La identidad administrada continúa existiendo hasta que se elimina el trabajo. Si decide reutilizar la autenticación de identidad administrada, se usará la identidad administrada.

Limitations

Esta característica tiene las siguientes limitaciones:

  • No se admiten las áreas de trabajo de Power BI clásicas.

  • no se admiten Azure cuentas sin Microsoft Entra ID.

  • No se admite el acceso multiinquilino. La entidad de servicio que cree para un trabajo de Stream Analytics determinado debe residir en el mismo inquilino de Microsoft Entra en el que creó el trabajo. No puedes usarlo con un recurso que reside en un cliente diferente de Microsoft Entra.

  • No se admite la identidad asignada por el usuario. No puede introducir su propio entidad de servicio para que lo utilice su trabajo de Stream Analytics. Azure Stream Analytics debe generar la entidad de servicio.

Pasos siguientes