ファイル システムでのセキュリティ記述子
Windows ファイル システムは、ファイル システム内の個々のストレージ ユニットに関連付けられているセキュリティ記述子のストレージと管理をサポートできます。 セキュリティ制御の細分性は、完全にファイル システムにかかります。 次に例を示します。
- 1 つのファイル システムで、特定のストレージ ボリューム上のすべてをカバーする単一のセキュリティ記述子を保持する場合があります
- 別のファイル システムでは、1 つの特定のファイルのさまざまな部分をカバーするセキュリティ記述子が提供される場合があります。
ほとんどの開発者が慣れているモデルは、既存の Windows ファイル システムが提供するモデルです。
NTFS では、ファイル単位 (またはディレクトリ) のセキュリティ記述子モデルがサポートされています。 NTFS は、多数の異なるファイルで使用されている場合でも、各セキュリティ記述子の 1 つのコピーのみを格納する、セキュリティ記述子のストレージで効率的です。
FAT、CDFS、UDFS はセキュリティ記述子をサポートしていません。
RDBSS と SMB ネットワーク リダイレクターは、リモート ボリュームが提供するサポートと同等のサポートを提供します。
ただし、これらのファイル システムは、ファイル システムに対する Windows セキュリティのすべての実装を表すわけではありません。
Windows セキュリティ記述子は、次の 4 つの異なる部分で構成されます。
オブジェクトの所有者のセキュリティ識別子 (SID)。 オブジェクトの所有者には、常にオブジェクトのセキュリティをリセットする機能があります。 この機能は、たとえば、オブジェクトへのすべてのアクセスを削除できるように確認します。 所有者がすべての操作を実行する機能を削除した場合でも、この固有の権利により、オブジェクトに対するセキュリティ権限を復元できます。
オブジェクトの既定のグループのオプションのセキュリティ識別子 (SID)。 グループ所有権の概念は、Windows では必要ありませんが、一部のアプリケーションに役立ちます。
セキュリティ記述子の監査ポリシーを記述するシステム アクセス制御リスト (SACL)。
セキュリティ記述子のアクセスポリシーを記述する随意のアクセス制御リスト (DACL)。
次の図は、Windows セキュリティ記述子を示しています。
セキュリティ記述子は可変サイズのオブジェクトであり、個々のサブコンポーネントのサイズも可変です。 セキュリティ記述子のオフライン ストレージを容易にするために、セキュリティ記述子は自己相対形式である場合があります。その場合、ヘッダーはバッファー内のセキュリティ記述子の特定のコンポーネントへのオフセットになります。 インメモリ形式は、セキュリティ記述子のさまざまな部分へのポインター値で構成されます。 ファイル システムの場合、通常は自己相対形式が最も便利です。これは、永続的ストレージからのセキュリティ記述子の簡単な格納と取得が可能になるためです。 セキュリティ記述子を構築するアプリケーションでは、メモリ内形式を使用する可能性が高くなります。 セキュリティ参照モニターは、ある形式から他方の形式に変換する変換ルーチンを提供します。
このセクションには、次の記事が含まれます。