Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aprenda a criar resiliência em aplicativos cliente que usam a plataforma de identidade da Microsoft e a ID do Microsoft Entra para conectar usuários e executar ações em nome desses usuários.
Usar a MSAL (Biblioteca de Autenticação da Microsoft)
A MSAL (Biblioteca de Autenticação da Microsoft) faz parte da plataforma de identidade da Microsoft. A MSAL adquire, gerencia, armazena em cache e atualiza tokens; ela usa as práticas recomendadas para resiliência. A MSAL ajuda os desenvolvedores a criar soluções seguras.
Saiba Mais:
- Visão geral da Biblioteca de Autenticação da Microsoft
- O que é a plataforma de identidade da Microsoft?
- Documentação da plataforma de identidade da Microsoft
A MSAL armazena tokens em cache e usa um padrão de aquisição de token silencioso. A MSAL serializa o cache de token em sistemas operacionais que fornecem armazenamento seguro nativamente, como a UWP (Plataforma Universal do Windows), o iOS e o Android. Personalize o comportamento de serialização quando você estiver usando:
- Microsoft.Identity.Web
- MSAL.NET
- MSAL para Java
- MSAL para Python
Saiba Mais:
Serialização de cache de token personalizada em MSAL para Java
Serialização de cache de token personalizada em MSAL para Python.
Quando você estiver usando a MSAL, há suporte para cache de token, atualização e aquisição silenciosa. Use padrões simples para adquirir os tokens para autenticação. Há suporte para muitos idiomas. Encontre um exemplo de código em exemplos de código da plataforma de identidade da Microsoft.
try
{
result = await app.AcquireTokenSilent(scopes, account).ExecuteAsync();
}
catch(MsalUiRequiredException ex)
{
result = await app.AcquireToken(scopes).WithClaims(ex.Claims).ExecuteAsync()
}
A MSAL é capaz de atualizar tokens. Quando a plataforma de identidade da Microsoft emite um token de longa duração, ele pode enviar informações ao cliente para atualizar o token (refresh_in). O aplicativo é executado enquanto o token antigo é válido, mas leva mais tempo para outra aquisição de token.
Versões da MSAL
Recomendamos que os desenvolvedores criem um processo para usar a versão mais recente da MSAL porque a autenticação faz parte da segurança do aplicativo. Use essa prática para bibliotecas em desenvolvimento e melhorar a resiliência do aplicativo.
Encontre as notas sobre a versão e a versão mais recente:
microsoft-authentication-library-for-js
microsoft-authentication-library-for-dotnet
microsoft-authentication-library-for-python
microsoft-authentication-library-for-java
microsoft-authentication-library-for-objc
microsoft-authentication-library-for-android
microsoft-identity-web
Padrões resilientes para manipulação de token
Se você não usar MSAL, use padrões resilientes para manipulação de token. A biblioteca MSAL implementa as práticas recomendadas.
Geralmente, aplicativos que utilizam autenticação moderna chamam um endpoint para obter tokens que autenticam o usuário ou autorizam o aplicativo a acessar as APIs protegidas. A MSAL manipula a autenticação e implementa padrões para melhorar a resiliência. Se você não usar a MSAL, use as diretrizes nesta seção para melhores práticas. Caso contrário, a MSAL implementará as práticas recomendadas automaticamente.
O sistema de autenticação de backup da ID do Microsoft Entra fornece resiliência a aplicativos que usam protocolos e fluxos com suporte. Para obter mais informações sobre os requisitos do aplicativo para se beneficiar da autenticação de backup, consulte os requisitos de aplicativo para o sistema de autenticação de backup.
Tokens de cache
Verifique se os aplicativos armazenam tokens em cache com precisão do plataforma de identidade da Microsoft. Depois que seu aplicativo recebe tokens, a resposta HTTP com tokens tem uma expires_in
propriedade que indica a duração do cache e quando reutilizá-la. Confirme se o aplicativo não tenta decodificar um token de acesso à API.
Os tokens armazenados em cache impedem o tráfego desnecessário entre um aplicativo e a plataforma de identidade da Microsoft. Esse cenário torna o aplicativo menos suscetível a falhas de aquisição de token, reduzindo as chamadas de aquisição de token. Os tokens armazenados em cache melhoram o desempenho do aplicativo, pois o aplicativo bloqueia a aquisição de tokens com menos frequência. Os usuários permanecem conectados ao aplicativo durante o tempo de vida do token.
Serializar e persistir tokens
Verifique se os aplicativos serializam seu cache de token com segurança para persistir os tokens entre instâncias de aplicativo. Reutilize os tokens durante o tempo de vida. Os tokens de atualização e os tokens de acesso são emitidos por muitas horas. Durante esse tempo, os usuários podem iniciar seu aplicativo várias vezes. Quando um aplicativo for iniciado, confirme se ele procura acesso válido ou um token de atualização. Isso aumenta a resiliência e o desempenho do aplicativo.
Saiba Mais:
Verifique se o armazenamento de token persistente tem controle de acesso e criptografia, em relação ao proprietário do usuário ou à identidade do processo. Em vários sistemas operacionais, há recursos de armazenamento de credenciais.
Adquirir tokens silenciosamente
Autenticar um usuário ou recuperar autorização para chamar uma API envolve várias etapas na plataforma de identidade da Microsoft. Por exemplo, os usuários que entram pela primeira vez inserem credenciais e executam uma autenticação multifator. Cada etapa afeta o recurso que fornece o serviço. A melhor experiência do usuário com as dependências mínimas é a aquisição silenciosa de token.
A aquisição de token silenciosa começa com um token válido do cache de tokens do aplicativo. Caso não haja um token válido, o aplicativo tenta adquirir um token usando um token de atualização disponível e o ponto de extremidade do token. Se nenhuma das opções estiver disponível, o aplicativo adquirirá um token usando o prompt=none
parâmetro. Essa ação usa o ponto de extremidade de autorização, mas nenhuma interface do usuário aparece para o usuário. Se possível, a plataforma de identidade da Microsoft fornece um token para o aplicativo sem interação do usuário. Se nenhum método resultar em um token, o usuário será reautenticado manualmente.
Observação
Em geral, verifique se os aplicativos não usam prompts como "logon" e "consentimento". Esses prompts forçam a interação do usuário, quando nenhuma interação é necessária.
Tratamento de código de resposta
Use as seções a seguir para saber mais sobre códigos de resposta.
Código de resposta HTTP 429
Há respostas de erro que afetam a resiliência. Se o aplicativo receber um código de resposta HTTP 429, Muitas Solicitações, a plataforma de identidade da Microsoft estará limitando suas solicitações. Se um aplicativo fizer muitas solicitações, ele será limitado para impedir que o aplicativo receba tokens. Não permita que um aplicativo tente a aquisição de tokens antes que o tempo do campo de resposta Retry-After termine. Geralmente, uma resposta 429 indica que o aplicativo não está armazenando em cache e reutilizando tokens corretamente. Confirme como os tokens são armazenados em cache e reutilizados no aplicativo.
Código de resposta HTTP 5x
Se um aplicativo receber um código de resposta HTTP 5x, o aplicativo não deverá inserir um loop de repetição rápido. Use o mesmo tratamento para uma resposta 429. Caso nenhum cabeçalho “Retry-After” aparecer, implemente uma nova tentativa de retirada exponencial com a primeira tentativa ocorrendo pelo menos 5 segundos após a resposta.
Quando uma solicitação atinge o tempo limite, novas tentativas imediatas são desaconselhadas. Implemente uma nova tentativa de retirada exponencial, com a primeira tentativa, pelo menos 5 segundos após a resposta.
Recuperando informações relacionadas à autorização
Muitos aplicativos e APIs precisam de informações do usuário para autorizar. Os métodos disponíveis têm vantagens e desvantagens.
Tokens
Tokens de identidade (ID) e tokens de acesso têm declarações padrão que fornecem informações. Se as informações necessárias estiverem no token, a técnica mais eficiente será as declarações de token, pois isso impede outra chamada de rede. Menos chamadas de rede equivalem a uma melhor resiliência.
Saiba Mais:
- Tokens de ID da plataforma de identidade da Microsoft
- Tokens de acesso da plataforma de identidade da Microsoft
Observação
Alguns aplicativos chamam o endpoint UserInfo para recuperar informações sobre o usuário autenticado. As informações no token de ID são um superconjunto de informações do endpoint UserInfo. Habilite os aplicativos a usar o token de ID em vez de chamar o endpoint UserInfo.
Aumente as declarações de token padrão com declarações opcionais, como grupos. A opção Grupo de Aplicativos inclui grupos atribuídos ao aplicativo. As opções todos ou grupos de segurança incluem grupos de aplicativos no mesmo locatário, que podem adicionar grupos ao token. Avalie o efeito, porque ele pode anular a eficiência da solicitação de grupos no token, causando a sobrecarga do token e exigindo mais chamadas para obter os grupos.
Saiba Mais:
Recomendamos que você use e inclua funções de aplicativo, que os clientes gerenciam usando o portal ou as APIs. Atribua funções a usuários e grupos para controlar o acesso. Quando um token é emitido, as funções atribuídas estão no atributo de funções do token. As informações derivadas de um token impedem mais chamadas de APIs.
Confira Adicionar funções de aplicativo a seu aplicativo e recebê-las no token
Adicione declarações com base nas informações do locatário. Por exemplo, uma extensão tem uma ID de Usuário específica da empresa.
Adicionar informações do diretório a um token é eficiente e aumenta a resiliência reduzindo as dependências. Ele não resolve problemas de resiliência devido à incapacidade de adquirir um token. Adicione declarações opcionais para os cenários primários do aplicativo. Se o aplicativo exigir informações para funcionalidade administrativa, o aplicativo poderá obter essas informações, conforme necessário.
Gráfico da Microsoft
O Microsoft Graph tem um ponto de extremidade de API unificado para acessar dados do Microsoft 365 sobre padrões de produtividade, identidade e segurança. Os aplicativos que usam o Microsoft Graph podem usar informações do Microsoft 365 para autorização.
Os aplicativos exigem um token para acessar o Microsoft 365, que é mais resiliente do que as APIs anteriores para componentes do Microsoft 365, como Microsoft Exchange ou Microsoft SharePoint, que exigiam vários tokens.
Ao usar APIs do Microsoft Graph, use um SDK do Microsoft Graph que simplifica a criação de aplicativos resilientes que acessam o Microsoft Graph.
Confira a visão geral do SDK do Microsoft Graph
Para autorização, considere usar declarações de token em vez de algumas chamadas do Microsoft Graph. Grupos de solicitação, funções de aplicativo e declarações opcionais em tokens. O Microsoft Graph para autorização requer mais chamadas de rede que dependem da plataforma de identidade da Microsoft e do Microsoft Graph. No entanto, se o aplicativo depender do Microsoft Graph como sua camada de dados, o Microsoft Graph para autorização não será mais arriscado.
Usar a autenticação do corretor em dispositivos móveis
Em dispositivos móveis, um agente de autenticação como o Microsoft Authenticator melhora a resiliência. O agente de autenticação usa um PRT (token de atualização primário) com declarações sobre o usuário e o dispositivo. Use PRT para os tokens de autenticação a fim de acessar outros aplicativos no dispositivo. Quando um PRT solicita acesso ao aplicativo, a ID do Microsoft Entra confia em seu dispositivo e nas declarações da MFA. Isso aumenta a resiliência reduzindo as etapas para autenticar o dispositivo. Os usuários não são desafiados com vários prompts de MFA no mesmo dispositivo.
Veja, o que é um token de atualização primário?
A MSAL dá suporte à autenticação do corretor. Saiba Mais:
- SSO por meio do agente de Autenticação no iOS
- Habilitar o SSO entre aplicativos no Android usando a MSAL
Avaliação contínua de acesso
A CAE (Avaliação Contínua de Acesso) aumenta a segurança e a resiliência do aplicativo com tokens de longa duração. Com o CAE, um token de acesso é revogado com base em eventos críticos e na avaliação de políticas, em vez das curtas durações de vida dos tokens. Para algumas APIs de recurso, como o risco e a política são avaliados em tempo real, o CAE aumenta o tempo de vida do token em até 28 horas. A MSAL atualiza tokens de longa vida útil.
Saiba Mais:
- Avaliação contínua de acesso
- Proteção de aplicativos com avaliação contínua de acesso
- Avaliação crítica de eventos
- Avaliação da política de acesso condicional
- Como usar APIs habilitadas para CAE em seus aplicativos
Se você desenvolve APIs de recursos, acesse openid.net
para ler Shared Signals – Uma estrutura de webhooks segura.
Próximas etapas
- Como usar APIs habilitadas para CAE em seus aplicativos
- Aumentar a resiliência da autenticação e autorização em aplicativos daemon desenvolvidos por você
- Gerar resiliência em sua infraestrutura de gerenciamento de identidade e acesso
- Criar resiliência no gerenciamento de acesso e identidade do cliente com o Azure AD B2C