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_ENUMERATE
DESKTOP_READOBJECTS
STANDARD_RIGHTS_READ
GENERIC_WRITE
DESKTOP_CREATEMENU
DESKTOP_CREATEWINDOW
DESKTOP_HOOKCONTROL
DESKTOP_JOURNALPLAYBACK
DESKTOP_JOURNALRECORD
DESKTOP_WRITEOBJECTS
STANDARD_RIGHTS_WRITE
GENERIC_EXECUTE
DESKTOP_SWITCHDESKTOP
STANDARD_RIGHTS_EXECUTE
GENERIC_ALL
DESKTOP_CREATEMENU
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.