Autenticação e autorização no Microsoft Entra ID

Concluído

O Microsoft Entra ID suporta protocolos de identidade modernos, incluindo OAuth 2.0 e OpenID Connect. Bibliotecas como a MSAL4J ajudam as aplicações a utilizar esses protocolos sem implementar todas as interações do protocolo por si próprias.

No cenário do portal da empresa, o Microsoft Entra ID é o fornecedor de identidade. O portal depende dele para autenticar contas e emitir tokens, mas continua a ter responsabilidades pelas suas próprias sessões e decisões de autorização.

Autenticação

A autenticação estabelece e verifica uma identidade. Para uma aplicação voltada para o utilizador, responde à pergunta: "Quem é este utilizador?"

O OpenID Connect adiciona uma camada de identidade ao OAuth 2.0. Uma aplicação pode receber um token ID contendo afirmações sobre um utilizador autenticado e o evento de autenticação. O token ID destina-se à aplicação cliente; não é o token que a aplicação envia para o Microsoft Graph.

Autorização

A autorização determina se uma identidade tem permissão para realizar uma operação ou aceder a dados. Responde à pergunta: "O que é que este utilizador ou aplicação pode fazer?"

O OAuth 2.0 fornece fluxos para obtenção de tokens de acesso para APIs protegidas. No cenário do portal, um token de acesso Microsoft Graph permite que o portal solicite dados específicos em nome do utilizador iniciado sessão, sujeito às permissões concedidas.

A tabela seguinte distingue as responsabilidades de autenticação e autorização do portal.

Preocupação Exemplo no portal
Autenticação O Microsoft Entra ID autentica uma conta e o portal recebe um token de identificação através do fluxo de iniciação de sessão.
Autorização API Um token de acesso do Microsoft Graph inclui permissão delegada para ler o perfil do utilizador com sessão iniciada.
Autorização de candidatura O portal aplica quaisquer regras adicionais que controlem o acesso às suas próprias páginas ou operações empresariais.

A autenticação bem-sucedida não concede automaticamente acesso a todas as páginas ou APIs. Por exemplo, a pertença a um tenant, por si só, não estabelece que uma pessoa é funcionário.

Registo da aplicação

Um registo de aplicação descreve uma aplicação para o Microsoft Entra ID. Estabelece a identidade da aplicação e regista definições como o seu público de início de sessão e os URIs de redirecionamento. Os registos podem ser geridos através do portal Azure, CLI do Azure ou APIs Microsoft Graph; não é criado registo neste módulo.

Os tipos de conta suportados definem o público de iniciação de sessão:

  • As contas neste diretório organizacional identificam apenas um público de inquilino único, incluindo contas de utilizador e convidados no tenant selecionado.
  • Contas de qualquer diretório organizacional permite contas de locatários do Microsoft Entra numa arquitetura multitenant.
  • Contas em qualquer diretório organizacional e contas pessoais da Microsoft também permitem contas pessoais da Microsoft.
  • As contas pessoais da Microsoft limitam o público a contas pessoais da Microsoft, como as contas do Outlook.com.

O registo tem um ID de Aplicação (cliente) que identifica a aplicação nos pedidos do protocolo. Uma aplicação web confidencial também utiliza uma credencial de aplicação para se autenticar durante a aquisição de tokens. O ID do cliente e a credencial têm propósitos diferentes: um identificador não é segredo.

A unidade seguinte interpreta um registo de exemplo e liga as suas definições aos exemplos de código.