Sécurité de l’objet de synchronisation et droits d’accès
le modèle de sécurité Windows vous permet de contrôler l’accès aux objets event, mutex, semaphore et timer waitable. Les files d’attente du minuteur, les variables interbloquées et les objets de section critique ne sont pas sécurisables. Pour plus d’informations, consultez modèle de contrôle d’accès.
Vous pouvez spécifier un descripteur de sécurité pour un objet de synchronisation interprocessus lorsque vous appelez la fonction CreateEvent, CreateMutex, CreateSemaphore,ou CreateWaitableTimer . Si vous spécifiez null, l’objet obtient un descripteur de sécurité par défaut. Les listes de contrôle d’accès (ACL) dans le descripteur de sécurité par défaut pour un objet de synchronisation proviennent du jeton principal ou d’emprunt d’identité du créateur.
Pour récupérer ou définir le descripteur de sécurité d’un événement, d’un mutex, d’un sémaphore ou d’un objet de minuteur qui peut être attendu, appelez les fonctions GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfoou SetSecurityInfo .
Les handles retournés par CreateEvent, CreateMutex, CreateSemaphore,et CreateWaitableTimer ont un accès complet au nouvel objet. Lorsque vous appelez les fonctions OpenEvent, OpenMutex, OpenSemaphoreet OpenWaitableTimer , le système vérifie les droits d’accès demandés par rapport au descripteur de sécurité de l’objet.
Les droits d’accès valides pour les objets de synchronisation interprocessus incluent les droits d’accès standard et certains droits d’accès spécifiques aux objets. Le tableau suivant répertorie les droits d’accès standard utilisés par tous les objets.
| Valeur | Signification |
|---|---|
| Supprimer (0x00010000L) | Requis pour supprimer l’objet. |
| Lecture _ CONTRÔLE (0x00020000L) | Requis pour lire les informations dans le descripteur de sécurité de l’objet, à l’exclusion des informations contenues dans la liste SACL. Pour lire ou écrire dans la liste SACL, vous devez demander le droit d’accès à la _ _ sécurité du système Access . Pour plus d’informations, consultez droit d’accès SACL. |
| Synchroniser (0x00100000L) | Droit d'utiliser l'objet pour la synchronisation. Cela permet à un thread d’attendre jusqu’à ce que l’objet soit dans l’état signalé. |
| Écriture _ DAC (0x00040000L) | Requis pour modifier la liste DACL dans le descripteur de sécurité de l’objet. |
| Écriture _ PROPRIÉTAIRE (0x00080000L) | Requis pour modifier le propriétaire dans le descripteur de sécurité de l’objet. |
Le tableau suivant répertorie les droits d’accès spécifiques à l’objet pour les objets d’événement. Ces droits sont pris en charge en plus des droits d’accès standard.
| Valeur | Signification |
|---|---|
| Événement _ TOUT _ accès (0x1F0003) | Tous les droits d’accès possibles pour un objet d’événement. Utilisez ce droit uniquement si votre application nécessite un accès au-delà de ce qui est accordé par les droits d’accès standard et l' _ _ État de modification d’événement. L’utilisation de ce droit d’accès augmente la possibilité que votre application soit exécutée par un administrateur. |
| Événement _ _État de modification (0x0002) | Modifiez l’accès à l’État, qui est requis pour les fonctions SetEvent, ResetEvent et PulseEvent n' . |
Le tableau suivant répertorie les droits d’accès spécifiques aux objets pour les objets mutex. Ces droits sont pris en charge en plus des droits d’accès standard.
| Valeur | Signification |
|---|---|
| MUTEX _ TOUT _ accès (0x1F0001) | Tous les droits d’accès possibles pour un objet Mutex. Utilisez ce droit uniquement si votre application nécessite un accès au-delà de ce qui est accordé par les droits d’accès standard. L’utilisation de ce droit d’accès augmente la possibilité que votre application soit exécutée par un administrateur. |
| MUTEX _ _État de modification (0x0001) | Réservé pour un usage futur. |
Le tableau suivant répertorie les droits d’accès spécifiques à l’objet pour les objets Semaphore. Ces droits sont pris en charge en plus des droits d’accès standard.
| Valeur | Signification |
|---|---|
| Sémaphore _ TOUT _ accès (0x1F0003) | Tous les droits d’accès possibles pour un objet Semaphore. Utilisez ce droit uniquement si votre application nécessite un accès au-delà de ce qui est accordé par les droits d’accès standard et l' _ _ État de modification de sémaphore. L’utilisation de ce droit d’accès augmente la possibilité que votre application soit exécutée par un administrateur. |
| Sémaphore _ _État de modification (0x0002) | Modifiez l’accès à l’État, qui est requis pour la fonction ReleaseSemaphore, . |
Le tableau suivant répertorie les droits d’accès spécifiques aux objets pour les objets de minuteur qui sont attendus. Ces droits sont pris en charge en plus des droits d’accès standard.
| Valeur | Signification |
|---|---|
| Minuteur _ TOUT _ accès (0x1F0003) | Tous les droits d’accès possibles pour un objet de minuteur qui peut être attendu. Utilisez ce droit uniquement si votre application nécessite un accès au-delà de ce qui est accordé par les droits d’accès standard et l' _ _ État de modification du minuteur. L’utilisation de ce droit d’accès augmente la possibilité que votre application soit exécutée par un administrateur. |
| Minuteur _ _État de modification (0x0002) | Modifiez l’accès à l’État, qui est requis pour les fonctions SetWaitableTimer et CancelWaitableTimer . |
| Minuteur _ _État de la requête (0x0001) | Réservé pour un usage futur. |
Pour lire ou écrire dans la liste SACL d’un objet de synchronisation interprocessus, vous devez demander le droit d’accès à la _ _ sécurité du système d’accès . Pour plus d’informations, consultez listes de contrôle d’accès (ACL) et droit d’accès SACL.