Visão geral da autenticação (visualização)
As cargas de trabalho de malha dependem da integração com o Microsoft Entra ID para autenticação e autorização.
Todas as interações entre cargas de trabalho e outros componentes do Fabric ou do Azure devem ser acompanhadas de suporte de autenticação adequado para solicitações recebidas ou enviadas. Os tokens enviados devem ser gerados corretamente, e os tokens recebidos também devem ser validados corretamente.
É recomendável que você se familiarize com a plataforma de identidade da Microsoft antes de começar a trabalhar com cargas de trabalho do Fabric. Também é recomendável examinar as práticas recomendadas e recomendações da plataforma de identidade da Microsoft.
Fluxos
Do front-end da carga de trabalho ao back-end da carga de trabalho
Um exemplo dessa comunicação é qualquer API de plano de dados. Esta comunicação é feita com um token de assunto (token delegado).
Para obter informações sobre como adquirir um token na carga de trabalho FE, leia API de autenticação. Além disso, certifique-se de examinar a validação de token na visão geral de autenticação e autorização de back-end.
Do back-end da malha ao back-end da carga de trabalho
Um exemplo dessa comunicação é Criar item de carga de trabalho. Essa comunicação é feita com um token SubjectAndApp, que é um token especial que inclui um token de aplicativo e um token de assunto combinados (consulte a Visão geral de autenticação e autorização de back-end para saber mais sobre esse token).
Para que esta comunicação funcione, o utilizador que utiliza esta comunicação tem de dar o seu consentimento à aplicação Microsoft Entra.
Do back-end da carga de trabalho ao back-end do Fabric
Isso é feito com um token SubjectAndApp para APIs de controle de carga de trabalho (por exemplo, ResolveItemPermissions) ou com um token Subject (para outras APIs de malha).
Do back-end da carga de trabalho aos serviços externos
Um exemplo de tal comunicação é escrever para um arquivo Lakehouse. Isso é feito com o token de assunto ou um token de aplicativo, dependendo da API.
Se você planeja se comunicar com serviços usando um token de assunto, certifique-se de estar familiarizado com Em nome dos fluxos.
Consulte o tutorial Autenticação para configurar seu ambiente para trabalhar com autenticação.
API JavaScript de autenticação
O front-end de malha oferece uma API JavaScript para cargas de trabalho de malha para adquirir um token para seu aplicativo no Microsoft Entra ID. Antes de trabalhar com a API JavaScript de autenticação, verifique a documentação da API JavaScript de autenticação.
Consentimentos
Para entender por que os consentimentos são necessários, consulte o consentimento do usuário e do administrador no Microsoft Entra ID.
Como funcionam os consentimentos em cargas de trabalho do Fabric?
Para conceder um consentimento para um aplicativo específico, o Fabric FE cria uma instância MSAL configurada com o ID do aplicativo da carga de trabalho e solicita um token para o escopo fornecido (additionalScopesToConsent - consulte AcquireAccessTokenParams).
Ao solicitar um token com o aplicativo de carga de trabalho para um escopo específico, o Microsoft Entra ID exibe um consentimento pop-up caso ele esteja ausente e, em seguida, redirecione a janela pop-up para o URI de redirecionamento configurado no aplicativo.
Normalmente, o URI de redirecionamento está no mesmo domínio da página que solicitou o token para que a página possa acessar o pop-up e fechá-lo.
No nosso caso, ele não está no mesmo domínio, já que o Fabric está solicitando o token e o URI de redirecionamento da carga de trabalho não está no domínio do Fabric, portanto, quando a caixa de diálogo de consentimento é aberta, ela precisa ser fechada manualmente após o redirecionamento - não usamos o código retornado no redirectUri e, portanto, apenas o fechamos automaticamente (quando o ID do Microsoft Entra redireciona o pop-up para o URI de redirecionamento, encerra).
Você pode ver o código/configuração do Uri de redirecionamento na index.ts do arquivo. Esse arquivo pode ser encontrado no exemplo Microsoft-Fabric-workload-development-sample, na pasta front-end.
Aqui está um exemplo de um pop-up de consentimento para nosso aplicativo "meu aplicativo de carga de trabalho" e suas dependências (armazenamento e Power BI) que configuramos ao examinar a configuração de autenticação: