Droits d’accès et de sécurité du mappage de fichiers

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, consultez 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 NULL, l’objet 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 objet de mappage de fichiers proviennent du jeton principal 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 incluent les droits DELETE, READ_CONTROL, WRITE_DAC et WRITE_OWNER droits d’accèsstandard. 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 Inclut tous les droits d’accès à un objet de mappage de fichiers, sauf FILE_MAP_EXECUTE. Les fonctions MapViewOfFile et MapViewOfFileEx traitent cela de la même façon que la spécification de FILE_MAP_WRITE.
FILE_MAP_EXECUTE Autorise le mappage des vues exécutables de l’objet de mappage de fichiers. L’objet doit avoir été créé avec une protection de page qui autorise l’accès à l’exécution, telle que la protection PAGE_EXECUTE_READ, PAGE_EXECUTE_WRITECOPY ou PAGE_EXECUTE_READWRITE .
FILE_MAP_READ Autorise le mappage des vues en lecture seule ou de copie sur écriture de l’objet de mappage de fichiers.
FILE_MAP_WRITE Autorise le mappage de vues en lecture seule, de 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 qui autorise l’accès en écriture, telle que la protection PAGE_READWRITE ou PAGE_EXECUTE_READWRITE .

Le mappage d’une vue de copie en é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 il ne doit pas être spécifié dans le cadre d’un dacl dans un descripteur de sécurité. Cette valeur ne peut être utilisée qu’avec les 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 façon qu’elle traite FILE_MAP_READ.

Vous pouvez demander le droit d’accès ACCESS_SYSTEM_SECURITY à un objet de mappage de fichiers si vous souhaitez lire ou écrire la SACL de l’objet. Pour plus d’informations, consultez Listes de contrôle d’accès (ACL) et Droit d’accès SACL.