Use a identidade gerenciada para autenticar seu trabalho de Azure Stream Analytics para Power BI

A autenticação de Identidade Gerenciada para saída para Power BI fornece aos trabalhos de Stream Analytics acesso direto a um espaço de trabalho dentro de sua conta de Power BI. Esse recurso permite que as implantações de trabalhos do Stream Analytics sejam totalmente automatizadas, já que um usuário não precisa mais entrar interativamente no Power BI por meio do portal Azure. Além disso, tarefas de longa duração que gravam no Power BI agora têm melhor suporte, uma vez que não é necessário reautorizar periodicamente a tarefa.

Este artigo mostra como habilitar a identidade gerenciada para as saídas Power BI de um trabalho do Stream Analytics por meio do portal do Azure e por meio de uma implantação de Azure Resource Manager.

Importante

O streaming em tempo real no Power BI está sendo desativado. A partir de 31 de outubro de 2027, os usuários não podem criar trabalhos Azure Stream Analytics que usam o conector de saída Power BI e trabalhos existentes que usam esse conector param de executar. Microsoft recomenda explorar Real-Time Intelligence em Microsoft Fabric para cenários em tempo real. Para obter diretrizes de migração, consulte o artigo power-bi-output.md.

Note

Somente as identidades gerenciadas atribuídas pelo sistema têm suporte com a saída do Power BI. Atualmente, não há suporte para o uso de identidades gerenciadas atribuídas pelo usuário com a saída Power BI.

Pré-requisitos

Para usar esse recurso, você precisa dos seguintes pré-requisitos:

  • Uma conta Power BI com uma licença Pro.
  • Um workspace aprimorado na sua conta do Power BI. Para obter mais informações, consulte Power BI's announcement.

Criar um trabalho do Stream Analytics usando o portal Azure

  1. Crie um novo trabalho do Stream Analytics ou abra um trabalho existente no portal Azure.

  2. Na barra de menus no lado esquerdo da tela, selecione Identidade Gerenciada em Configurações.

    Captura de tela mostrando a página Identidade Gerenciada com o botão Selecionar identidade selecionado.

  3. Em Selecionar identidade, selecione a identidade atribuída pelo sistema. Em seguida, selecione Salvar.

    Captura de tela mostrando a página Selecionar identidade com a identidade atribuída pelo sistema selecionada.

  4. Na identidade gerenciada, confirme se você vê a ID principal e o nome principal atribuídos ao seu trabalho do Stream Analytics. O nome principal deve ser o mesmo que o nome do trabalho do Stream Analytics.

  5. Antes de configurar a saída, conceda ao trabalho do Stream Analytics acesso ao seu workspace do Power BI seguindo as instruções na seção Conceder acesso do trabalho do Stream Analytics ao seu workspace do Power BI deste artigo.

  6. Vá para a seção Outputs do trabalho do Stream Analytics, selecione + Adicionar e escolha Power BI. Em seguida, selecione o botão Authorize e entre com sua conta Power BI.

    Autorize com a conta do Power BI

  7. Depois de você ser autorizado, uma lista suspensa será preenchida com todos os espaços de trabalho aos quais você tem acesso. Selecione o espaço de trabalho que você autorizou na etapa anterior. Em seguida, selecione Identidade Gerenciada como o modo de Autenticação. Por fim, selecione o botão Salvar .

    Screenshot mostrando a configuração de saída Power BI com o modo de autenticação de identidade gerenciada selecionado.

Implantação do Azure Resource Manager

Azure Resource Manager permite automatizar totalmente a implantação do trabalho do Stream Analytics. Você pode implantar modelos de Resource Manager usando Azure PowerShell ou o CLI do Azure. Os exemplos a seguir usam o CLI do Azure.

  1. Crie um Microsoft. StreamAnalytics/streamingjobs recurso com uma identidade gerenciada, incluindo a seguinte propriedade na seção de recursos de seu modelo de Resource Manager:

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

    Essa propriedade instrui o Azure Resource Manager a criar e gerenciar a identidade para seu trabalho do Azure Stream Analytics. Veja abaixo um exemplo que mostra um modelo do Resource Manager que implanta um trabalho do Stream Analytics com identidade gerenciada habilitada e um coletor de saída Power BI que usa identidade gerenciada:

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

    Implante o trabalho anterior no grupo de recursos ExampleGroup usando o seguinte comando CLI do Azure:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. Depois de criar o trabalho, use Azure Resource Manager para recuperar a definição completa do trabalho.

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

    O comando anterior retorna uma resposta semelhante à seguinte:

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

    Se você planeja usar a API REST do Power BI para adicionar a tarefa do Stream Analytics ao espaço de trabalho do Power BI, anote o principalId retornado.

  3. Agora que o trabalho foi criado, vá para a seção fornecer o acesso Stream Analytics trabalho ao espaço de trabalho do Power BI deste artigo.

Dê ao Stream Analytics o acesso ao seu espaço de trabalho Power BI

Depois de criar o trabalho do Stream Analytics, dê a ele acesso a um workspace do Power BI. Depois de ter dado o acesso ao trabalho, aguarde alguns minutos para que a identidade se propague.

Usar a interface do usuário do Power BI

Note

Para adicionar o trabalho de Stream Analytics ao seu espaço de trabalho do Power BI usando a interface do usuário, você também precisa habilitar o acesso à entidade de serviço nas configurações do desenvolvedor no portal de administração do Power BI. Para obter mais informações, consulte Comece com um principal de serviço.

  1. Vá para as configurações de acesso do workspace. Para obter mais informações, consulte Conceder acesso ao seu espaço de trabalho.

  2. Insira o nome do trabalho do Stream Analytics na caixa de texto e selecione Colaborador como o nível de acesso.

  3. Selecione Adicionar e feche o painel.

    Adicionar trabalho do Stream Analytics ao espaço de trabalho do Power BI

Usar os cmdlets do Power BI PowerShell

  1. Instalar os cmdlets do PowerShell do Power BI MicrosoftPowerBIMgmt.

    Importante

    Verifique se você está usando a versão 1.0.821 ou posterior dos cmdlets.

    Install-Module -Name MicrosoftPowerBIMgmt
    
  2. Conecte-se ao Power BI.

    Login-PowerBI
    
  3. Adicione seu trabalho do Stream Analytics como Contribuidor no espaço de trabalho.

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

Utilize a API REST do Power BI

Você pode adicionar o trabalho do Stream Analytics como um Colaborador ao espaço de trabalho usando a API REST "Adicionar usuário de grupo" diretamente. Para obter a documentação completa, consulte Grupos – Adicionar Usuário de Grupo.

Solicitação de Exemplo

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

Corpo da solicitação

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

Usar uma entidade de serviço para conceder permissão para a identidade gerenciada de um trabalho do ASA

Para implantações automatizadas, não é possível usar um logon interativo para dar a um trabalho ASA acesso a um espaço de trabalho do Power BI. Você pode usar uma entidade de serviço para conceder permissão para a identidade gerenciada de um trabalho do ASA Você pode usar o PowerShell para esta abordagem:

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

Remover a identidade gerenciada

A identidade gerenciada que você cria para um trabalho do Stream Analytics é excluída somente quando você exclui o trabalho. Não há como excluir a identidade gerenciada sem excluir o trabalho. Se você não quiser mais usar a identidade gerenciada, poderá alterar o método de autenticação para a saída. A identidade gerenciada continua a existir até que você exclua o trabalho. Se você decidir usar a autenticação de identidade gerenciada novamente, a identidade gerenciada será usada.

Limitações

Este recurso tem as seguintes limitações:

  • Não há suporte para workspaces de Power BI clássicos.

  • não há suporte para contas Azure sem Microsoft Entra ID.

  • Acesso multilocatário sem suporte. A entidade de serviço criada para um determinado trabalho do Stream Analytics deve residir no mesmo locatário do Microsoft Entra em que o trabalho foi criado. Você não pode usá-lo com um recurso que reside em um locatário do Microsoft Entra diferente.

  • Não há suporte para a identidade atribuída pelo usuário. Você não pode inserir sua própria entidade de serviço a ser usada pelo seu trabalho do Stream Analytics. O Azure Stream Analytics deve gerar a entidade de serviço.

Próximas Etapas