Configuração de autenticação
Neste artigo, saiba como trabalhar com autenticação no Microsoft Fabric.
Para autenticar uma carga de trabalho personalizada no Fabric, primeiro configure três partes do componente:
Nota
Para definir as configurações de autenticação descritas neste artigo, você deve ter a função de Administrador Global.
Provisionamento de armazenamento do Azure
O exemplo de autenticação usado neste artigo demonstra como armazenar e ler dados de uma arquitetura lakehouse. Ele requer a geração de tokens para o serviço de Armazenamento do Azure em fluxos em nome de (OBO). Para gerar tokens, você deve consentir em usar o Armazenamento do Azure com seu aplicativo. Para consentir, o Armazenamento do Azure deve primeiro ser provisionado no locatário.
Para verificar se o Armazenamento do Azure está provisionado no locatário:
Inicie sessão no portal do Azure.
Vá para aplicativos Microsoft Entra ID>Enterprise.
Nos filtros de pesquisa, selecione Tipo de aplicativo = Todos os aplicativos. O ID do aplicativo começa com
e406a681-f3d4-42a8-90b6-c2b029497af1
.
Se o aplicativo de Armazenamento do Azure for mostrado nos resultados da pesquisa, o armazenamento já está provisionado e você pode continuar para a próxima etapa. Caso contrário, um administrador global precisa configurar o aplicativo.
Para provisionar o Armazenamento do Azure, 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 autenticar uma carga de trabalho, o aplicativo de carga de trabalho deve ser registrado no Microsoft Entra ID. Se não tiver uma aplicação registada, crie uma nova aplicação. Em seguida, conclua as etapas a seguir.
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 de aplicativo de página única (SPA). Esta configuração é necessária para suportar o consentimento da Microsoft. Você pode adicionar outros URIs de redirecionamento.
Nota
- O URI de redirecionamento deve ser um URI que simplesmente fecha a página quando você acessa ela. O URI
http://localhost:60006/close
já está configurado no exemplo de frontend. Você pode revisar o URI de redirecionamento em Frontend/src/index.ts. Se você alterar o URI, verifique se ele corresponde ao URI configurado para seu aplicativo. - Você pode configurar o URI de redirecionamento depois de criar o aplicativo. Para alterar as configurações de URI de redirecionamento, vá para Gerenciamento de autenticação>.
- O URL de redirecionamento deve retornar uma página HTML que chama apenas JavaScript
windows.close()
.
Altere o URI do ID do aplicativo para seu aplicativo. Vá para Gerenciar>expor uma API e edite o valor do URI da ID do aplicativo para seu aplicativo.
Para um cenário de modo de desenvolvedor, o URI do ID do aplicativo deve começar com
api://localdevinstance/<Workload publisher's tenant ID in lowercase (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 os exemplos mais adiante nesta seção).Parâmetros de URI da ID do aplicativo:
- O nome da carga de trabalho deve ser exatamente como especificado no manifesto.
- O URI DE ID não pode terminar com uma barra (
/
). - O final do URI de ID pode ter um subcaminho opcional identificado por uma cadeia de caracteres de até 36 caracteres. Pode conter apenas letras minúsculas e maiúsculas, números e traços em inglês.
Gorjeta
Obtenha ajuda para encontrar o ID de locatário do Microsoft Entra.
Por exemplo, se o ID de locatário do editor for
aaaabbbb-0000-cccc-1111-dddd2222eeee
e o nome da carga de trabalho forFabric.WorkloadSample
, então:Os seguintes URIs são válidos:
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/abc
Os seguintes URIs não são válidos:
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/af/
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/af/a
- Qualquer URI de ID que não comece com
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample
Adicionar um escopo para APIs CRUD e trabalhos
Para trabalhar com APIs CRUD (Create, Read, Update and Delete) para itens de carga de trabalho e para 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.
Para adicionar um escopo:
Em Expor uma API, selecione Adicionar um escopo. Nomeie o escopo
FabricWorkloadControl
e insira os detalhes necessários.Em Aplicativos cliente autorizados, selecione Adicionar um aplicativo cliente. Adicione
d2450708-699c-41e3-8077-b0c8341509aa
(o cliente de malha para um aplicativo de carga de trabalho) e selecione seu escopo.
Adicionar escopos para a API do plano de dados
Outros escopos precisam ser registrados para representar grupos de operações que são expostos pela API do plano de dados.
No exemplo de back-end, fornecemos quatro exemplos. Você pode ver os exemplos em Backend/src/Constants/scopes.cs.
Os âmbitos são os seguintes:
-
Item1.Read.All
: Para ler itens de carga de trabalho -
Item1.ReadWrite.All
: Para itens de carga de trabalho de leitura/escrita -
FabricLakehouse.Read.All
: Para ler arquivos lakehouse -
FabricLakehouse.ReadWrite.All
: Para ler/escrever arquivos lakehouse
Pré-autorizar 871c010f-5e61-4fb1-83ac-98610a7e9110
(o aplicativo cliente de malha) para esses escopos.
Você pode encontrar as IDs de aplicativo desses aplicativos em Microsoft Power BI e Serviço Power BI em IDs de aplicativo de aplicativos Microsoft comumente usados.
Veja como a seção Expor uma API deve ser exibida em seu aplicativo. Neste exemplo, o URI do ID é api://localdevinstance/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/Fabric.WorkloadSample
.
Gere um segredo para a sua aplicação
Em Certificados & segredos, selecione a guia Segredos e adicione um segredo. Introduza qualquer nome que pretenda utilizar e, em seguida, guarde-o. Use esse segredo ao configurar o exemplo de back-end.
Adicionar uma declaração opcional idtyp
Em Configuração de token, selecione Adicionar declaração opcional. Para Tipo de token, selecione Acesso e, em seguida, selecione idtyp.
Adicionar permissões de API
Em Permissões de API, adicione as permissões necessárias para seu aplicativo. Para o exemplo de back-end, adicione o user_impersonation de Armazenamento do Azure (para APIs OneLake) e o Power BI Service 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.
Configure seu aplicativo para trabalhar com o token de autenticação v1
Em Manifesto, certifique-se de que accessTokenAcceptedVersion
está definido como null
ou como 1
.
Configure seu aplicativo no Microsoft Entra ID usando um script
Para uma configuração simplificada do seu aplicativo no Microsoft Entra ID, você pode usar um script PowerShell automatizado (opcional).
- Instale a CLI do Azure: para começar, instale a CLI do Azure para Windows.
- 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 a ser usado para seu aplicativo, o nome da carga de trabalho (prefixada com Org.) e sua ID de locatário.
Quando o script é executado com êxito, ele retorna todos os detalhes necessários para configurar sua carga de trabalho. Ele também 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 "bbbbcccc-1111-dddd-2222-eeee3333ffff"
Este exemplo demonstra como usar o script CreateDevAADApp.ps1 com argumentos de linha de comando para automatizar o processo de instalação do aplicativo. O ID do locatário fornecido é apenas um exemplo. Substitua o ID do locatário de exemplo pelo ID do locatário real.
Configure sua carga de trabalho (back-end)
No exemplo de back-end, vá para o arquivo src/appsettings.json no repositório e defina as configurações:
-
PublisherTenantId
: O ID do locatário do editor. -
ClientId
: Sua ID de aplicativo (você pode encontrá-la na visão geral do Microsoft Entra ID). -
ClientSecret
: O segredo que você criou quando configurou o aplicativo Microsoft Entra. -
Audience
: O URI de ID que você configurou no aplicativo Microsoft Entra.
-
Configure o arquivo workloadManifest.xml . No repositório, vá para o arquivo src/Packages/manifest/files/WorkloadManifest.xml. Em
AADApp
, configureAppId
,redirectUri
eResourceId
(o URI do ID).
<AADApp>
<AppId>YourApplicationId</AppId>
<RedirectUri>YourRedirectUri</RedirectUri>
<ResourceId>YourResourceId</ResourceId>
</AADApp>
Configurar o manifesto local da carga de trabalho
Nota
Esta etapa se aplica somente em um cenário de modo de desenvolvedor.
Depois de configurar seu aplicativo, atualize as seguintes configurações no arquivo de configuração .env.dev localizado na pasta Frontend:
"DEV_AAD_CONFIG_AUDIENCE": "", // The ID URI configured in your application for a 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
Conteúdos relacionados
- Saiba como trabalhar com autenticação em cargas de trabalho.