Compartilhar via


Visão geral da autenticação

As cargas de trabalho do Fabric dependem da integração com o Microsoft Entra ID para autenticação e autorização.

Todas as interações entre as cargas de trabalho e outros componentes do Fabric ou do Azure devem ser acompanhadas por um suporte de autenticação adequado para as 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 as cargas de trabalho do Fabric. Também é recomendável examinar as melhores práticas e recomendações da plataforma de identidade da Microsoft.

Fluxos

  • Do front-end da carga de trabalho para o back-end da carga de trabalho

    Um exemplo dessa comunicação é qualquer API do plano de dados. Essa comunicação é feita com um token de entidade (token delegado).

    Para obter informações sobre como adquirir um token no FE da carga de trabalho, leia API de autenticação. Além disso, verifique a validação de token na visão geral de autenticação e autorização de back-end.

  • Do back-end do Fabric para o 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 do back-end para saber mais sobre esse token).

    Para que essa comunicação funcione, o usuário deverá dar consentimento ao aplicativo do Microsoft Entra.

  • Do back-end da carga de trabalho para o back-end do Fabric

    Isso é feito com um token SubjectAndApp para APIs de controle da carga de trabalho (por exemplo, ResolveItemPermissions) ou com um token Subject (para outras APIs do Fabric).

  • Do back-end da carga de trabalho para serviços externos

    Um exemplo dessa comunicação é gravar em um arquivo lakehouse. Isso é feito com o token de entidade ou um token do aplicativo, dependendo da API.

    Se você planeja se comunicar com os serviços usando um token de entidade, familiarize-se com os fluxos On behalf of.

    Consulte o Tutorial de autenticação para configurar o ambiente de trabalho da autenticação.

API JavaScript de Autenticação

O front-end do Fabric oferece uma API JavaScript para as cargas de trabalho do Fabric, que visam adquirir um token para o 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 Consentimento do usuário e do administrador no Microsoft Entra ID.

Como os consentimentos funcionam nas cargas de trabalho do Fabric?

Para conceder um consentimento para um aplicativo específico, o Fabric FE cria uma instância MSAL configurada com a ID do aplicativo da carga de trabalho e solicita um token para os escopos fornecidos (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, redireciona 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 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 Microsoft Entra ID redireciona o pop-up ao URI de redirecionamento, ele fecha).

Você pode ver o código/configuração do URI de redirecionamento no arquivo index.ts. Esse arquivo pode ser encontrado em Microsoft-Fabric-workload-development-sample, na pasta front-end.

Aqui está um exemplo de um pop-up de consentimento para o aplicativo "meu aplicativo de carga de trabalho" e suas dependências (armazenamento e Power BI) que configuramos ao passar pela configuração de autenticação:

Captura de tela do pop-up de consentimento.