Desenvolvimento de aplicativos Microsoft Entra

Concluído

Agora que você tem uma melhor compreensão dos princípios básicos e benefícios do Microsoft Entra ID, você precisa determinar como você pode usar seus recursos para implementar autenticação e autorização para seu aplicativo. Você percebe que, para ajudar a proteger os dados de seus clientes, você precisa garantir que sua implementação se integre aos mecanismos de controle de acesso do PostgreSQL. Você decidiu começar identificando as tarefas envolvidas no desenvolvimento, provisionamento e gerenciamento de aplicativos Microsoft Entra. Você também deseja determinar como pode atender à necessidade de fornecer acesso ao seu aplicativo para vários clientes.

Para implementar aplicativos baseados em ID do Microsoft Entra, você precisará executar várias tarefas de gerenciamento relacionadas ao aplicativo, incluindo registrar, configurar suas permissões e gerenciar seus segredos.

O que é o registo de candidatura?

Ao operar em um ambiente Microsoft Entra, um usuário se autentica em um aplicativo em dois estágios:

  1. Primeiro, o Microsoft Entra ID verifica a identidade do usuário. Após a autenticação bem-sucedida, o Microsoft Entra ID emite tokens que contêm informações que refletem a autenticação bem-sucedida.
  2. O usuário passa tokens para o aplicativo. O aplicativo valida os tokens de segurança do usuário para garantir que a autenticação foi bem-sucedida.

Para executar essa validação, o aplicativo deve ser capaz de se comunicar com segurança com o Microsoft Entra ID. Isso, por sua vez, requer que o próprio aplicativo opere como uma entidade de segurança do Microsoft Entra. Para tornar isso possível, você deve garantir que o aplicativo seja representado de alguma forma no mesmo locatário do Microsoft Entra que contém a conta do usuário autenticador.

Há duas representações de um aplicativo no Microsoft Entra ID:

  • Um objeto application, que define as propriedades do aplicativo.
  • Uma entidade de serviço, que fornece funcionalidade de autenticação e autorização e faz referência ao objeto do aplicativo.

Você pode criar objetos de aplicativo diretamente no portal do Azure a partir da folha Registros de Aplicativo. Para seus próprios aplicativos personalizados, esse registro cria automaticamente a entidade de serviço correspondente. Depois, você pode gerenciar entidades de serviço no portal do Azure a partir da folha Aplicativos Empresariais.

Durante o registro do aplicativo, você tem a opção de especificar o URI (uniform resource identifier) de redirecionamento do aplicativo. Seu valor designa o local para o qual o servidor de autorização redireciona o usuário depois que o aplicativo foi autorizado com êxito. O servidor de autorização envia o código ou token para o URI de redirecionamento, por isso é importante que você registre o local correto como parte do processo de registro do aplicativo.

Nota

O URI de redirecionamento deve começar com https, a menos que esteja fazendo referência a localhost, caso em que você pode usar http://localhost. Também diferencia maiúsculas de minúsculas.

O que são permissões de aplicativos?

Os aplicativos que se integram ao Microsoft Entra ID seguem um modelo de autorização que permite controlar de forma granular suas permissões para outros aplicativos e recursos integrados do Microsoft Entra. O Microsoft Entra ID depende do modelo de autorização OAuth 2.0 para implementar essas permissões. No OAuth 2.0, as permissões são organizadas em conjuntos, comumente chamados de escopos.

Como desenvolvedor, você solicita as permissões de que seu aplicativo precisa especificando uma cadeia de caracteres de permissão como parte de sua configuração. Por exemplo, definindo a cadeia de caracteres de permissão como "https://graph.microsoft.com/Calendars.Read", você indica que o aplicativo precisará ser capaz de ler os calendários dos usuários no Microsoft Graph. O aplicativo deve receber essas permissões por meio de um consentimento, que deve ser concedido por um usuário do Microsoft Entra ou por um administrador do Microsoft Entra, dependendo da extensão dessas permissões.

O Microsoft Entra ID suporta dois tipos de permissões:

  • As permissões delegadas são usadas por aplicativos interativos com um usuário conectado. Como resultado, o aplicativo age em nome de um usuário conectado quando ele acessa o recurso de destino.
  • As permissões de aplicativos são usadas por aplicativos que são executados sem depender de um usuário conectado, como serviços em segundo plano. Estas aplicações requerem consentimento administrativo.

O que são segredos de aplicação?

Existem dois tipos de autenticação disponíveis para os principais de serviço:

  • Autenticação baseada em senha, que depende de segredos de aplicativo que você pode gerar diretamente no portal do Azure. Ao gerar um segredo, você especifica seu tempo de vida.
  • Autenticação baseada em certificados, que depende de certificados que você carrega para o Microsoft Entra ID.

Nota

Se seu aplicativo for hospedado por um recurso de computação do Azure, como uma máquina virtual (VM) do Azure, um aplicativo Web do Serviço de Aplicativo do Azure ou um cluster AKS, em vez de usar entidades de serviço, considere usar identidades gerenciadas para sua identidade de aplicativo. Isso elimina a necessidade de gerenciar senhas ou certificados para autenticação.

Quais são os diferentes tipos de cenários de autenticação de aplicativos?

O fluxo de autenticação e os detalhes de configuração correspondentes dependem do tipo de aplicativo. As categorias comuns de tipos de aplicação incluem:

  • Aplicações baseadas em browser. Estes são aplicativos Web nos quais os tokens são adquiridos por um aplicativo JavaScript ou TypeScript em execução no navegador. Esses aplicativos geralmente usam uma estrutura como Angular, React ou Vue. MSAL.js é a única biblioteca de autenticação da Microsoft que oferece suporte a SPAs.
  • Aplicações clientes públicas. Esses são aplicativos que sempre dependem de usuários conectados para obter tokens. Esses aplicativos incluem aplicativos para desktop e dispositivos móveis que chamam APIs da Web em nome de usuários conectados.
  • Aplicações de clientes confidenciais. Estes obtêm tokens por conta própria. Os aplicativos nessa categoria incluem aplicativos Web que chamam uma API da Web, APIs da Web que chamam outra API da Web, daemons do Linux e serviços do Windows.

Os dois primeiros itens acima autenticam um usuário, enquanto o terceiro apenas autentica um aplicativo ou serviço entre o usuário e um serviço back-end. Nesse caso, o serviço de back-end não saberá nada sobre o usuário final, mas saberá qual aplicativo o está usando. Por exemplo, pense em um aplicativo usando mapas do Azure como um serviço back-end. O serviço de mapas precisa saber que um aplicativo autorizado está ligando para o faturamento correto, mas não precisa saber nada sobre o usuário final.

Qual é a diferença entre aplicativos Microsoft Entra de locatário único e multilocatário?

Como desenvolvedor, você pode optar por configurar seu aplicativo para ser locatário único ou multilocatário durante o registro do aplicativo:

  • As aplicações de inquilino único só estão disponíveis no inquilino em que foram registadas e são referidas como o seu inquilino doméstico.
  • Os aplicativos multilocatários estão disponíveis para usuários em seu locatário doméstico e outros locatários do Microsoft Entra.

Se você usar o portal do Azure para registro de aplicativo, especifique a locação do aplicativo definindo sua propriedade audience com um dos seguintes valores:

  • Contas apenas neste diretório. Isso resulta na configuração de locatário único. Efetivamente, isso permite que você conceda acesso ao aplicativo a qualquer entidade de segurança em seu locatário, incluindo contas de convidado.
  • Contas em qualquer diretório do Microsoft Entra. Isso resulta em uma configuração multilocatário. Isso permite que usuários fora da sua organização registrem o aplicativo em seus respetivos locatários do Microsoft Entra.
  • Contas em qualquer diretório do Microsoft Entra e contas pessoais da Microsoft (como Skype, Xbox, Outlook.com). Isso também resulta em uma configuração multilocatário, mas possibilita que usuários com contas pessoais da Microsoft usem o aplicativo.

Nota

Um objeto de aplicativo existe apenas no locatário doméstico, mas no caso da configuração multilocatário, ele pode ser referenciado por várias entidades de serviço em diferentes locatários do Microsoft Entra.