Partilhar via


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:

  1. Inicie sessão no portal do Azure

  2. Ir para Aplicações empresariais do Microsoft Entra ID>

  3. Nos filtros, escolha tipo de aplicativo = todos os aplicativos. O ID do aplicativo começa com e406a681-f3d4-42a8-90b6-c2b029497af1

    Captura de tela mostrando o provisionamento do Armazenamento do Azure.

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.

  1. 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()".

    Captura de tela da interface do usuário de registro do aplicativo.

  2. 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 trabalho
  • Item1.ReadWrite.All: Usado para itens de carga de trabalho de leitura/gravação
  • FabricLakehouse.Read.All: Usado para ler arquivos lakehouse
  • FabricLakehouse.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:

Captura de tela mostrando a aparência da seção Expor uma API.

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.

Captura de tela da caixa de diálogo gerar segredos.

Adicionar declaração opcional 'idtyp'

Em Configuração de token, selecione Adicionar declaração opcional. Escolha Access token e adicione idtyp.

Captura de tela mostrando a adição de idtyp de declaração.

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):

Captura de tela mostrando a adição de permissões de API.

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:

  1. 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.
  2. 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.
  3. 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)

  1. 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 editor
    • ClientId: 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.
  2. Configure seu workloadManifest.xml. Vá para o src/Packages/manifest/files/WorkloadManifest.xml arquivo no repositório e configure seu AppId, redirectUrie ResourceId (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

Captura de ecrã que mostra a configuração de um ficheiro '.env.dev'.

Para entender como trabalhar com autenticação em cargas de trabalho, consulte Diretrizes de autenticação de carga de trabalho & aprofundamento.