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 Access-Control Modèle.
Vous pouvez spécifier un descripteur de sécurité pour un objet de bureau lorsque vous appelez leCreateDesktopou fonction 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 pour 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 le OpenDesktop ou fonction d' 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 à l’objet. 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) | Requis 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 de contrôle d’accès partagé, vous devez demander le droit d’accès ACCESS_SYSTEM_SECURITY. Pour plus d’informations, consultez accès SACL Right. |
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) | 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.
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 la lecture de journal sur un bureau. |
DESKTOP_JOURNALRECORD (0x0010L) | Requis pour effectuer l’enregistrement journal sur un bureau. |
DESKTOP_READOBJECTS (0x0001L) | Obligatoire pour lire des objets sur le bureau. |
DESKTOP_SWITCHDESKTOP (0x0100L) | Obligatoire pour activer le bureau à l’aide de la fonctionSwitchDesktop. |
DESKTOP_WRITEOBJECTS (0x0080L) | Requis 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 de contrôle d’accès de l’objet. Pour plus d’informations, consultez Access-Control listes de contrôle d’accès (ACL) et accès SACL Right.