Direitos de segurança e acesso de mapeamento de arquivos

O modelo de segurança do Windows permite controlar o acesso a objetos de mapeamento de arquivos. Para obter mais informações, consulte Modelo de controle de acesso.

Você pode especificar um descritor de segurança para um objeto de mapeamento de arquivo ao chamar a função CreateFileMapping . Se você especificar NULL, o objeto receberá um descritor de segurança padrão. As ACLs no descritor de segurança padrão para um objeto de mapeamento de arquivo vêm do token primário ou de representação do criador.

Para recuperar o descritor de segurança de um objeto de mapeamento de arquivo, chame a função GetNamedSecurityInfo ou GetSecurityInfo . Para definir o descritor de segurança de um objeto de mapeamento de arquivo, chame a função SetNamedSecurityInfo ou SetSecurityInfo .

Os direitos de acesso válidos para objetos de mapeamento de arquivo incluem os direitos de acesso padrãoDELETE, READ_CONTROL, WRITE_DAC e WRITE_OWNER. Os objetos de mapeamento de arquivo não dão suporte ao direito de acesso padrão SYNCHRONIZE . A tabela a seguir lista os direitos de acesso específicos aos objetos de mapeamento de arquivo.

Direito de acesso Significado
FILE_MAP_ALL_ACCESS Inclui todos os direitos de acesso a um objeto de mapeamento de arquivo, exceto FILE_MAP_EXECUTE. As funções MapViewOfFile e MapViewOfFileEx tratam isso da mesma forma que especificar FILE_MAP_WRITE.
FILE_MAP_EXECUTE Permite o mapeamento de exibições executáveis do objeto de mapeamento de arquivo. O objeto deve ter sido criado com a proteção de página que permite o acesso de execução, como PAGE_EXECUTE_READ, PAGE_EXECUTE_WRITECOPY ou proteção de PAGE_EXECUTE_READWRITE .
FILE_MAP_READ Permite o mapeamento de exibições somente leitura ou cópia na gravação do objeto de mapeamento de arquivo.
FILE_MAP_WRITE Permite o mapeamento de exibições somente leitura, cópia na gravação ou leitura/gravação de um objeto de mapeamento de arquivo. O objeto deve ter sido criado com a proteção de página que permite o acesso de gravação, como PAGE_READWRITE ou proteção de PAGE_EXECUTE_READWRITE .

Mapear uma exibição de cópia na gravação de um objeto de mapeamento de arquivo requer o mesmo acesso que mapear uma exibição somente leitura. O sinalizador FILE_MAP_COPY não é um direito de acesso e não deve ser especificado como parte de uma DACL em um descritor de segurança. Esse valor só pode ser usado com funções que mapeiam uma exibição de um objeto de mapeamento de arquivo, como as funções MapViewOfFile e MapViewOfFileEx ou com a função OpenFileMapping , que trata FILE_MAP_COPY da mesma maneira que trata FILE_MAP_READ.

Você pode solicitar o acesso ACCESS_SYSTEM_SECURITY direito a um objeto de mapeamento de arquivo se quiser ler ou gravar o SACL do objeto. Para obter mais informações, consulte ACLs (Listas de Controle de Acesso) e Direito de Acesso à SACL.