Autenticação e autorização no Microsoft Entra ID
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.