控制 AD DS) (存取權限

Active Directory 網域服務中的所有物件都支援ADS_RIGHTS_ENUM列舉中定義的一組標準存取權限。 這些存取權限可用於存取控制專案 (ACE) 物件的安全性描述元,以控制物件的存取權;也就是控制誰可以執行標準作業,例如建立和刪除子物件,或讀取和寫入物件屬性。 不過,對於某些物件類別,可能需要以標準存取權限不支援的方式控制存取。 為了方便這樣做,Active Directory 網域服務允許透過controlAccessRight物件擴充標準存取控制機制。

控制存取權限使用方式有三種:

  • 對於擴充許可權,這是標準存取權限集未涵蓋的特殊作業。 例如,使用者類別可以授與「傳送身分」許可權,供Exchange、Outlook或任何其他郵件應用程式使用,以判斷特定使用者是否可以代表他們傳送郵件。 擴充許可權是在 controlAccessRight 物件上建立,方法是將 validAccesses 屬性設定為等於 ADS_RIGHT_DS_CONTROL_ACCESS ( 256) 存取權限。

  • 若要定義屬性集,若要控制對物件屬性子集的存取,而不是只控制個別屬性的存取。 使用標準存取權限,單一 ACE 可以授與或拒絕所有物件屬性或單一屬性的存取權。 控制存取權限提供一種方式,讓單一 ACE 控制對一組屬性的存取。 例如,使用者類別支援 Personal-Information 屬性集,其中包含街道位址和電話號碼等屬性。 屬性集許可權是在 controlAccessRight 物件上建立,方法是將 validAccesses 屬性設定為包含 ACTR_DS_READ_PROP (16) 和 ACTRL_DS_WRITE_PROP (32) 存取權限。

  • 針對已驗證的寫入,在將值寫入 DS 物件上的屬性之前,要求系統執行值檢查或驗證,超過該架構所需的值。 這可確保針對 屬性輸入的值符合必要的語意、在合法的值範圍內,或進行一些其他特殊檢查,不會對屬性執行簡單的低階寫入。 已驗證的寫入與特殊許可權相關聯,與「寫入 < 屬性 > 」許可權不同,允許將任何值寫入至屬性,且不會執行任何值檢查。 已驗證的寫入是唯一三個控制項存取權限之一,無法建立為應用程式的新控制項存取權限。 這是因為現有的系統無法以程式設計方式修改以強制執行驗證。 如果系統中已將控制項存取權限設定為已驗證的寫入,controlAccessRight物件上的validAccesses屬性將會包含 ( 8) 存取權限ADS_RIGHT_DS_SELF。

    Windows 2000 Active Directory 架構中,只有三個已驗證的寫入:

    • Self-Membership Group 物件的許可權,允許呼叫端的帳戶,但不能新增或移除群組成員資格的其他帳戶。
    • Computer 物件上的 Validated-DNS-Host-Name 許可權,允許設定符合電腦名稱稱和功能變數名稱的 DNS 主機名稱屬性。
    • Computer 物件的 Validated-SPN 許可權,允許符合要設定之電腦的 DNS 主機名稱的 SPN 屬性。

為了方便起見,每個控制項存取權限都會以 Configuration 分割區之Extended-Rights容器中的 controlAccessRight 物件表示,即使屬性集和已驗證的寫入不會被視為擴充許可權。 因為組態容器會複寫到整個樹系,所以控制許可權會傳播到樹系中的所有網域。 有一些預先定義的控制存取權限,當然也可以定義自訂存取權限。

所有控制存取權限都可以在 ACL 編輯器中檢視為許可權。

如需詳細資訊和 C++ 和Visual Basic程式碼範例,將 ACE 設定為控制屬性集的讀取/寫入權限,請參閱在目錄物件上設定 ACE 的範例程式碼

如需使用控制存取權限來控制特殊作業存取權的詳細資訊,請參閱: