アクセス権とアクセス マスク

アクセス権は、セキュリティ保護可能なオブジェクトに対してスレッドが実行できる特定の操作セットに対応するビット フラグです。 たとえば、レジストリ キーには KEY_SET_VALUE アクセス権があります。これは、キーの下に値を設定するスレッドの機能に対応します。 スレッドがオブジェクトに対して操作を実行しようとしても、オブジェクトに対して必要なアクセス権がない場合、システムはその操作を実行しません。

アクセス マスクは、オブジェクトでサポートされているアクセス権に対応するビットを持つ 32 ビットの値です。 すべての Windows セキュリティ保護可能なオブジェクトは、次の種類のアクセス権のビットを含むアクセス マスク形式 を使用します。

スレッドがオブジェクトへのハンドルを開こうとすると、通常、スレッドはアクセス 権のセットを要求するアクセス マスクを指定します。 たとえば、レジストリ キーの値を設定してクエリを実行する必要があるアプリケーションでは、アクセス マスクを使用してKEY_SET_VALUEを要求し、アクセス権をKEY_QUERY_VALUEすることで、キーを開くことができます。

次の表は、セキュリティ保護可能なオブジェクトの種類ごとにセキュリティ情報を操作する関数を示しています。

オブジェクトの種類 セキュリティ記述子関数
NTFS ファイル システム上のファイルまたはディレクトリ GetNamedSecurityInfoSetNamedSecurityInfoGetSecurityInfoSetSecurityInfo
名前付きパイプ匿名パイプ
GetSecurityInfoSetSecurityInfo
コンソール画面バッファー サポートされていません。
スレッドを処理する
GetSecurityInfoSetSecurityInfo
ファイル マッピング オブジェクト GetNamedSecurityInfoSetNamedSecurityInfoGetSecurityInfoSetSecurityInfo
アクセス トークン SetKernelObjectSecurityGetKernelObjectSecurity
ウィンドウ管理オブジェクト (ウィンドウ ステーションデスクトップ) GetSecurityInfoSetSecurityInfo
レジストリ キー GetNamedSecurityInfoSetNamedSecurityInfoGetSecurityInfoSetSecurityInfo
Windows サービス GetNamedSecurityInfoSetNamedSecurityInfoGetSecurityInfoSetSecurityInfo
ローカル プリンターまたはリモート プリンター GetNamedSecurityInfoSetNamedSecurityInfoGetSecurityInfoSetSecurityInfo
ネットワーク共有 GetNamedSecurityInfoSetNamedSecurityInfoGetSecurityInfoSetSecurityInfo
プロセス間同期オブジェクト (イベント、ミューテックス、セマフォ、および待機可能タイマー) GetNamedSecurityInfoSetNamedSecurityInfoGetSecurityInfoSetSecurityInfo
ジョブ オブジェクト GetNamedSecurityInfoSetNamedSecurityInfoGetSecurityInfoSetSecurityInfo