Protegendo aplicativos com avaliação contínua de acesso

Este artigo irá ajudá-lo, como desenvolvedor, a melhorar a segurança do aplicativo com a Avaliação Contínua de Acesso. Você aprenderá como garantir o suporte Zero Trust em seus aplicativos que recebem autorização para acessar recursos quando adquirem tokens de acesso da ID do Microsoft Entra.

Quando o Microsoft Entra ID emite esses tokens de acesso, ele avalia totalmente as condições para essa autorização. O Microsoft Entra ID executa ações de autorização padrão, como garantir que o consentimento para o aplicativo foi concedido, sempre que emite tokens para solicitações de token iniciais e quando atualiza tokens.

O Microsoft Entra ID usa principalmente JSON Web Tokens (JWT) para tokens de acesso. Uma API de recurso pode decodificar, validar e interpretar o JWT sem precisar chamar de volta para o ID do Microsoft Entra em cada chamada para a API de recurso. O padrão JWT define uma declaração exp que identifica o tempo de expiração que você não deve aceitar o token JWT para processamento. Por padrão, os tokens do Microsoft Entra expiram de 60 a 90 minutos após a emissão. Seus aplicativos devem armazenar em cache e usar tokens de acesso durante esse período durante o qual o Microsoft Entra ID não avalia as condições de autorização.

Avaliação das condições fora da emissão do token

Os clientes da Microsoft expressaram preocupações sobre atrasos entre as alterações de condição do usuário e a imposição de alterações de política quando o Microsoft Entra ID emite tokens. Essa abordagem de vida útil reduzida do token pode degradar as experiências e a confiabilidade do usuário sem eliminar riscos.

Uma solução é avaliar as condições em cada chamada para um recurso protegido. A maneira mais comum de implementar essa imposição é a introspeção de tokens. A introspeção do token não usa um formato JWT para o token. Em vez disso, a introspeção de token usa uma cadeia de caracteres opaca que a API de recurso não pode interpretar. A API de recurso envia o token para o provedor de identidade em cada chamada. Em seguida, o provedor de identidade verifica se há condições e retorna os dados que a API de recurso pode usar para concluir a operação. Esse processo pode ser caro, pois adiciona outra solicitação da Web de ida e volta a cada chamada de API.

Para remediar essa despesa com a Avaliação de Acesso Contínuo (CAE), uma API de recurso pode escutar eventos que o Microsoft Entra ID envia por push sobre os tokens que o Microsoft Entra ID emite para a API de recurso. Por exemplo, quando seu aplicativo chama a API do Microsoft Graph, o Microsoft Graph pode verificar se recebeu eventos do Microsoft Entra ID sobre o token. Se as condições da autenticação original tiverem sido alteradas e o usuário precisar se autenticar novamente, o Microsoft Graph retornará um erro para o aplicativo de chamada.

O Microsoft Entra ID envia um evento para recursos da Microsoft habilitados para CAE quando qualquer um destes eventos ocorre:

  • Conta de utilizador eliminada ou desativada
  • Alterou ou redefiniu a senha do usuário
  • Autenticação multifator de usuário habilitada
  • O administrador revoga explicitamente todos os tokens de atualização de um usuário
  • A Proteção de ID do Microsoft Entra deteta risco elevado do usuário

Além disso, os recursos da Microsoft habilitados para CAE podem impor políticas de acesso condicional baseadas no local.

Melhore a segurança e a resiliência dos aplicativos com o CAE

O vídeo Mais seguro e resiliente de aplicativos criados no Microsoft Entra Continuous Access Evaluation demonstra a criação de um aplicativo cliente com suporte CAE.

Assista à apresentação acima para saber como os aplicativos funcionam ao usar a autenticação moderna com estas etapas:

  • Como os aplicativos funcionam ao usar a autenticação moderna
  • App pede identidade da Microsoft para tokens
  • O aplicativo recebe um token de acesso
  • API de chamadas de aplicativo / Autorização com JWT
  • Introspeção
  • Sinais e eventos partilhados
  • Avaliação de eventos críticos
  • Avaliação da política de Acesso Condicional
  • Chamada API Continuous Access Evaluation
  • Contestação de reclamações

A Avaliação Contínua de Acesso permite a autorização de um aplicativo para acessar um recurso revogado fora do tempo de vida do token de acesso. Por exemplo, um aplicativo tem um token que é válido por mais 75 minutos. Um usuário tem um estado de alto risco devido a credenciais violadas. O CAE bloqueará o acesso do aplicativo ao recurso, exigindo que o usuário se autentique novamente antes de continuar. Assim, o CAE atinge seu principal objetivo de melhorar a segurança do aplicativo.

Como o acesso a um recurso pode ser revogado fora do tempo de vida de um token, o Microsoft Entra ID pode emitir tokens por um tempo de vida mais longo. Para aplicativos que suportam CAE, o Microsoft Entra ID pode emitir tokens válidos por até 28 horas. Embora essa vida útil mais longa do token não melhore a resiliência do aplicativo, ele reduz os custos do aplicativo, pois o aplicativo precisará solicitar tokens com muito menos frequência.

O CAE melhora a resiliência de um aplicativo a problemas que o aplicativo pode encontrar ao adquirir um token de acesso do Microsoft Entra ID. Sempre que possível, o Microsoft Entra ID emitirá um tempo de atualização como parte de uma resposta de token que contém um token de acesso. As Bibliotecas de Autenticação da Microsoft (MSAL) usam esse tempo de atualização para atualizar proativamente o token. O tempo de atualização é uma fração (geralmente metade) do tempo de expiração do token. Desde que o MSAL seja capaz de atualizar o token de acesso antes do tempo de expiração do token, o aplicativo é resiliente a problemas de atualização do token.

Por exemplo, quando um aplicativo oferece suporte a CAE, o Microsoft Entra ID emite um token que autoriza o aplicativo a chamar o Microsoft Graph válido por 24 horas. Em seguida, o Microsoft Entra ID diz à MSAL para atualizar proativamente o token após 12 horas. Se as tentativas do MSAL de atualizar o token de acesso falharem porque o token de acesso original ainda é válido por mais 12 horas, o aplicativo será mais resiliente a problemas quando adquirir tokens do Microsoft Entra ID.

Implementando a Avaliação Contínua de Acesso em seu aplicativo

Conforme descrito em Como usar APIs habilitadas para Avaliação Contínua de Acesso em seus aplicativos, tanto seu aplicativo quanto a API de recurso que ele está acessando devem ser habilitados para CAE. No entanto, preparar seu código para usar um recurso habilitado para CAE não impedirá que você use APIs que não estejam habilitadas para CAE. Os aplicativos que não usam o MSAL podem adicionar suporte para desafios de declarações, solicitações de declarações e recursos de cliente para usar o CAE.

Próximos passos