規劃及實作分割權限模型

 

適用版本: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上次修改主題的時間: 2008-02-05

執行分割權限模型的組織通常是想要限制授與系統管理員的特定權限,以加強責任性和安全性。在 Microsoft Exchange Server 2007 中,Exchange 收件者屬性的權限會分在同一組。如此必須手動設定權限來分割 Exchange 權限與其他系統管理權限的需要就會降到最低。

依預設,只有 Exchange 組織系統管理員才可以同時管理 Exchange 收件者和組態資料。不過,若要在特定網域中管理物件的建立、修改和刪除,這些系統管理員還需要有 Windows Account Operators 安全性群組或更高層級安全性群組的成員資格才行。如需如何授與 Account Operators 權限的相關資訊,請參閱 Windows Server 2003 產品說明 (英文)。

存取控制

若要在樹系的網域命名內容內管理 Exchange 相關的屬性,必須將修改權限授與 Exchange Server Administrators 群組。您可以變更包含該屬性之物件的安全性描述元來進行。

安全性描述元包含兩份存取控制清單 (ACL)。ACL 是使用者或安全性群組物件的清單,它們對資源或物件具有存取權或存取遭到拒絕。ACL 允許將特定權限套用至整個物件、物件的一組內容或物件的個別內容。物件的安全性描述元中有兩種 ACL 類型:

  • 判別存取控制清單 (DACL)   DACL 可判別已指派或拒絕物件存取權的使用者和群組。如果 DACL 未明確判別使用者或使用者所屬的任何群組,則會拒絕該使用者存取該物件。依預設,DACL 是由物件的擁有者或建立該物件的人員控制,它包含能夠判別使用者之物件存取權的存取控制項目 (ACE)。

  • 系統存取控制清單 (SACL)   SACL 可判別當使用者或群組可以順利存取物件,或無法存取物件時,您想要稽核的使用者和群組。依預設,SACL 是由物件的擁有者或建立該物件的人員控制。SACL 包含的 ACE 能夠判別使用特定權限 (例如完全控制和讀取) 之使用者存取物件的嘗試是成功或失敗。

ACE 是物件之 DACL 中的一個項目,它會將權限授與使用者或群組。ACE 也是物件之 SACL 中的一個項目,它會指定供使用者或群組稽核的安全性事件。

套用權限之處

Active Directory 目錄服務樹系是由一或多個網域組成,這些網域會共用一般組態和架構界限。在這些網域內,物件也可以排列成容器,即所謂的組織單位 (OU)。每個組織的系統管理員都必須設計符合其企業需求,並使管理權限委派最佳化的 OU 結構。

如需如何設計 OU 結構的相關資訊,請參閱管理 Windows 網路的 Active Directory 設計之最佳作法 (英文) 和委派 Active Directory 管理的最佳作法 (英文)。

當您設計委派模型時,有幾個套用權限的方法。本主題只討論下列兩個方法:

  • 在網域層級套用權限

  • 在 OU 層級套用權限

在網域層級套用權限

當您在網域層級套用委派權限時,該權限將由所有物件繼承。這包括使用者、連絡人、群組、網域 DNS 及電腦。在執行 Microsoft Windows 2000 Server 的網域控制站上,在網域層級新增可繼承的 ACE 會導致該網域內每一個物件的 DACL 變更。視新增之 ACE 數和網域內的物件數而定,這些變更可能造成所謂的 ACL 膨脹。「ACL 膨脹」表示物件上不必要的 ACE 增加了 ACL 的大小。ACL 膨脹會增加網域內所有網域控制站上 Ntds.dit 檔案的實體大小。這可能造成 Active Directory 效能問題。

在執行 Microsoft Windows Server 2003 的網域控制站上,唯一的安全性描述元只會儲存一次,而不會針對每個繼承它的物件進行儲存。此變更會減少資料備援,以及因為可繼承 ACE 的變更而造成的資料庫成長。

在 OU 層級套用權限

套用權限的建議作法是在父系 OU 套用權限。這樣可使權限個別套用至 OU 內所含的特定類別物件及其子容器。此方法需要所有受管理物件都放在父系 OU 內。企業需求可能會防止組織套用此方法。如果企業需求防止您這麼做,則您可以在多個 OU 上套用權限。

如何套用權限

Microsoft 提供兩種工具來套用權限:

  • ADSI 編輯器 (AdsiEdit.msc)

  • DSACLS (Dsacls.exe)

這兩種工具都包含在 Windows Server 2003 CD 的 Support\Tools 中。有幾個協力廠商產品也可以用來套用權限。

note附註:
如果您在使用 Active Directory 服務介面 (ADSI) 編輯器、DSACLS、LDP (Ldp.exe) 工具或另一個輕量型目錄存取通訊協定 (LDAP) 第 3 版用戶端時,不正確地修改了 Active Directory 物件的屬性,則可能會發生嚴重問題。這些問題需要您重新安裝 Windows Server、Exchange 2007 或兩者。若您修改了 Active Directory 物件屬性,即需自行承擔風險。

如需如何使用 ADSI 編輯器的相關資訊,請參閱如何使用 ADSI 編輯器套用權限 (英文)。

在 Exchange 2007 中套用權限的建議作法,是使用 Exchange 管理命令介面中的 Add-ADPermission 指令程式。如需相關資訊,請參閱 Add-ADPermission。如需 Exchange 管理命令介面的相關資訊,請參閱使用 Exchange 管理命令介面

如何套用權限的範例

由於在 Exchange 2007 中執行了內容集,所以執行分割權限模型時所需的 ACE 會比舊版 Exchange Server 還少。

為了使 Exchange 2007 系統管理員能夠管理所有郵件相關的內容,系統管理員在網域磁碟分割內必須具有下列權限:

  • 存取下列內容集的寫入權限:

    • Exchange 個人資訊

    • Exchange 資訊

  • 存取下列屬性的寫入權限:

    • legacyExchangeDN

    • displayName

    • adminDisplayName

    • displayNamePrintable

    • publicDelegates

    • garbageCollPeriod

    • textEncodedORAddress

    • showInAddressBook

    • proxyAddresses

    • mail

  • msExchDynamicDistributionList 物件的建立權限

  • msExchDynamicDistributionList 物件的刪除權限

  • msExchDynamicDistributionList 物件的完全控制權限

  • 一般讀取權限。這包括「讀取權限」、「清單內容」、「清單物件」和「讀取全部內容」。

除了這些權限之外,收件者管理員在 Exchange 組織內還必須具有下列權限:

  • Exchange 僅檢視管理角色或更高權限

    note附註:
    某些作業 (如移動信箱) 需要 Exchange Server 系統管理員角色或更高權限。
  • 存取 Exchange 組織中通訊清單容器上 msExchLastAppliedRecipientFiltermsExchRecipientFilterFlags 屬性的寫入權限。收件者管理員需要有這些權限才能執行 Update-AddressList 指令程式。

  • 存取 Exchange 組織中收件者原則容器上 msExchLastAppliedRecipientFiltermsExchRecipientFilterFlags 屬性的寫入權限。收件者管理員需要有這些權限才能執行 Update-EmailAddressPolicy 指令程式。

  • Exchange 2007 系統管理群組上的「存取收件者更新服務」延伸權限。由於在 Exchange 2007 中,會於提供處理程序期間,在收件者上加上位址相關資訊的戳記,因此需要此延伸權限。

note附註:
這些權限是用來管理 Exchange 特定的屬性。Exchange 系統管理員不能管理在 Exchange 以外建立的屬性 (除非已將適當權限委派給系統管理員)。

如何使用 Exchange 管理命令介面套用權限

本節提供如何使用 Exchange 管理命令介面委派權限的範例。

本範例中的命令可讓 OU1AdminGroup 安全性群組中的系統管理員啟用及停用收件者的郵件功能、管理電子郵件地址、以及顯示 Contoso.com 樹系內 Container1 OU 階層中包含的所有使用者、群組和連絡人的名稱,而該樹系包含 ContosoOrg Exchange 組織。

如果您想要為組織執行這些工作,請針對您想要授與存取權的每個容器執行下列命令。請以您自己的網域資訊取代網域名稱、Exchange 組織和帳戶資訊。

您必須以此順序執行下列命令,才能授與權限。

  1. 執行下列命令,來管理 OU 內物件的 Exchange 相關屬性。

    Add-ADPermission -Identity "ou=Container1,dc=Contoso,dc=com" -User "Contoso\OU1AdminGroup" -AccessRights ReadProperty, WriteProperty -Properties Exchange-Information, Exchange-Personal-Information, legacyExchangeDN, displayName, adminDisplayName, displayNamePrintable, publicDelegates, garbageCollPeriod, textEncodedORAddress, showInAddressBook, proxyAddresses, mail
    
  2. 執行下列命令,來提供 OU 內所有物件的一般讀取權限。

    Add-ADPermission -Identity "ou=Container1,dc=Contoso,dc=com" -User "Contoso\OU1AdminGroup" -AccessRights GenericRead
    
  3. 執行下列命令來授與適當權限,以管理 OU 內的動態通訊群組:

    Add-ADPermission -Identity "ou=Container1,dc=Contoso,dc=com" -User "Contoso\OU1AdminGroup" -AccessRights GenericAll -InheritanceType Descendents -InheritedObjectType msExchDynamicDistributionList
    Add-ADPermission -Identity "ou=Container1,dc=Contoso,dc=com" -User "Contoso\OU1AdminGroup" -AccessRights CreateChild, DeleteChild -ChildObjectTypes msExchDynamicDistributionList
    

    針對 Exchange 2007 Service Pack 1 (SP1),請執行下列命令:

    ADPermission -Identity "ou=Container1,dc=Contoso,dc=com" -User "Contoso\OU1AdminGroup" -AccessRights GenericAll -ChildObjectTypes msExchDynamicDistributionList
    
  4. 執行下列命令來授與 OU1AdminGroup 安全性群組延伸權限,以存取收件者更新服務。

    Add-ADPermission -Identity "CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=ContosoOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" -User "Contoso\OU1AdminGroup " -InheritedObjectType ms-Exch-Exchange-Server -ExtendedRights ms-Exch-Recipient-Update-Access -InheritanceType Descendents
    
  5. 執行下列命令,以授與 OU1AdminGroup 安全性群組更新通訊清單和電子郵件地址原則的能力。

    Add-ADPermission -Identity "CN=Address Lists Container,CN=ContosoOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" -User "company\OU1AdminGroup" -AccessRights WriteProperty -Properties msExchLastAppliedRecipientFilter, msExchRecipientFilterFlags
    Add-ADPermission -Identity "CN=Recipient Policies,CN=ContosoOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" -User "company\OU1AdminGroup" -AccessRights WriteProperty -Properties msExchLastAppliedRecipientFilter, msExchRecipientFilterFlags
    

如果成功,每個命令都將輸出已新增至該物件的 ACE。

如何使用 DSACLS 套用權限

本節提供如何使用 DSACLS (Dsacls.exe) 套用權限的範例。

DSACLS 是命令列工具,您可以用它來查詢及變更 Active Directory 物件的權限及安全性屬性。DSACLS 包含於 Windows Server 2003 支援工具中。同時,它也是相當於 Windows 2000 Server Active Directory 嵌入式管理單元工具中 [安全性] 索引標籤的命令列,例如 [Active Directory 使用者和電腦] 與 [Active Directory 站台及服務]。

本範例中的命令可讓 OU1AdminGroup 安全性群組中的系統管理員啟用及停用收件者的郵件功能、管理電子郵件地址、以及顯示 Contoso.com 樹系內 OUContainer1 OU 階層中包含的所有使用者、群組和連絡人的名稱,而該樹系包含 ContosoOrg Exchange 組織。

note附註:
DSACLS 會區分大小寫。因為所有字元都是當成文字傳遞,所以傳送給 DSACLS 的語法必須精確。這包括空白字元和換行符號。如果您收到 DSACLS 的錯誤訊息,請檢查該命令以確定它正確無誤,或試著將命令分割成較小的區段。如需如何使用 DSACLS 的相關資訊,請參閱 Microsoft 知識庫文章 281146 如何在 Windows Server 2003 和 Windows 2000 中使用 Dsacls.exe

您必須以此順序執行下列命令,才能授與權限。

  1. 登入樹系內的電腦,該電腦已使用可執行這些工作的帳戶 (如網域系統管理員) 安裝了 Windows 支援工具。使用您自己的網域資訊取代網域名稱、Exchange 組織和帳戶資訊。

  2. 開啟 [命令提示字元] 視窗,並輸入下列命令來管理 OU 內物件的 Exchange 相關屬性。

    dsacls "OU=OUContainer1,DC=Contoso,DC=com" /I:T /G "Contoso\OU1AdminGroup:RPWP;legacyExchangeDN" "Contoso\OU1AdminGroup:RPWP;displayName" "Contoso\OU1AdminGroup:RPWP;adminDisplayName" "Contoso\OU1AdminGroup:RPWP;displayNamePrintable" "Contoso\OU1AdminGroup:RPWP;publicDelegates" "Contoso\OU1AdminGroup:RPWP;garbageCollPeriod" "Contoso\OU1AdminGroup:RPWP;textEncodedORAddress" "Contoso\OU1AdminGroup:RPWP;showInAddressBook" "Contoso\OU1AdminGroup:RPWP;proxyAddresses" "Contoso\OU1AdminGroup:RPWP;mail" "Contoso\OU1AdminGroup:RPWP;Exchange Personal Information" "Contoso\OU1AdminGroup:RPWP;Exchange Information" "Contoso\OU1AdminGroup:CCDC;msExchDynamicDistributionList" "Contoso\OU1AdminGroup:GR;"
    
  3. 開啟 [命令提示字元] 視窗,並輸入下列命令來授與適當權限,以管理 OU 內的動態通訊群組。

    dsacls "OU=OUContainer1,DC=Contoso,DC=com" /I:S /G "Contoso\OU1AdminGroup:GA;; msExchDynamicDistributionList"
    
  4. 開啟 [命令提示字元] 視窗,並輸入下列命令來授與 OU1AdminGroup 安全性群組延伸權限,以存取收件者更新服務。

    dsacls "CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=ContosoOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" /I:S /G "Contoso\OU1AdminGroup:CA;Access Recipient Update Service;msExchExchangeServer"
    
  5. 開啟 [命令提示字元] 視窗,並輸入下列命令,以授與 OU1AdminGroup 安全性群組更新通訊清單和電子郵件地址原則的能力。

    dsacls "CN=Address Lists Container, CN=ContosoOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" /I:T /G "company\OU1AdminGroup:WP;msExchLastAppliedRecipientFilter" "company\OU1AdminGroup:WP;msExchRecipientFilterFlags"
    dsacls "CN=Recipient Policies, CN=ContosoOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" /I:T /G "company\OU1AdminGroup:WP;msExchLastAppliedRecipientFilter" "company\OU1AdminGroup:WP;msExchRecipientFilterFlags"
    

如果成功,該命令會輸出已修改的 Windows 安全性描述元,並在命令提示字元上顯示 The command completed successfully

設定分割權限指令碼

在 \Exchange Server\Scripts 目錄中有一個指令碼,可協助您設定分割權限模型。

您可以使用 Exchange 管理命令介面來執行下列指令碼:

  • ConfigureSplitPerms.ps1   您可以使用本主題中討論的 ConfigureSplitPerms.ps1 指令碼來設定必要的權限。

如需指令碼的相關資訊,請參閱使用 Exchange 管理命令介面

相關資訊

如需分割權限、Exchange 相關屬性與使用者、連絡人及群組相關的工作,請參閱分割權限模型參考資料