Estrutura de consentimento da plataforma de identidades da Microsoft

As aplicações multi-arrendatários permitem a inscrição por contas de utilizador de inquilinos AZure AD que não o inquilino em que a app foi inicialmente registada. O plataforma de identidades da Microsoft quadro de consentimento permite que um administrador ou utilizador de inquilinos nestes outros inquilinos consinta (ou negue) o pedido de autorização de um pedido de acesso aos seus recursos.

Por exemplo, talvez uma aplicação web exija apenas acesso de leitura ao calendário de um utilizador em Microsoft 365. É o quadro de consentimento da plataforma de identidade que permite que o pedido do utilizador consinta no pedido de permissão da app para ler o seu calendário. Se o utilizador consentir, a aplicação pode ligar para o Microsoft Graph API em seu nome e obter os seus dados de calendário.

Os passos a seguir mostram como funciona a experiência de consentimento tanto para o desenvolvedor de aplicações como para o utilizador.

  1. Assuma que tem uma aplicação de cliente web que precisa solicitar permissões específicas para aceder a um recurso/API. Você vai aprender a fazer esta configuração na secção seguinte, mas essencialmente o portal do Azure é usado para declarar pedidos de permissão no momento da configuração. Tal como outras configurações, passam a fazer parte do registo AZure AD da aplicação:

    Permissions to other applications

  2. Considere que as permissões da sua aplicação foram atualizadas, a aplicação está em execução, e um utilizador está prestes a usá-la pela primeira vez. Em primeiro lugar, o pedido precisa de obter um código de autorização do ponto final da /authorize Azure AD. O código de autorização pode então ser usado para adquirir um novo acesso e atualização token.

  3. Se o utilizador ainda não estiver autenticado, o ponto final do /authorize Azure AD solicita ao utilizador que entre.

    User or administrator sign in to Azure AD

  4. Depois de o utilizador ter assinado, o Azure AD determinará se o utilizador precisa de ser mostrado uma página de consentimento. Esta determinação baseia-se no facto de o utilizador (ou administrador da sua organização) já ter concedido o consentimento do pedido. Se o consentimento ainda não tiver sido concedido, a Azure AD solicita o consentimento do utilizador e exibe as permissões necessárias para funcionar. O conjunto de permissões apresentadas no diálogo de consentimento correspondem às selecionadas nas permissões delegadas no portal do Azure.

    Shows an example of permissions displayed in the consent dialog

  5. Após o consentimento do utilizador, um código de autorização é devolvido à sua aplicação, que é resgatada para adquirir um token de acesso e atualização. Para obter mais informações sobre este fluxo, consulte o fluxo de código de autorização OAuth 2.0.

  6. Como administrador, também pode consentir com as permissões delegadas de uma aplicação em nome de todos os utilizadores do seu inquilino. O consentimento administrativo impede que o diálogo de consentimento apareça para cada utilizador do arrendatário, e pode ser feito no portal do Azure pelos utilizadores com a função de administrador. Para saber quais as funções de administrador que podem consentir com permissões delegadas, consulte permissões de funções de Administrador em Azure AD.

    Para consentir com as permissões delegadas de uma aplicação

    1. Aceda à página de permissões da API para a sua aplicação

    2. Clique no botão de consentimento de administração Grant .

      Grant permissions for explicit admin consent

    Importante

    A concessão de consentimento explícito utilizando o botão de permissões Grant é atualmente necessária para aplicações de uma página única (SPA) que usam MSAL.js. Caso contrário, a aplicação falha quando o token de acesso é solicitado.

Passos seguintes

Veja como converter uma app para multi-inquilino