ファイル マッピングのセキュリティとアクセス権

Windows セキュリティ モデルを使用すると、ファイル マッピング オブジェクトへのアクセスを制御できます。 詳細については、「 アクセス制御モデル」を参照してください。

CreateFileMapping 関数を呼び出すときに、ファイル マッピング オブジェクトのセキュリティ記述子を指定できます。 NULL を指定すると、オブジェクトは既定のセキュリティ記述子を取得します。 ファイル マッピング オブジェクトの既定のセキュリティ記述子の ACL は、作成者のプライマリ トークンまたは偽装トークンから取得されます。

ファイル マッピング オブジェクトのセキュリティ記述子を取得するには、 GetNamedSecurityInfo または GetSecurityInfo 関数 呼び出します。 ファイル マッピング オブジェクトのセキュリティ記述子を設定するには、 SetNamedSecurityInfo または SetSecurityInfo 関数を呼び出します。

ファイル マッピング オブジェクトの有効なアクセス権には、DELETEREAD_CONTROLWRITE_DAC、標準アクセス権WRITE_OWNER含まれます。 ファイル マッピング オブジェクトは、 SYNCHRONIZE 標準アクセス権をサポートしていません。 次の表に、ファイル マッピング オブジェクトに固有のアクセス権を示します。

アクセス権 説明
FILE_MAP_ALL_ACCESS FILE_MAP_EXECUTEを除く、ファイル マッピング オブジェクトへのすべてのアクセス権が含まれます。 MapViewOfFile 関数と MapViewOfFileEx 関数は、FILE_MAP_WRITEを指定する場合と同じように扱います。
FILE_MAP_EXECUTE ファイル マッピング オブジェクトの実行可能ビューのマッピングを許可します。 オブジェクトは、PAGE_EXECUTE_READ、PAGE_EXECUTE_WRITECOPYPAGE_EXECUTE_READWRITE保護などの実行アクセスを許可するページ保護を使用して作成されている必要があります。
FILE_MAP_READ ファイル マッピング オブジェクトの読み取り専用ビューまたは書き込み時コピー ビューのマッピングを許可します。
FILE_MAP_WRITE ファイル マッピング オブジェクトの読み取り専用ビュー、書き込み時コピー ビュー、または読み取り/書き込みビューのマッピングを許可します。 オブジェクトは、 PAGE_READWRITEやPAGE_EXECUTE_READWRITE 保護などの書き込みアクセスを許可するページ保護を使用 して 作成されている必要があります。

ファイル マッピング オブジェクトの書き込み時コピー ビューのマッピングには、読み取り専用ビューのマッピングと同じアクセス権が必要です。 FILE_MAP_COPY フラグはアクセス権ではなく、セキュリティ記述子の DACL の一部として指定しないでください。 この値は、MapViewOfFile 関数や MapViewOfFileEx 関数などのファイル マッピング オブジェクトのビューをマップする関数、または FILE_MAP_READと同じようにFILE_MAP_COPY処理する OpenFileMapping 関数でのみ使用できます。

オブジェクトの SACL の読み取 または書き込みを行う場合は、ファイル マッピング オブジェクトへのACCESS_SYSTEM_SECURITYアクセス権を要求できます。 詳細については、「Access-Control Lists (ACL)」および「SACL Access Right」を参照してください。