Interaction entre les threads et les objets sécurisables

Quand un thread tente d’utiliser un objet sécurisable, le système effectue une vérification d’accès avant d’autoriser le thread à continuer. Dans un contrôle d’accès, le système compare les informations de sécurité dans le jeton d’accès du thread aux informations de sécurité dans le descripteur de sécuritéde l’objet.

  • Le jeton d’accès contient des identificateurs de sécurité (SID) qui identifient l’utilisateur associé au thread.
  • Le descripteur de sécurité identifie le propriétaire de l’objet et contient une liste de contrôle d’accès discrétionnaire (DACL, Discretionary Access Control List ). La liste DACL contient des entrées de contrôle d’accès (ACE), chacune spécifiant les droits d’accès accordés ou refusés à un utilisateur ou à un groupe spécifique.

Le système vérifie la liste DACL de l’objet, en recherchant les entrées de contrôle d’accès qui s’appliquent aux SID d’utilisateur et de groupe à partir du jeton d’accès du thread. Le système vérifie chaque ACE jusqu’à ce que l’accès soit accordé ou refusé, ou jusqu’à ce qu’il n’y ait plus de ACE à vérifier. En théorie, une liste de contrôle d’accès (ACL) peut avoir plusieurs entrées de contrôle d’accès (ACE) qui s’appliquent aux SID du jeton. Et, si cela se produit, les droits d’accès accordés par chaque ACE s’accumulent. Par exemple, si une entrée de contrôle d’accès accorde l’accès en lecture à un groupe et qu’une autre entrée de contrôle d’accès accorde l’accès en écriture à un utilisateur membre du groupe, l’utilisateur peut avoir un accès en lecture et en écriture à l’objet.

L’illustration suivante montre la relation entre ces blocs d’informations de sécurité :

relations entre les processus, les ACE et les DACL