Sécurité du bureau et droits d’accès
La sécurité vous permet de contrôler l’accès aux objets de bureau. Pour plus d’informations sur la sécurité, consultez Modèle de contrôle d’accès.
Vous pouvez spécifier un descripteur de sécurité pour un objet de bureau lorsque vous appelez la fonction CreateDesktop ou CreateDesktopEx . Si vous spécifiez NULL, le bureau obtient un descripteur de sécurité par défaut. Les listes de contrôle d’accès dans le descripteur de sécurité par défaut d’un bureau proviennent de sa station de fenêtre parente.
Pour obtenir ou définir le descripteur de sécurité d’un objet de station de fenêtre, appelez les fonctions GetSecurityInfo et SetSecurityInfo .
Lorsque vous appelez la fonction OpenDesktop ou OpenInputDesktop , 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 bureau 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 |
---|---|
DELETE (0x00010000L) | Obligatoire pour supprimer l’objet. |
READ_CONTROL (0x00020000L) | Obligatoire pour lire les informations dans le descripteur de sécurité de l’objet, sans inclure les informations dans la liste de contrôle d’accès partagé. Pour lire ou écrire la liste d’accès SACL, vous devez demander le droit d’accès ACCESS_SYSTEM_SECURITY. Pour plus d’informations, consultez Droit d’accès SACL. |
SYNCHRONIZE (0x00100000L) | Non pris en charge pour les objets de bureau. |
WRITE_DAC (0x00040000L) | Obligatoire pour modifier la liste DACL dans le descripteur de sécurité de l’objet. |
WRITE_OWNER (0x00080000L) | Obligatoire 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.
Droit d’accès | Description |
---|---|
DESKTOP_CREATEMENU (0x0004L) | Obligatoire pour créer un menu sur le bureau. |
DESKTOP_CREATEWINDOW (0x0002L) | Obligatoire pour créer une fenêtre sur le bureau. |
DESKTOP_ENUMERATE (0x0040L) | Obligatoire pour que le bureau soit énuméré. |
DESKTOP_HOOKCONTROL (0x0008L) | Obligatoire pour établir l’un des crochets de fenêtre. |
DESKTOP_JOURNALPLAYBACK (0x0020L) | Obligatoire pour effectuer une lecture de journal sur un bureau. |
DESKTOP_JOURNALRECORD (0x0010L) | Obligatoire pour effectuer l’enregistrement de journal sur un ordinateur de bureau. |
DESKTOP_READOBJECTS (0x0001L) | Obligatoire pour lire des objets sur le bureau. |
DESKTOP_SWITCHDESKTOP (0x0100L) | Obligatoire pour activer le bureau à l’aide de la fonction SwitchDesktop . |
DESKTOP_WRITEOBJECTS (0x0080L) | Obligatoire pour écrire des objets sur le bureau. |
Voici les droits d’accès génériques pour un objet de bureau contenu dans la station de fenêtre interactive de la session d’ouverture de session de l’utilisateur.
Droit d’accès | Description |
---|---|
GENERIC_READ |
DESKTOP_READOBJECTS STANDARD_RIGHTS_READ |
GENERIC_WRITE |
DESKTOP_CREATEWINDOW DESKTOP_HOOKCONTROL DESKTOP_JOURNALPLAYBACK DESKTOP_JOURNALRECORD DESKTOP_WRITEOBJECTS STANDARD_RIGHTS_WRITE |
GENERIC_EXECUTE |
STANDARD_RIGHTS_EXECUTE |
GENERIC_ALL |
DESKTOP_CREATEWINDOW DESKTOP_ENUMERATE DESKTOP_HOOKCONTROL DESKTOP_JOURNALPLAYBACK DESKTOP_JOURNALRECORD DESKTOP_READOBJECTS DESKTOP_SWITCHDESKTOP DESKTOP_WRITEOBJECTS STANDARD_RIGHTS_REQUIRED |
Vous pouvez demander le droit d’accès ACCESS_SYSTEM_SECURITY à un objet de bureau si vous souhaitez lire ou écrire la liste SACL de l’objet. Pour plus d’informations, consultez Listes de contrôle d’accès (ACL) et Droit d’accès SACL.