Protegendo aplicativos com a Avaliação contínua de acesso

Este artigo ajudará você, como desenvolvedor, a melhorar a segurança do aplicativo com a Avaliação de Acesso Contínuo. Você aprenderá como garantir o suporte para Confiança Zero no seus aplicativos que recebem autorização para acessar recursos quando adquirem tokens de acesso do Microsoft Entra ID.

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 tenha sido concedido, toda vez que emite tokens para solicitações iniciais de token e quando atualiza tokens.

O Microsoft Entra ID utiliza 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 a 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 em ou depois que você não deve aceitar o token do 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 utilizar tokens de acesso para esse período durante o qual o Microsoft Entra ID não avalia as condições de autorização.

Avaliando 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 do usuário e a confiabilidade 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 introspecção de tokens. A introspecção do token não utiliza um formato JWT para o token. Em vez disso, a introspecção de token utiliza 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 quaisquer condições e retorna dados que a API de recurso pode utilizar 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 contínua de acesso (CAE), uma API de recurso pode escutar eventos que a ID do Microsoft Entra envia por push sobre os tokens que a ID do Microsoft Entra 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.

A ID do Microsoft Entra envia um evento para recursos da Microsoft habilitados para CAE quando qualquer um desses eventos ocorre:

  • Conta de usuário excluída ou desabilitada
  • Senha de usuário alterada ou redefinida
  • Habilitar a autenticação multifator de usuários
  • O administrador revoga explicitamente todos os tokens de atualização para um usuário
  • O Microsoft Entra ID Protection detecta um risco elevado para o usuário

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

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

O vídeo Aplicativos mais seguros e resilientes criados no Microsoft Entra Continuous Access Evaluation demonstra a criação de um aplicativo cliente com suporte para CAE.

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

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

A Avaliação de Acesso Contínuo permite que a autorização de um aplicativo acesse um recurso revogado fora do tempo de vida do token de acesso. Por exemplo, um aplicativo tem um token 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 uma vida mais longa. Para aplicativos que oferecem suporte a 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, ela 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. Contanto 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 de 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 que é válido por 24 horas. Em seguida, o Microsoft Entra ID diz à MSAL para atualizar proativamente o token após 12 horas. Se a MSAL tentar atualizar o token de acesso falhar porque o token de acesso original ainda é válido por mais 12 horas, o aplicativo ficará mais resistente a problemas quando adquirir tokens do Microsoft Entra ID.

Implementando a Avaliação de Acesso Contínuo no seu aplicativo

Conforme descrito em Como usar APIs habilitadas para Avaliação contínua de acesso em seus aplicativos, tanto o seu aplicativo quanto a API do recurso que ele está acessando devem estar habilitados para CAE. No entanto, a preparação do código para usar um recurso habilitado para CAE não impedirá o uso de APIs que não sejam habilitadas para CAE. Os aplicativos que não usam a MSAL podem adicionar suporte para desafios de declarações, solicitações de declarações e recursos do cliente para usar a CAE.

Próximas etapas