共用方式為


控制存取權限 (AD DS)

Active Directory 網域服務 中的所有物件都支援ADS_RIGHTS_ENUM列舉中定義的一組標準訪問許可權。 這些訪問許可權可以在物件的安全性描述項的 存取控制 Entries (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 屬性將會包含ADS_RIGHT_DS_SELF (8) 訪問許可權。

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

    • Group 物件的自我成員資格許可權,可讓呼叫者的帳戶,但沒有任何其他帳戶,從群組的成員資格中新增或移除。
    • Computer 物件上的 Validated-DNS-Host-Name 許可權,允許設定符合計算機名稱和功能變數名稱的 DNS 主機名屬性。
    • Computer 物件的 Validated-SPN 許可權,允許設定與要設定之計算機的 DNS 主機名相容的 SPN 屬性。

為了方便起見,每個控件訪問許可權都會以 Configuration 數據分割之 Extended-Rights 容器中的 controlAccessRight 物件表示,即使屬性集和已驗證的寫入不會被視為延伸許可權也一樣。 因為組態容器會復寫到整個樹系,因此控制許可權會傳播到樹系中的所有網域。 有一些預先定義的控制訪問許可權,當然,也可以定義自定義訪問許可權。

所有控制訪問許可權都可以在 ACL 編輯器中檢視為許可權。

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

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