セキュリティ記述子を操作するための API
Active Directory Domain Servicesの各オブジェクトには、オブジェクト セキュリティ記述子を含む nTSecurityDescriptor 属性があります。 ディレクトリ オブジェクトのセキュリティ記述子を読み取って操作するには、主に 2 つの方法があります:
- IADs::Get メソッドを使用して、IADsSecurityDescriptor インターフェイスを使用してセキュリティ記述子を ADSI COM オブジェクトとして取得します。 IADsSecurityDescriptor、IADsAccessControlList、および IADsAccessControlEntry インターフェイスを使用して、セキュリティ記述子とそのコンポーネント (ACL、ACE など) を処理できます。 詳細とコード例については、 IAD を使用してセキュリティ記述子を取得するを参照してください。
- IDirectoryObject::GetObjectAttributes メソッドを使用して、オブジェクト セキュリティ記述子をSECURITY_DESCRIPTOR構造体へのポインターとして取得します。 このポインターは、AccessCheck や BuildSecurityDescriptor などの Win32 アクセス制御関数と共に使用します。 詳細とコード例については、IDirectoryObject を使用したセキュリティ記述子の取得を参照してください。
推奨される手法と、このガイドのほとんどのコード例で使用される手法は、セキュリティ記述子、ACL、および ACE の処理を簡略化するため、IADs* インターフェイスを使用することです。 Visual Basic プログラマにとって、IADs* インターフェイスは、セキュリティ記述子を処理する最も効率的な方法です。
IDirectoryObject の手法は、SECURITY_DESCRIPTOR構造が必要な場合に便利です。 たとえば、「オブジェクトの ACL でのコントロール アクセス権の確認」のコード例では、このメソッドを使用して、AccessCheckByTypeResultList 関数に渡すセキュリティ記述子を取得します。
詳細については、以下を参照してください:
- IAD を使用してセキュリティ記述子を取得する
- IDirectoryObject を使用してセキュリティ記述子を取得する
- セキュリティ記述子のコンポーネント
- オブジェクトの DACL の取得
- オブジェクトの SACL の取得
- オブジェクトのセキュリティ記述子の読み取り
- セキュリティ記述子を作成するためのコード例
- Active Directory Domain Servicesのオブジェクトの ACL を列挙するコード例