Partager via


Sécurité du mappage de fichiers et droits d'accès

Le modèle de sécurité Windows vous permet de contrôler l'accès aux objets de mappage de fichiers. Pour plus d'informations, voir Modèle de contrôle d'accès.

Vous pouvez spécifier un descripteur de sécurité pour un objet de mappage de fichiers lorsque vous appelez la fonction CreateFileMapping. Si vous spécifiez NUL, l’objet obtient un descripteur de sécurité par défaut. Les ACL du descripteur de sécurité par défaut d'un objet file-mapping proviennent du jeton primaire ou d'emprunt d'identité du créateur.

Pour récupérer le descripteur de sécurité d'un objet de mappage de fichiers, appelez la fonction GetNamedSecurityInfo ou GetSecurityInfo. Pour définir le descripteur de sécurité d'un objet de mappage de fichiers, appelez la fonction SetNamedSecurityInfo ou SetSecurityInfo.

Les droits d'accès valides pour les objets de mappage de fichiers comprennent les droits d'accès standard DELETE, READ_CONTROL, WRITE_DAC et WRITE_OWNER. Les objets de mappage de fichiers ne prennent pas en charge le droit d'accès standard SYNCHRONIZE. Le tableau suivant répertorie les droits d'accès spécifiques aux objets de mappage de fichiers.

Droit d’accès Signification
FILE_MAP_ALL_ACCESS Comprend tous les droits d'accès à un objet de mappage de fichiers, à l'exception de FILE_MAP_EXECUTE. Les fonctions MapViewOfile et MapViewOfileEx traitent ce droit de la même manière que la spécification FILE_MAP_WRITE.
FILE_MAP_EXECUTE Permet de mapper des vues exécutables de l'objet de mappage de fichiers. L'objet doit avoir été créé avec une protection de page autorisant l'accès à l'exécution, telle que la protection PAGE_EXECUTE_READ, PAGE_EXECUTE_WRITECOPY ou PAGE_EXECUTE_READWRITE.
FILE_MAP_READ Permet de mapper des vues en lecture seule ou en copie sur écriture de l'objet de mappage de fichiers.
FILE_MAP_WRITE Permet de mapper des vues en lecture seule, en copie sur écriture ou en lecture/écriture d'un objet de mappage de fichiers. L'objet doit avoir été créé avec une protection de page autorisant l'accès en écriture, telle que la protection PAGE_READWRITE ou PAGE_EXECUTE_READWRITE.

Le mappage d'une vue en copie sur écriture d'un objet de mappage de fichiers nécessite le même accès que le mappage d'une vue en lecture seule. L'indicateur FILE_MAP_COPY n'est pas un droit d'accès et ne doit pas être spécifié comme faisant partie d'un DACL dans un descripteur de sécurité. Cette valeur ne peut être utilisée qu'avec des fonctions qui mappent une vue d'un objet de mappage de fichiers, telles que les fonctions MapViewOfFile et MapViewOfFileEx, ou avec la fonction OpenFileMapping, qui traite FILE_MAP_COPY de la même manière qu'elle traite FILE_MAP_READ.

Vous pouvez requérir le droit d'accès ACCESS_SYSTEM_SECURITY pour un objet de mappage de fichier si vous souhaitez lire ou écrire le SACL de l'objet. Pour plus d'informations, voir Listes de contrôle d'accès (ACL) et droit d'accès SACL.