Interaction entre les threads et les objets sécurisables
Lorsqu’un thread tente d’utiliser un objet sécurisable, le système effectue une case activée d’accès avant d’autoriser le thread à continuer. Dans un case activée 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). La liste DACL contient des entrées de contrôle d’accès (ACA), chacune spécifiant les droits d’accès autorisé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 ACL qui s’appliquent aux SID de l’utilisateur et du 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 d’ACL à case activée. Il est concevable qu’une liste de contrôle d’accès (ACL) ait plusieurs ACL 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 un ACE accorde l’accès en lecture à un groupe et qu’un autre ACE accorde un 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é :