Configuração de autenticação (visualização)
Nota
Para definir as seguintes configurações de autenticação no guia de configuração, é necessária uma função de Administrador Global.
Para poder trabalhar com autenticação, você precisa configurar suas três partes componentes:
Para trabalhar com autenticação no Fabric, siga este guia.
Provisionamento do serviço de armazenamento do Azure
O exemplo demonstra como armazenar e ler dados de e para lakehouses. Ele requer a geração de tokens para o serviço de Armazenamento do Azure em fluxos OBO. Para gerar tokens, os usuários precisam consentir com o aplicativo usando o Armazenamento do Azure. Para consentir, o Armazenamento do Azure precisa ser provisionado no locatário.
Para garantir que o Armazenamento do Azure seja provisionado no locatário:
Inicie sessão no portal do Azure
Ir para Aplicações empresariais do Microsoft Entra ID>
Nos filtros, escolha tipo de aplicativo = todos os aplicativos. O ID do aplicativo começa com e406a681-f3d4-42a8-90b6-c2b029497af1
Se você vir o aplicativo de Armazenamento do Azure, isso significa que já foi provisionado e você pode continuar para a próxima etapa. Caso contrário, um Administrador Global precisa configurá-lo.
Abra o Windows PowerShell como administrador e execute o seguinte script:
Install-Module az
Import-Module az
Connect-AzureAD
New-AzureADServicePrincipal -AppId e406a681-f3d4-42a8-90b6-c2b029497af1
Configure seu aplicativo no Microsoft Entra ID manualmente
Para trabalhar com autenticação, você precisa de um aplicativo registrado no Microsoft Entra ID. Se você não tiver um aplicativo registrado, siga este guia para criar um novo aplicativo.
Aplique as seguintes configurações ao seu aplicativo:
- Torne o aplicativo um aplicativo multilocatário.
- Para aplicativos de desenvolvimento, configure o URI de redirecionamento como
http://localhost:60006/close
com a plataforma SPA. Esta configuração é necessária para o nosso suporte de consentimento. Você pode adicionar outros URIs de redirecionamento conforme desejado.
Nota
- O URI de redirecionamento deve ser um URI que simplesmente fecha a página ao navegar até ela. O URI
http://localhost:60006/close
já está configurado no exemplo de frontend e você pode alterá-lo em Frontend/src/index.ts (Se você alterá-lo, verifique se ele corresponde ao configurado para seu aplicativo). - Você pode configurar o URI de redirecionamento depois de criar o aplicativo no menu Gerenciar em Autenticação.
- O URL de redirecionamento deve retornar uma página HTML que apenas chama JS "windows.close()".
Altere o URI da ID do aplicativo para seu aplicativo. Vá para Gerenciar>expor uma API e edite o URI da ID do aplicativo para seu aplicativo:
Para o cenário de desenvolvimento, o URI da ID do Aplicativo deve começar com:
api://localdevinstance/<Workload publisher's tenant ID in lower case (the tenant ID of the user used in Fabric to run the sample)>/<Name of your workload>
e um subcaminho opcional no final que começa com/
(consulte exemplos).Em que:
- O nome da carga de trabalho é exatamente como especificado no manifesto.
- O URI de ID não termina com uma barra.
- No final do URI de ID, pode haver um subcaminho opcional que consiste em uma cadeia de letras minúsculas ou maiúsculas, números e traços em inglês, até 36 caracteres.
Gorjeta
Para obter ajuda para encontrar o ID do locatário, consulte Como encontrar o ID do locatário do Microsoft Entra.
Por exemplo, se a ID do locatário do editor for 853d9f4f-c71b-4420-b6ec-60e503458946 e o nome da carga de trabalho for Fabric.WorkloadSample , então:
Os seguintes URIs são válidos
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample/abc
Os seguintes URIs não são válidos
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample/af/
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample/af/a
- Qualquer URI de ID que não comece com
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample
Adicionar um escopo para CRUD/jobs
Para trabalhar com APIs Criar, Ler, Atualizar e Excluir para itens de carga de trabalho e executar outras operações com trabalhos, adicione um escopo. Além disso, adicione dois aplicativos Fabric dedicados aos aplicativos pré-autorizados para esse escopo para indicar que sua API (o escopo que você criou) confia no Fabric:
Em Expor uma API, selecione Adicionar um escopo. Nomeie o escopo FabricWorkloadControl e forneça os detalhes necessários para ele.
Em Aplicativos cliente autorizados, selecione Adicionar um aplicativo cliente. Adicionar
d2450708-699c-41e3-8077-b0c8341509aa
(cliente de malha para aplicativo de cargas de trabalho) e selecione seu escopo.
Adicionar escopos para API de plano de dados
Outros escopos precisam ser registrados para representar grupos de operações expostas pela API do plano de dados. No exemplo de back-end, fornecemos quatro exemplos. Você pode vê-los em Backend/src/Constants/scopes.cs. Os âmbitos são os seguintes:
Item1.Read.All
: Usado para ler itens de carga de trabalhoItem1.ReadWrite.All
: Usado para itens de carga de trabalho de leitura/gravaçãoFabricLakehouse.Read.All
: Usado para ler arquivos lakehouseFabricLakehouse.ReadWrite.All
: Usado para ler / escrever arquivos lakehouse
Pré-autorizar 871c010f-5e61-4fb1-83ac-98610a7e9110
(o aplicativo cliente de malha) para esses escopos.
As IDs de aplicativo desses aplicativos podem ser encontradas em Microsoft Power BI e Serviço Power BI.
Veja como a seção Expor uma API deve ficar em seu aplicativo. Neste exemplo, o URI do ID é api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample
:
Gere um segredo para a sua aplicação
Em Certificados & segredos, selecione a guia Segredos e adicione um segredo. Dê-lhe o nome que quiser e guarde-o. Use esse segredo ao configurar o exemplo de back-end.
Adicionar declaração opcional 'idtyp'
Em Configuração de token, selecione Adicionar declaração opcional. Escolha Access token e adicione idtyp.
Adicionar permissões de API
Em Permissões de API, adicione as permissões desejadas para seu aplicativo. Para o exemplo de back-end, adicione Storage user_impersonation (para APIs OneLake) e Power BI Workspace.Read.all (para APIs de controle de carga de trabalho):
Para saber mais sobre permissões de API, consulte Atualizar as permissões solicitadas de um aplicativo no Microsoft Entra ID.
Verifique se seu aplicativo está configurado para funcionar com o token de autenticação v1
Em Manifesto, certifique-se de que accessTokenAcceptedVersion
está definido como nulo ou "1".
Configure seu aplicativo no Microsoft Entra Identity automaticamente usando um script
Para uma configuração simplificada do seu aplicativo no Microsoft Entra Identity, você pode optar por usar um script PowerShell automatizado. Para configurar seu aplicativo, execute estas etapas:
- Instalar a CLI do Azure: comece instalando a CLI (Interface de Linha de Comando) do Azure Instalar a CLI do Azure para Windows | Microsoft Learn2.
- Execute o script CreateDevAADApp.ps1: execute o script CreateDevAADApp. Você será solicitado a entrar usando as credenciais da conta de usuário sob a qual você pretende criar o aplicativo.
- Forneça as informações necessárias: quando solicitado, insira o nome desejado para seu aplicativo, o nome da carga de trabalho (prefixada com "Org.") e sua ID de locatário.
Após a execução bem-sucedida do script, ele produz todos os detalhes necessários para configurar sua carga de trabalho. Além disso, ele fornece uma URL direta para seu aplicativo e uma URL de consentimento administrativo para autorização de aplicativo em todo o locatário.
Exemplo de utilização
Para criar um aplicativo chamado "myWorkloadApp" com o nome da carga de trabalho "Org.Myworkload" para o locatário especificado, execute o seguinte comando no PowerShell:
powershell .\CreateDevAADApp.ps1 -applicationName "myWorkloadApp" -workloadName "Org.Myworkload" -tenantId "cb1f79ad-7930-43c0-8d84-c1bf8d15c8c7"
Este exemplo demonstra como usar o CreateDevAADApp.ps1
script com argumentos de linha de comando para automatizar o processo de instalação do aplicativo. O ID de locatário fornecido é um exemplo e deve ser substituído pelo seu ID de locatário real.
Configurando sua carga de trabalho (Back-end)
No exemplo de back-end, vá para
src/appsettings.json
o arquivo no repositório e defina as configurações:PublisherTenantId
: O ID do locatário do editorClientId
: Seu ID de aplicativo (você pode encontrá-lo no Microsoft Entra ID em visão geral).ClientSecret
: O segredo que você criou ao configurar o aplicativo Microsoft Entra.Audience
: O URI DE ID que configuramos no aplicativo Microsoft Entra.
Configure seu workloadManifest.xml. Vá para o
src/Packages/manifest/files/WorkloadManifest.xml
arquivo no repositório e configure seuAppId
,redirectUri
eResourceId
(ID URI) em AADApps.
<AADApp>
<AppId>YourApplicationId</AppId>
<RedirectUri>YourRedirectUri</RedirectUri>
<ResourceId>YourResourceId</ResourceId>
</AADApp>
Configurar o manifesto local da carga de trabalho
Nota
Esta etapa só é aplicável ao cenário devmode.
Depois de configurar seu aplicativo, atualize as seguintes configurações no .env.dev
arquivo de configuração localizado na pasta Frontend:
"DEV_AAD_CONFIG_AUDIENCE": "", // The ID URI configured in your application for developer scenario
"DEV_AAD_CONFIG_REDIRECT_URI": "http://localhost:60006/close", // or the path you configured in index.ts
"DEV_AAD_CONFIG_APPID": "" // your app Id
Para entender como trabalhar com autenticação em cargas de trabalho, consulte Diretrizes de autenticação de carga de trabalho & aprofundamento.