Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A Entidade de Serviço é um método de autenticação que pode ser usado para permitir que um aplicativo Microsoft Entra acesse conteúdo e APIs do serviço Power BI.
Quando você cria um aplicativo do Microsoft Entra, um objeto da entidade de serviço é criado. O objeto de entidade de serviço, também conhecido 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 se autenticar, o principal de serviço usa a ID do aplicativo do Microsoft Entra e um dos seguintes:
- 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.
- Saiba mais sobre como obter tokens de acesso do Microsoft Entra ID usando chaves secretas ou certificados.
- Para proteger sua solução usando um certificado, siga as instruções neste artigo e as etapas descritas em Inserir conteúdo do Power BI com a entidade de serviço e um certificado.
Método
Para usar um principal de serviço e uma ID do aplicativo para análise incorporada, siga estas etapas. As seções subsequentes descrevem essas etapas em detalhes.
Crie um aplicativo do Microsoft Entra.
- Crie um segredo para seu aplicativo do Microsoft Entra.
- 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.
Crie um grupo de segurança do Microsoft Entra.
Habilite as configurações de administração do serviço do Power BI.
Adicione a entidade de serviço ao seu espaço de trabalho.
Insira seu conteúdo.
Importante
Um aplicativo do Microsoft Entra não requer que você configure nenhuma permissão delegada nem permissão de aplicativo no portal do Azure se tiver sido 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
Você pode criar um aplicativo do Microsoft Entra no portal do Azure ou usando o PowerShell:
Para criar um aplicativo do Microsoft Entra e um segredo no portal do Azure, siga as instruções em Registrar seu aplicativo.
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.
Etapa 2 - Criar um grupo de segurança do Microsoft Entra
Sua entidade de serviço não tem acesso a nenhum conteúdo nem às APIs do Power BI. Para conceder acesso ao service principal, 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
Se você quiser habilitar o acesso à entidade de serviço para toda a organização, ignore esta etapa.
Há duas maneiras de criar um grupo de segurança do Microsoft Entra:
Criar manualmente um grupo de segurança
Para criar um grupo de segurança do Azure manualmente, siga as instruções em Criar um grupo básico. Não adicione membros ao grupo neste momento.
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 a Microsoft Entra 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.
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. Para obter mais informações, consulte As entidades de serviço podem chamar APIs públicas do Fabric.
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 apenas 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 Microsoft Entra pode acessar seus relatórios, dashboards e modelos semânticos do Power BI somente quando tiver acesso ao seu espaço de trabalho do Power BI como membro ou administrador. Você fornece esse acesso adicionando a entidade de serviço do aplicativo ou seu grupo de segurança ao seu workspace.
Há três maneiras de adicionar uma entidade de serviço ou seu grupo de segurança ao seu espaço de trabalho:
Adicionar uma entidade de serviço ou um grupo de segurança manualmente
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.
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 do seu aplicativo Microsoft Entra, como ele aparece na guia Visão geral do seu aplicativo Microsoft Entra.
- O grupo de segurança que inclui sua entidade de serviço.
No menu suspenso, selecione Membro ou Administrador.
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 em PowerShell para adicionar uma entidade de serviço e um grupo de segurança como membro de um espaço de trabalho do Power BI.
Adicionar uma entidade de serviço como membro do workspace usando o PowerShell
O script abaixo adiciona um principal de serviço como membro do espaço de trabalho. 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 espaço de trabalho ao qual deseja conceder acesso ao principal 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
- Meu Espaço de Trabalho não é compatível com o uso de service principal.
- É necessário ter capacidade na migração para produção.
- Você não pode fazer login no portal do Power BI usando um service principal.
- Permissões de administrador do Power BI são necessárias para habilitar o service principal nas configurações de desenvolvedor no portal de administração do Power BI.
- Os aplicativos de Inserção para sua organização não podem usar a entidade de serviço principal.
- Não há suporte para gerenciamento de fluxos de dados.
- Nem todas as APIs somente de leitura têm suporte para uso com uma entidade de serviço. Para habilitar o suporte a service principal para APIs administrativas somente leitura, habilite as configurações de administrador do serviço do Power BI no 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.