Renforcer la sécurité avec le principe des privilèges minimum

Dans le cadre de la sécurité des informations, le principe des privilèges minimum affirme que les utilisateurs et applications ne doivent être autorisés à accéder qu’aux seules données et opérations dont ils ont besoin pour effectuer leurs tâches. Suivez les recommandations fournies ici pour réduire la surface d’attaque d’une application et l’impact d’une violation de la sécurité (rayon d’impact) si un tel incident devait se produire dans une application intégrée à la plateforme d’identités Microsoft.

Aperçu des recommandations

  • Empêchez l’octroi de privilèges excessifs aux applications en révoquant les autorisations inutilisées et réductibles.
  • Utilisez l’infrastructure de consentement de la plateforme d’identités pour exiger qu’un humain accepte la demande d’accès à des données protégées formulée par l’application.
  • Créez des applications en gardant les privilèges minimum à l’esprit à toutes les étapes du développement.
  • Auditez régulièrement les applications déployées pour identifier celles ayant des privilèges excessifs.

Applications avec des privilèges excessifs

Toute application disposant d’une autorisation inutilisée ou réductible est considérée comme dotée de privilèges excessifs. Les autorisations inutilisées et réductibles peuvent potentiellement offrir un accès non autorisé ou involontaire à des données ou opérations non requises par l’application ou ses utilisateurs pour effectuer leurs tâches. Évitez les risques de sécurité posés par les autorisations inutilisées et réductibles en accordant uniquement les autorisations appropriées. Les autorisations appropriées sont celles offrant l’accès le moins permissif requis par une application ou un utilisateur pour accomplir les tâches requises.

Autorisations non utilisées

Une autorisation inutilisée est une autorisation accordée à une application, mais dont l’API ou l’opération exposée par cette autorisation n’est pas invoquée par l’application lorsqu’elle est utilisée comme prévu.

  • Exemple : une application affiche la liste des fichiers stockés dans l’espace OneDrive de l’utilisateur connecté en invoquant l’API Microsoft Graph à l’aide de l’autorisation Files.Read. L’application a également reçu l’autorisation Calendars.Read, mais elle ne fournit pas de fonctionnalités de calendrier et n’invoque pas l’API Calendars.

  • Risque de sécurité : les autorisations inutilisées présentent un risque de sécurité en termes d’élévation horizontale des privilèges. Une entité qui exploite une faille de sécurité dans l’application peut utiliser une autorisation inutilisée pour accéder à une API ou une opération qui n’est pas normalement prise en charge ou autorisée par l’application lorsqu’elle est utilisée comme prévu.

  • Atténuation : supprimez les autorisations qui ne sont pas utilisées dans les appels d’API effectués par l’application.

Autorisations réductibles

Une autorisation réductible est une autorisation avec un équivalent à privilèges inférieurs qui permettrait de fournir à l’application et à ses utilisateurs l’accès dont ils ont besoin pour effectuer les tâches nécessaires.

  • Exemple : une application affiche les informations de profil de l’utilisateur connecté en appelant l’API Microsoft Graph, mais ne prend pas en charge la modification de profil. Toutefois, l’autorisation User.ReadWrite.All a été accordée à l’application. L’autorisation User.ReadWrite.All est considérée comme étant réductible ici, car l’autorisation User.Read.All moins permissive accorde un accès en lecture seule suffisant aux données de profil de l’utilisateur.

  • Risque de sécurité : les autorisations réductibles présentent un risque de sécurité en termes d’élévation verticale des privilèges. Une entité qui exploite une faille de sécurité dans l’application pourrait utiliser l’autorisation réductible pour établir un accès non autorisé aux données ou effectuer des opérations qui ne sont pas normalement autorisées par le rôle de l’entité.

  • Atténuation : remplacez chaque autorisation réductible dans l’application par son équivalent le moins permissif, qui permet toujours d’activer la fonctionnalité prévue de l’application.

La plupart des applications nécessitent d’accéder à des données protégées et le propriétaire de ces données doit autoriser cet accès en donnant son consentement. Le consentement peut être accordé de plusieurs façons, notamment par un administrateur de locataire qui peut donner son consentement pour tous les utilisateurs d’un locataire Microsoft Entra, ou par les utilisateurs de l’application eux-mêmes qui peuvent accorder l’accès.

Quand une application exécutée sur un appareil demande l’accès à des données protégées, elle doit toujours demander le consentement de l’utilisateur avant d’accorder l’accès à ces données. L’utilisateur doit donner (ou refuser) son consentement pour l’autorisation demandée afin que l’application puisse continuer.

Privilèges minimum lors du développement de l’application

La sécurité d’une application et les données utilisateur auxquelles elle accède est la responsabilité du développeur.

Suivez ces recommandations lorsque vous développez une application afin d’éviter de créer une application avec des privilèges excessifs :

  • Déterminez avec précision quelles autorisations sont nécessaires à l’application pour effectuer les appels d’API requis.
  • Identifiez l’autorisation avec le privilège minimum pour chaque appel d’API que l’application doit effectuer à l’aide de l’Afficheur Graph.
  • Recherchez les autorisations correspondantes, du niveau de privilège le moins élevé au plus élevé.
  • Supprimez les ensembles d’autorisations qui font double emploi si l’application effectue des appels d’API qui ont des autorisations redondantes.
  • Appliquez uniquement l’ensemble d’autorisations avec le moins de privilèges à l’application en choisissant l’autorisation avec le privilège minimum dans la liste des autorisations.

Privilèges minimum pour les applications déployées

Les organisations hésitent souvent à modifier les applications en cours d’exécution afin d’éviter d’impacter le cours normal de leur activité. Toutefois, une organisation doit considérer que l’atténuation du risque d’un incident de sécurité rendu possible ou plus sérieux par l’utilisation d’autorisations excessives mérite une mise à jour planifiée de l’application.

Appliquez ces pratiques standard dans une organisation pour garantir que les applications déployées ne sont pas excessivement pourvues en privilèges et ne le deviennent pas avec le temps :

  • Évaluez les appels d’API effectués à partir des applications.
  • Aidez-vous de l’Afficheur Graph et de la documentation Microsoft Graph pour déterminer les autorisations offrant les privilèges minimum nécessaires.
  • Vérifiez les privilèges accordés aux utilisateurs ou aux applications.
  • Modifiez les applications en leur accordant l’ensemble d’autorisations avec les privilèges minimum.
  • Revoyez régulièrement les autorisations déjà accordées pour vérifier qu’elles sont toujours pertinentes.

Étapes suivantes