Sécurisation des applications avec l’évaluation continue de l’accès

Cet article vous aidera, en tant que développeur, à améliorer la sécurité des applications avec l’évaluation continue de l’accès. Vous allez apprendre à garantir Confiance Zéro prise en charge dans vos applications qui reçoivent l’autorisation d’accéder aux ressources lorsqu’elles obtiennent des jetons d’accès à partir de Microsoft Entra ID.

Lorsque Microsoft Entra ID émet ces jetons d’accès, il évalue entièrement les conditions de cette autorisation. Microsoft Entra ID effectue des actions d’autorisation standard, telles que la garantie que le consentement de l’application a été accordé, chaque fois qu’elle émet des jetons pour les demandes de jeton initiales et lorsqu’elle actualise les jetons.

Microsoft Entra ID utilise principalement des jetons web JSON (JWT) pour les jetons d’accès. Une API de ressource peut décoder, valider et interpréter le JWT sans avoir à rappeler Microsoft Entra ID sur chaque appel à l’API de ressource. La norme JWT définit une revendication exp qui identifie l’heure d’expiration à laquelle vous ne devez pas accepter le jeton JWT pour le traitement. Par défaut, les jetons Microsoft Entra expirent de 60 à 90 minutes après le problème. Vos applications doivent mettre en cache et utiliser des jetons d’accès pour cette période pendant laquelle Microsoft Entra ID n’évalue pas les conditions d’autorisation.

Évaluation des conditions en dehors de l’émission du jeton

Les clients Microsoft ont exprimé des préoccupations concernant les retards entre les modifications de condition utilisateur et l’application des modifications de stratégie lorsque Microsoft Entra ID émet des jetons. Cette approche de durée de vie de jeton réduite peut dégrader les expériences utilisateur et la fiabilité sans éliminer les risques.

Une solution consiste à évaluer les conditions de chaque appel à une ressource protégée. La façon la plus courante d’implémenter cette application est l’introspection des jetons. L’introspection de jeton n’utilise pas de format JWT pour le jeton. Au lieu de cela, l’introspection de jeton utilise une chaîne opaque que l’API de ressource ne peut pas interpréter. L’API de ressource envoie le jeton au fournisseur d’identité sur chaque appel. Le fournisseur d’identité case activée ensuite pour toutes les conditions et retourne les données que l’API de ressource peut utiliser pour terminer l’opération. Ce processus peut être coûteux, car il ajoute une autre demande web aller-retour à chaque appel d’API.

Pour résoudre ce problème avec l’évaluation continue de l’accès (CAE), une API de ressource peut écouter les événements envoyés par Microsoft Entra ID sur les jetons que l’ID Microsoft Entra émet pour l’API de ressource. Par exemple, lorsque votre application appelle l’API Microsoft Graph, Microsoft Graph peut case activée si elle a reçu des événements de Microsoft Entra ID sur le jeton. Si les conditions de l’authentification d’origine ont changé et que l’utilisateur doit se réauthentifier, Microsoft Graph renvoie une erreur à l’application appelante.

Microsoft Entra ID envoie un événement aux ressources Microsoft compatibles avec CAE quand l’un de ces événements se produit :

  • Compte d'utilisateur supprimé ou désactivé
  • Modification ou réinitialisation du mot de passe de l'utilisateur
  • Activer l’authentification multifacteur par utilisateur
  • Un administrateur révoque explicitement tous les jetons d’actualisation d’un utilisateur
  • Protection des ID Microsoft Entra détecte les risques élevés pour l’utilisateur.

En outre, les ressources Microsoft compatibles avec CAE peuvent appliquer des stratégies d’accès conditionnel basées sur l’emplacement.

Améliorer la sécurité et la résilience des applications avec CAE

Les applications plus sécurisées et résilientes basées sur la vidéo d’évaluation de l’accès continu Microsoft Entra illustrent la création d’une application cliente avec prise en charge de CAE.

Regardez la présentation ci-dessus pour découvrir comment les applications fonctionnent lors de l’utilisation de l’authentification moderne en procédant comme suit :

  • Comment les applications fonctionnent lorsqu'elles utilisent l'authentification moderne
  • L’application demande l’identité Microsoft pour les jetons
  • L’application reçoit un jeton d’accès
  • API d’appel d’application / Autorisation avec JWT
  • Introspection
  • Signaux partagés et événements
  • Évaluation des événements critiques
  • Évaluation de la stratégie d’accès conditionnel
  • Appelé Évaluation de l’accès continu de l’API
  • Défi des revendications

L’évaluation continue de l’accès permet à une application d’accéder à une ressource révoquée en dehors de la durée de vie du jeton d’accès. Par exemple, une application a un jeton valide pendant 75 minutes supplémentaires. Un utilisateur a un état à haut risque en raison d’informations d’identification enfreintes. L’autorité de certification bloque l’accès de l’application à la ressource, ce qui oblige l’utilisateur à se réauthentifier avant de continuer. Par conséquent, CAE atteint son objectif principal d’améliorer la sécurité des applications.

Comme l’accès à une ressource peut être révoqué en dehors de la durée de vie d’un jeton, Microsoft Entra ID peut émettre des jetons pendant une durée de vie plus longue. Pour les applications qui prennent en charge CAE, Microsoft Entra ID peut émettre des jetons valides pendant jusqu’à 28 heures. Bien que cette durée de vie de jeton plus longue n’améliore pas la résilience de l’application, elle réduit les coûts d’application, car l’application devra demander des jetons beaucoup moins fréquemment.

CAE améliore la résilience d’une application aux problèmes rencontrés par l’application lors de l’acquisition d’un jeton d’accès à partir de Microsoft Entra ID. Dans la mesure du possible, Microsoft Entra ID émet une heure d’actualisation dans le cadre d’une réponse de jeton qui contient un jeton d’accès. Les bibliothèques d’authentification Microsoft (MSAL) utilisent cette heure d’actualisation pour actualiser de manière proactive le jeton. Le temps d’actualisation est une fraction (généralement la moitié) de l’heure d’expiration du jeton. Tant que MSAL est en mesure d’actualiser le jeton d’accès avant le délai d’expiration du jeton, l’application est résiliente aux problèmes d’actualisation des jetons.

Par exemple, lorsqu’une application prend en charge CAE, Microsoft Entra ID émet un jeton qui autorise l’application à appeler Microsoft Graph valide pendant 24 heures. Microsoft Entra ID indique ensuite à MSAL d’actualiser de manière proactive le jeton après 12 heures. Si MSAL tente d’actualiser le jeton d’accès échoue, car le jeton d’accès d’origine est toujours valide pendant 12 heures supplémentaires, l’application est plus résiliente aux problèmes lorsqu’elle acquiert des jetons à partir de Microsoft Entra ID.

Implémentation de l’évaluation continue de l'accès dans votre application

Comme indiqué dans la section Comment utiliser des API compatibles avec l'évaluation continue de l'accès dans vos applications, votre application et la ressource API à laquelle elle accède doivent être compatibles avec l'évaluation continue de l'accès. Toutefois, la préparation de votre code pour l’utilisation d’une ressource avec CAE ne vous empêche pas d’utiliser des API qui ne prennent pas en charge cette évaluation continue de l’accès. Les applications qui n'utilisent pas MSAL peuvent ajouter la prise en charge des contestations de créances, des demandes de créances et des capacités du client à utiliser la CAE.

Étapes suivantes