Configuração de autenticação
Neste artigo, saiba como trabalhar com a autenticação no Microsoft Fabric.
Para autenticar uma carga de trabalho personalizada no Fabric, primeiro configure três partes de componente:
Observação
Para definir as configurações de autenticação descritas neste artigo, você deve ter a função de Administrador Global.
Provisionamento do Armazenamento do Microsoft Azure
O exemplo de autenticação usado neste artigo demonstra como armazenar dados e ler dados de uma arquitetura lakehouse. Isso requer a geração de tokens para o serviço de Armazenamento do Azure em fluxos OBO (On-Behalf-Of). 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 seja provisionado no locatário:
Entre no portal do Azure.
Acesse Microsoft Entra ID>Aplicativos empresariais.
Nos filtros de pesquisa, selecione Tipo de aplicativo = todos os aplicativos. A 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á estará provisionado e você poderá continuar na próxima etapa. Caso contrário, um Administrador Global precisará 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
Configurar o aplicativo no Microsoft Entra ID de forma manual
Para autenticar uma carga de trabalho, o aplicativo de carga de trabalho deve ser registrado no Microsoft Entra ID. Se você não tiver um aplicativo registrado, crie um novo aplicativo. Em seguida, conclua as etapas abaixo.
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 (aplicativo de página única). Essa configuração é necessária para dar suporte ao consentimento da Microsoft. Você pode adicionar outros URIs de redirecionamento.
Observação
- O URI de redirecionamento deve ser um URI que simplesmente fecha a página quando você entra nela. O URI
http://localhost:60006/close
já está configurado no exemplo de front-end. 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, acesse Autenticação>Gerenciar.
- A URL de redirecionamento deve retornar uma página HTML que só chama o JavaScript
windows.close()
.
Altere o URI de ID do seu aplicativo. Acesse Gerenciar>Expor uma API e edite o URI da ID do Aplicativo para seu aplicativo.
Para um cenário de modo de desenvolvedor, o URI da 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 precisa ser exatamente como está especificado no manifesto.
- O URI da 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. Ele pode conter apenas letras minúsculas e maiúsculas, números e traços em inglês.
Dica
Obtenha ajuda para encontrar sua ID de locatário do Microsoft Entra.
Por exemplo, se a ID do 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 as APIs Criar, Ler, Atualizar e Excluir (CRUD) para itens de carga de trabalho e executar outras operações com trabalhos, adicione um escopo. Além disso, adicione dois aplicativos do 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
(cliente Fabric para um aplicativo de cargas de trabalho) e selecione seu escopo.
Adicionar escopos para a API do plano de dados
Outros escopos precisam ser registrados para representar os grupos de operações, que são expostos pela API do plano de dados.
No exemplo de back-end, fornecemos quatro exemplos. Você pode vê os exemplos em Backend/src/Constants/scopes.cs.
Os escopos são:
Item1.Read.All
: para ler itens da carga de trabalhoItem1.ReadWrite.All
: para itens da carga de trabalho de leitura/gravaçãoFabricLakehouse.Read.All
: para ler arquivos do lakehouseFabricLakehouse.ReadWrite.All
: para ler/gravar arquivos lakehouse
Pré-autorize 871c010f-5e61-4fb1-83ac-98610a7e9110
(o aplicativo cliente Fabric) para esses escopos.
Você pode encontrar as IDs de aplicativo desses aplicativos em Microsoft Power BI e Serviço do Power BI em IDs de aplicativos da Microsoft usados com frequência.
Veja como a seção Expor uma API deve ficar no seu aplicativo. Neste exemplo, o URI da ID é api://localdevinstance/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/Fabric.WorkloadSample
.
Gerar um segredo para o seu aplicativo
Em Certificados e segredos, selecione a guia Segredos e adicione um segredo. Insira qualquer nome que você deseja usar e salve-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 Acessar e 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 user_impersonation de Armazenamento do Azure (para APIs do OneLake) e Workspace do Serviço do Power BI.Read.all (para APIs de controle de carga de trabalho):
Para saber mais sobre as permissões de API, confira Atualizar as permissões solicitadas de um aplicativo no Microsoft Entra ID.
Definir seu aplicativo para trabalhar com o token de autenticação v1
Em Manifesto, verifique se accessTokenAcceptedVersion
está definido como null
ou 1
.
Configurar o aplicativo no Microsoft Entra ID ao usar um script
Para uma configuração simplificada do seu aplicativo no Microsoft Entra ID, você pode usar um script automatizado do PowerShell (opcional).
- Instale a CLI do Azure: para começar, instale a CLI do Azure para Windows.
- Executar o script CreateDevAADApp.ps1: faça a execução do script CreateDevAADApp. Será solicitado que você entre usando as credenciais da conta de usuário com a qual pretende criar o aplicativo.
- Forneça informações necessárias: quando solicitado, insira o nome a ser usado para seu aplicativo, o nome da carga de trabalho (prefixado 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. Além disso, ele fornecerá uma URL direta para o seu aplicativo e uma URL de consentimento administrativo para autorização do aplicativo em todo o locatário.
Exemplo de uso
Para criar um aplicativo chamado myWorkloadApp com o nome de carga de trabalho Org.Myworkload para o locatário especificado, faça a execução do 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 da linha de comando para automatizar o processo de configuração do aplicativo. A ID de locatário fornecida é apenas um exemplo. Substitua a ID de locatário de exemplo pela 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 rrepositório e defina as configurações:
PublisherTenantId
: a ID do locatário do fornecedor.ClientId
: o ID do seu aplicativo (você pode encontrá-lo no Microsoft Entra ID em visão geral).ClientSecret
: o segredo que você criou quando você configurou o aplicativo do Microsoft Entra.Audience
: o URI de ID que você configurou no aplicativo do 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 da ID).
<AADApp>
<AppId>YourApplicationId</AppId>
<RedirectUri>YourRedirectUri</RedirectUri>
<ResourceId>YourResourceId</ResourceId>
</AADApp>
Configurar o manifesto local da carga de trabalho
Observação
Essa 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údo relacionado
- Saiba como trabalhar com a autenticação em cargas de trabalho.