使用安全性描述元的 API
Active Directory 網域服務 中的每個物件都有一個 nTSecurityDescriptor 屬性,其中包含物件安全性描述元。 有兩種主要方式可以讀取及操作目錄物件安全性描述元:
- 使用 IADs::Get 方法,將安全性描述元擷取為具有 IADsSecurityDescriptor 介面的 ADSI COM 物件。 IADsSecurityDescriptor、IADsAccessControlList 和 IADsAccessControlEntry 介面可用來處理安全性描述符及其元件(ACL、ACE 等等)。 如需詳細資訊和程式代碼範例,請參閱 使用 IAD 來取得安全性描述元。
- 使用 IDirectoryObject::GetObjectAttributes 方法,擷取物件安全性描述元作為SECURITY_DESCRIPTOR結構的指標。 搭配 Win32 訪問控制函式使用此指標,例如 AccessCheck 或 BuildSecurityDescriptor。 如需詳細資訊和程式代碼範例,請參閱 使用 IDirectoryObject 取得安全性描述元。
本指南中大部分程式代碼範例所使用的建議技巧,就是使用 IADs* 介面,因為它們可簡化處理安全性描述元、ACL 和 ACE。 對於 Visual Basic 程式設計人員, IADs* 介面是處理安全性描述元的最有效率的方式。
需要SECURITY_DESCRIPTOR結構時,IDirectoryObject 技術很有用。 例如,在物件 ACL 中檢查控件訪問許可權中的程式代碼範例會使用這個方法來擷取安全性描述元,以傳遞至 AccessCheckByTypeResultList 函式。
如需詳細資訊,請參閱
- 使用 IAD 取得安全性描述元
- 使用 IDirectoryObject 取得安全性描述元
- 安全性描述項元件
- 擷取物件的 DACL
- 擷取物件的 SACL
- 讀取物件的安全性描述元
- 建立安全性描述元的範例程序代碼
- 在 Active Directory 網域服務 中列舉物件的 ACL 範例程式代碼