Conteúdo inserido do Power BI com a entidade de serviço e um segredo do aplicativo

A entidade de serviço é um método de autenticação que pode ser usado para permitir que o aplicativo Microsoft Entra acesse o conteúdo e as APIs do serviço do Power BI.

Quando você cria um aplicativo do Microsoft Entra, um objeto da entidade de serviço é criado. O objeto da entidade de serviço, também conhecida simplesmente como entidade de serviço, permite que o Microsoft Entra ID autentique seu aplicativo. Depois de autenticado, o aplicativo poderá acessar os recursos de locatário do Microsoft Entra.

Para fazer a autenticação, a entidade de serviço usa a ID do Aplicativo no Microsoft Entra e uma das opções a seguir:

  • Um certificado
  • Um segredo do aplicativo

Este artigo descreve a autenticação da entidade de serviço usando uma ID de aplicativo e um segredo de aplicativo.

Observação

Recomendamos que você proteja os seus serviços de back-end usando certificados, em vez de chaves secretas.

Método

A fim de usar a entidade de serviço e uma ID de aplicativo para uma análise integrada, siga as etapas a seguir. As seções subsequentes descrevem essas etapas em detalhes.

  1. Crie um aplicativo do Microsoft Entra.

    1. Crie um segredo para seu aplicativo do Microsoft Entra.
    2. Obtenha a ID do aplicativo e o segredo do aplicativo.

    Observação

    Todas essas etapas são descritas na etapa 1. Para obter mais informações sobre como criar um aplicativo do Microsoft Entra, consulte criar um aplicativo do Microsoft Entra.

  2. Crie um grupo de segurança do Microsoft Entra.

  3. Habilite as configurações de administração do serviço do Power BI.

  4. Adicione a entidade de serviço ao seu espaço de trabalho.

  5. Insira seu conteúdo.

Importante

Um aplicativo do Microsoft Entra não exige que você configure nenhuma permissão delegada ou de aplicativo no portal do Azure quando ele foi criado para uma entidade de serviço. Ao criar um aplicativo do Microsoft Entra para uma entidade de serviço acessar a API REST do Power BI, recomendamos que você evite adicionar permissões. Elas nunca são usadas e podem causar erros difíceis de solucionar.

Etapa 1 - Criar um aplicativo do Microsoft Entra

Crie um aplicativo do Microsoft Entra usando um destes métodos:

Criar um aplicativo do Microsoft Entra no portal do Azure

  1. Entre no portal do Azure.

  2. Localize e selecione Registros de aplicativo.

    Screenshot of the Azure portal, with app registration in the search box. That box and the App registrations icon are highlighted.

  3. Selecione Novo registro.

    Screenshot of the App registrations page in the Azure portal. New registration is highlighted.

  4. Preencha as informações obrigatórias:

    • Nome – digite um nome para seu aplicativo.
    • Tipos de conta com suporte – selecione os tipos de conta com suporte.
    • (Opcional) URI de redirecionamento – insira um URI, se necessário.
  5. Selecione Registrar.

  6. Após registrar seu aplicativo, a ID do Aplicativo estará disponível na guia Visão geral. Copie e salve a ID do Aplicativo para uso posterior.

    Screenshot of the Overview page of the new app. The Application ID is indecipherable and is highlighted.

  7. Selecione Certificados e segredos.

    Screenshot of the Overview page of the new app. On the navigation pane, Certificates & secrets is highlighted.

  8. Selecione Novo segredo do cliente.

    Screenshot that shows part of the Certificates & secrets page for the app. Under Client secrets, the New client secret button is highlighted.

  9. Na janela Adicionar um segredo do cliente, insira uma descrição, especifique quando deseja que o segredo do cliente expire e selecione Adicionar.

  10. Copie e salve o valor do segredo do cliente.

    Screenshot of the Certificates & secrets page for the app. Under Client secrets, a new secret is visible. Its indecipherable value is highlighted.

    Observação

    Depois de sair dessa janela, o valor do segredo do cliente fica oculto e você não pode visualizá-lo ou copiá-lo novamente.

Crie um aplicativo do Microsoft Entra usando o PowerShell

O exemplo de script do PowerShell a seguir cria um novo aplicativo do Microsoft Entra e uma entidade de serviço. Antes de executar este script:

Após a execução do script, anote as seguintes informações na saída do script:

  • A ID do cliente do novo aplicativo
  • A ID do objeto da nova entidade de serviço
  • O valor do segredo da entidade de serviço
# Sign in as a user who's allowed to create an app.
Connect-MgGraph -Scopes "Application.ReadWrite.All" 

# Create a new Azure AD web application.
$web = @{
    RedirectUris = "https://localhost:44322"
    HomePageUrl = "https://localhost:44322"
}
$params = @{
    DisplayName = "myAzureADApp"
    Web = $($web)
}
$app = New-MgApplication @params
Write-Host "Client ID of new app: " $($app.AppId)

# Create a service principal.
$ServicePrincipalID=@{
  "AppId" = $($app.AppId)
  }
$sp = New-MgServicePrincipal -BodyParameter $($ServicePrincipalId)
Write-Host "Object ID of new service principal: " $($sp.Id)

# Create a key for the service principal.
$credential = Add-MgServicePrincipalPassword -ServicePrincipalId $($sp.Id)
Write-Host "Credential of new service principal: " $($credential.SecretText)

Etapa 2 - Criar um grupo de segurança do Microsoft Entra

Sua entidade de serviço não tem acesso a nenhum de seus conteúdo e APIs do Power BI. Para conceder acesso à entidade de serviço, crie um grupo de segurança no Microsoft Entra ID. Em seguida, adicione a entidade de serviço que você criou a esse grupo de segurança.

Observação

Caso queira habilitar o acesso à entidade de serviço para toda a organização, ignore essa etapa.

Há duas maneiras de criar um grupo de segurança do Microsoft Entra:

Criar manualmente um grupo de segurança

Para criar manualmente um grupo de segurança no Azure, siga as instruções em Criar um grupo básico e adicionar membros.

Criar um grupo de segurança usando o PowerShell

O script de exemplo a seguir cria um novo grupo de segurança. Ele também adiciona a entidade de serviço que você criou anteriormente ao novo grupo de segurança.

  • Antes de executar o script, substitua <app-client-ID> pela ID do cliente que você registrou anteriormente para seu novo aplicativo.
  • Depois de executar o script, anote a ID do objeto do novo grupo de segurança, que você pode encontrar na saída do script.
# Sign in as an admin.
Connect-MgGraph -Scopes "Application.ReadWrite.All"

# Get the service principal that you created earlier.
$servicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '<app-client-ID>'"

# Create an Azure AD security group.
$group = New-MgGroup -DisplayName "securitygroup1" -SecurityEnabled -MailEnabled:$False -MailNickName "notSet"
Write-Host "Object ID of new security group: " $($group.Id)

# Add the service principal to the group.
New-MgGroupMember -GroupId $($group.Id) -DirectoryObjectId $($servicePrincipal.Id)

Etapa 3 – Habilitar as configurações de administração do serviço do Power BI

Para um aplicativo do Microsoft Entra acessar o conteúdo e as APIs do Power BI, um administrador de Power BI precisa habilitar a seguinte configuração:

  • Inserir conteúdo em aplicativos
  • Permitir que as entidades de serviço usem APIs do Power BI

No Portal de Administração do Power BI, acesse Configurações de locatário e role para baixo até Configurações do desenvolvedor.

  • Habilite Inserir conteúdo em aplicativos para toda a organização ou para o grupo de segurança específico criado no Microsoft Entra ID.

    Screenshot of the Developer settings in the Tenant settings section of the Admin portal. The option for embedding content in apps is turned on.

  • Habilite Permitir que as entidades de serviço usem as APIs do Power BI para toda a organização ou para o grupo de segurança específico criado no Microsoft Entra ID.

    Screenshot of the Developer settings section. The option for allowing service principals to use Power BI APIs is turned on for one security group.

    Importante

    As entidades de serviço têm acesso a quaisquer configurações de locatário para as quais estejam habilitadas. Dependendo das configurações de administrador, isso inclui grupos de segurança específicos ou de toda a organização.

    Para restringir o acesso da entidade de serviço a configurações de locatário específicas, permita o acesso somente a grupos de segurança específicos. Como alternativa, você pode criar um grupo de segurança dedicado para entidades de serviço e excluí-lo das configurações de locatário desejadas.

Etapa 4 – Adicione a entidade de serviço ao seu workspace

Seu aplicativo do Microsoft Entra pode acessar seus relatórios, painéis e modelos semânticos do Power BI somente quando tiver acesso ao espaço de trabalho do Power BI. Você fornece esse acesso adicionando a entidade de serviço do aplicativo ou seu grupo de segurança ao seu workspace como membro ou administrador.

Há três maneiras de adicionar uma entidade de serviço ou grupo de segurança ao seu workspace:

Adicionar uma entidade de serviço ou um grupo de segurança manualmente

  1. No serviço do Power BI, role até o workspace para o qual você deseja habilitar o acesso. Em seu menu Mais, selecione Acesso do workspace.

    Screenshot that shows the expanded More menu for a workspace. On that menu, Workspace access is highlighted.

  2. No painel Acesso, em Adicionar administradores, membros ou colaboradores, adicione um dos seguintes:

    • Sua entidade de serviço. O nome da entidade de serviço é o Nome de exibição de seu aplicativo do Microsoft Entra como ele aparece na guia de visão geral do aplicativo do Microsoft Entra.
    • O grupo de segurança que inclui sua entidade de serviço.
  3. No menu suspenso, selecione Membro ou Administrador.

  4. Selecione Adicionar.

Adicionar uma entidade de serviço ou um grupo de segurança usando o PowerShell

As seções a seguir fornecem scripts de exemplo do PowerShell para adicionar uma entidade de serviço e um grupo de segurança a um workspace do Power BI como membro.

Adicionar uma entidade de serviço como um membro do workspace usando o PowerShell

O script a seguir adiciona uma entidade de serviço como um membro do workspace. Antes de executar o script:

  • Substitua <service-principal-object-ID> pela ID de objeto que você registrou anteriormente para sua nova entidade de serviço.
  • Substitua <workspace-name> pelo nome do workspace ao qual você gostaria de conceder acesso à entidade de serviço.
# Sign in to Power BI.
Login-PowerBI

# Set up the service principal ID.
$SPObjectID = "<service-principal-object-ID>"

# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"

# Add the service principal to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType App -Identifier $($SPObjectID)

Adicionar um grupo de segurança como um membro do workspace usando o PowerShell

O script a seguir adiciona um grupo de segurança como um membro do workspace. Antes de executar o script:

  • Substitua <security-group-object-ID> pela ID de objeto que você registrou anteriormente para seu novo grupo de segurança.
  • Substitua <workspace-name> pelo nome do workspace ao qual você gostaria de conceder acesso ao grupo de segurança.
# Sign in to Power BI.
Login-PowerBI

# Set up the security group object ID.
$SGObjectID = "<security-group-object-ID>"

# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"

# Add the security group to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType Group -Identifier $($SGObjectID)

Etapa 5 – Inserir seu conteúdo

Você pode inserir o conteúdo em um aplicativo de exemplo ou no próprio aplicativo.

Depois de inserir o conteúdo, você estará pronto para passar para a produção.

Observação

Para proteger seu conteúdo usando um certificado, siga as etapas descritas em Inserir conteúdo do Power BI com a entidade de serviço e um certificado.

Considerações e limitações

  • Não há suporte para Meu Workspace ao usar a entidade de serviço.
  • É necessária capacidade ao passar para produção.
  • Você não pode entrar no portal do Power BI usando a entidade de serviço.
  • Direitos de administrador do Power BI são necessários para habilitar a entidade de serviço nas configurações do desenvolvedor no Portal de Administração do Power BI.
  • Os aplicativos inseridos para sua organização não podem usar a entidade de serviço.
  • Não há suporte para gerenciamento de fluxos de dados.
  • A entidade de serviço dá suporte apenas a algumas APIs de administração somente leitura. Para habilitar o suporte da entidade de serviço para APIs de administração somente leitura, habilite as configurações de administrador do serviço do Power BI em seu locatário. Para obter mais informações, confira Habilitar a autenticação de entidade de serviço para APIs de administração somente leitura.
  • Quando você usa uma entidade de serviço com uma fonte de dados do Azure Analysis Services, a própria entidade de serviço precisa ter permissões de uma instância do Azure Analysis Services. O uso de um grupo de segurança que contenha a entidade de serviço para essa finalidade não funciona.