案例:部署通訊錄原則
適用於:Exchange Server 2013
部署案例
下列三個案例說明三種不同組織類型的可能部署解決方案。 雖然還有更多案例,但這裏涵蓋了最熱門的案例。 位址清單和全域通訊清單會列出 (在這些案例中) 的 GAL 是根據以邏輯方式分組對象的篩選條件所建立,例如自定義屬性。
案例 1:兩個不同的公司 - 一個 Exchange 組織
此案例適用於共用基礎結構,但沒有報告鏈結且沒有一般員工的政府機構、部門或部門。 此外,這些部門沒有任何特殊的安全性或隱私權考慮。 在此案例中,會建立兩個通訊簿原則 (ABP) ,其中員工只能在檢視 GAL 時查看相同組織的成員,或查看其他通訊群組的成員資格。 此外,沒有任何使用者是跨整個組織的通訊群組成員。
Contoso 和無條件保險 ABP 是使用下列通訊清單、全域通訊清單、會議室清單和 OAB 所建立,這些位址清單是使用收件者篩選器所建立,該篩選器會使用自定義屬性等篩選條件將物件分組。 因為這兩家公司是分開的,而且兩者之間沒有任何互動,所以沒有任何通用的通訊清單。
Contoso | 海窯保險 | |
---|---|---|
通訊清單 | AL_CON_Groups AL_CON_Users AL_CON_Contacts |
AL_HI_Groups AL_HI_Users AL_HI_Contacts |
全域通訊清單 | GAL_CON | GAL_HI |
會議室位址清單 | AL_CON_Rooms | AL_HI_Rooms |
離線通訊錄 (OAB) | OAB_CON | OAB_HI |
案例 2:兩家公司共用 CEO
在此案例中,Fabrikam 和 Tailspin Toys 會共用相同的 Exchange 組織和相同的 CEO。 CEO 是兩家公司之間唯一的一般人。 此案例需要三個具有下列特性的 ABP:
- Tailspin Toys 公司的使用者在瀏覽全域通訊清單時僅能看到 Tailspin Toys 公司的使用者。
- Fabrikam 公司的使用者在瀏覽全域通訊清單時僅能看到 Fabrikam 公司的使用者。
- 每間公司各自擁有一個 SeniorLeaders 通訊群組,當中包含了該公司的資深領導人和共同的 CEO。
- 查看CEO群組成員資格的使用者只會看到屬於使用者公司的群組。 他們看不到不在自己公司中的群組。
- Three ABPs are created: Fab, Tail, and CEO.
Fabrikam | Tailspin Toys | CEO | |
---|---|---|---|
通訊清單 | AL_FAB_Users_DGs AL_FAB_Contacts |
AL_TAIL_Users_DGs AL_TAIL_Contacts |
AL_FAB_Users_DGs AL_FAB_Contacts AL_TAIL_Users_DGs AL_TAIL_Contacts |
全域通訊清單 | GAL_FAB | GAL_TAIL | 預設 GAL |
會議室位址清單 | AL_FAB_Rooms | AL_TAIL_Rooms | 默認所有會議室 |
離線通訊錄 (OAB) | OAB_FAB | OAB_TAIL | 預設 OAB |
當CEO新增至每個組織的通訊群組,並落在每家公司ABP的範圍內時,每家公司都會看到CEO。 CEO 可以建立跨這兩家公司的通訊群組,而且會顯示在每家公司的 GAL 中,但通訊群組的成員只能檢視自己組織內的群組成員。
案例 3:教育
此案例適用於需要班級會議室部門以確保學生隱私權的學校或大學。 教育案例具有下列特性:
- 每間教室的學生只能看到同班同學、老師和校長。
- 老師只看得到自己教室內的學生。
- 老師可以看到所有其他老師和校長。
- 通訊群組是為每間教室的學生家長和教職員而建立的。
Students_ClassA | Teachers_ClassA | 主要 | |
---|---|---|---|
通訊清單 | AL_ClassAAL_Principal | AL_ClassAAL_AllTeachersAL_AllGroupsAL_Principal | AL_ClassA AL_ClassB AL_AllTeachers AL_AllStudents AL_AllGroups |
全域通訊清單 | GAL_StudentsClassA | GAL_TeachersClassA | GAL_Everyone |
會議室位址清單 | AL_BlankRoom | AL_BlankRoom | 默認所有會議室 |
離線通訊錄 (OAB) | OAB_StudentsClassA | OAB_TeachersClassA | 預設 OAB |
考量與最佳作法
在組織中使用 ABP 時,請考量下列事項:
為使 ABP 能正確運作,您套用 ABP 的使用者信箱必須位於 Exchange 2010 SP3 或 Exchange 2013 伺服器上。
請勿在全域編錄伺服器上執行 Exchange 2010 用戶端存取伺服器角色。 這麼做會導致 Active Directory 用於名稱服務提供者介面 (NSPI) ,而不是Microsoft Exchange 通訊簿服務。 您可以在全域編錄伺服器上執行 Exchange 2013 伺服器角色,並讓 ABP 正常運作,但我們不建議在域控制器上安裝 Exchange。
您無法同時使用階層式通訊錄 (HAB) 和 ABP。 若要深入瞭解,請參閱 階層式通訊簿。
任何已指定 ABP 的使用者應存在於自己的 GAL 中。
如果您允許用戶端應用程式直接透過LDAP存取Active Directory,它們將會略過內建於ABP的邏輯。 由於 Mac 版 Outlook 2011 和 Entourage 2008 使用直接 LDAP 查詢來存取 Active Directory,因此如果自動探索服務指定域控制器或全域編錄伺服器或提供給它們,這些用戶端應用程式將無法與 ABP 一起正常運作。 Mac 版 Outlook 2011 可以使用 EWS 或本機 OAB 來存取目錄資訊。 不過,如果 Mac 版 Outlook 2011 可以直接存取 LDAP 服務,則會嘗試這樣做。
ABP 中使用的 GAL 至少必須包含所有通訊清單,包括在 ABP 中定義和指定的會議室地址清單。 請勿建立 GAL,其中包含的物件少於相同 ABP 中的任何通訊清單。
建議您建立不會跨越虛擬組織界限的通訊群組。 建立包含多個虛擬組織成員的通訊群組會導致下列問題:
若群組成員寄送郵件給通訊群組時要求傳遞或讀信回條,他們將可以在其他虛擬組織中,看得到群組成員的電子郵件地址。
如果加密的郵件傳送至通訊群組,而某些群組成員沒有有效的數位標識元,則寄件者會收到警告訊息,其中包含沒有有效標識符的成員總數及其電子郵件地址清單。 不過,如果某些沒有有效數位標識符的成員位於與發件者不同的組織中,則警告訊息會包含正確的計數,但不會包含其他組織中成員的電子郵件位址。 因此,總計數不會與成員位址清單相符。
例如,假設通訊群組包含來自兩個組織的五個成員,即機構 A 和機構 B。有三個群組成員來自機構 A,其中一個成員的數位標識碼無效。 另外兩個成員來自機構 B,而且兩者都有無效的數位標識碼。 如果機構 A 的成員將加密的訊息傳送至通訊群組,該成員將會收到警告訊息,指出總共有三個收件者沒有有效的數位識別碼。 不過,只有來自機構 A 之收件者的電子郵件位址會列在警告訊息中。
ABP 不適用於 Get-Group Cmdlet。 因此,任何能夠執行 Get-Group 的 使用者或進程都會看到他們有權存取之任何群組的所有成員。
建議您修改 OWA 選項的群組管理設定,讓使用者無法使用 Outlook Web App 來管理群組。 若要防止使用者使用 OWA 選項來管理群組,請從 MyDistributionGroupMembership RBAC 角色排除使用者。 如需詳細資訊,請 參閱 MyDistributionGroupMembership 角色。
如果您允許使用者使用 Outlook 或 Outlook Web App 來管理群組,群組擁有者必須具有完整的群組成員清單可見性。
所有 ABP 都必須包含會議室地址清單。 不過,如果您的組織不使用會議室位址清單,您可以建立預設的空白會議室位址清單。
部署 ABP 並不會防止某個虛擬組織中的用戶傳送電子郵件給另一個虛擬組織中的使用者。 如果您想要防止使用者跨組織傳送電子郵件,建議您建立傳輸規則。 例如,若要建立傳輸規則來防止 Contoso 使用者接收來自 Fabrikam 使用者的訊息,但仍允許 Fabrikam 的資深領導小組將訊息傳送給 Contoso 使用者,請執行下列 Shell 命令:
New-TransportRule -Name "StopFabrikamtoContosoMail" -FromMemberOf "AllFabrikamEmployees" -SentToMemberOf "AllContosoEmployees" -DeleteMessage -ExceptIfFrom seniorleadership@fabrikam.com
如果您想要在 Lync 用戶端中強制執行類似於 ABP 的功能,您可以在特定使用者物件上設定
msRTCSIP-GroupingID
屬性。 如需詳細資訊,請參閱 以 msRTCSIP-GroupingID 取代 PartitionByOU 主題。
一般部署步驟
由通訊清單分割中遷移至 ABP
如果您的組織已使用在 Exchange 2007 中設定虛擬組織和通訊清單隔離白皮書中的指示,就地設定 Exchange 2007 通訊清單隔離解決方案,您應該先使用移轉至 Exchange Server 2010 年 Exchange Server 通訊簿原則中所述的步驟,從 移轉至 2010 年通訊簿原則Exchange Server 2007 通訊清單隔離。 此程式需要組織的一些停機時間,因此您必須據此進行規劃。
新通訊錄原則部署
如果您的組織正在部署 Exchange 2013 通訊錄原則,且未進行過 Exchang 2007 通訊清單分割作業,則可以利用這些步驟在組織中部署通訊錄原則。
本節中的步驟將逐步引導您完成案例 2:兩家公司共用 CEO。 在此案例中,兩家公司 (Fabrikam 和 Tailspin Toys) 各自獨立,但具有共同的 CEO 和資深領導團隊。
步驟 1:安裝和設定通訊簿原則路由代理程式
如果您使用 ABP,而且不想讓個別虛擬組織中的用戶檢視彼此可能的私人資訊,您可以開啟通訊簿原則路由代理程式。 通訊錄原則路由代理程式是在信箱伺服器上執行的傳輸代理程式,可控制如何在組織中解析收件者。 安裝並設定通訊簿原則路由代理程式時,指派不同 GAL 的用戶會顯示為外部收件者,因為他們無法檢視外部收件者的聯繫人卡片。
如需詳細指示,請 參閱安裝和設定通訊簿原則路由代理程式。
步驟 2:分割您的虛擬組織
您必須開發一種分割組織的方式。 我們建議您在信箱、聯繫人和群組上使用 CustomAttribute1-15 屬性,而不是公司、部門或 StateOrProvince 等預先封裝的條件屬性,以根據下列原因來分割虛擬組織:
並非所有物件的收件者類型在 Active Directory 中都有預先掃描的條件屬性。 例如,通訊群組和動態散發群組不支援公司、部門或狀態屬性。
並非所有預先掃描的條件屬性都會公開在某些收件者的 Cmdlet 中。 例如, 公司、 部門和 StateOrProvince 參數無法在公開於郵件用戶、連絡人、通訊群組和擁有郵件功能之公用資料夾的 Cmdlet 中使用。
當您使用預先設定的條件屬性時,需要多個 Cmdlet 來隔離收件者。 例如,執行 New-Mailbox 或 Set-Mailbox Cmdlet 之後,您必須執行 Set-User 來標記 UserMailbox 的公司、部門、StateOrProvince。
CustomAttributeX 參數會在 Set-* Cmdlet 中針對每個收件者類型公開,我們可以透過單一 Set- Cmdlet 完成該類型的所有隔離
CustomAttributeX 屬性會為組織自訂作業而明確予以保留,並完全由組織系統管理員所控制。
隔離組織時考慮實作的另一個最佳做法,是在通訊群組和動態通訊群組的名稱中使用公司標識符。 Exchange 具有群組命名原則功能,會根據建立通訊群組之使用者的許多屬性,自動將後綴或前置詞新增至通訊群組的名稱,包括發佈群組的公司、StateorProvince、Title 和 CustomAttribute1 的建立者至 CustomAttribute15。 如果您允許使用者建立自己的通訊群組,群組命名原則特別重要。 如需詳細資訊,請參閱 建立通訊群組命名原則。
群組命名原則並不適用於動態通訊群組,因此必須以手動方式分割並手動套用命名原則。
步驟 3:建立通訊清單、GAL 和 OAB
當您建立通訊清單和全域通訊清單時,不會使用 「IncludedRecipient」 和 「ConditionalX」 參數,例如 ConditionalCompany 和 ConditionalCustomAttribute5。 您應該改用收件者篩選。 您必須使用Shell來建立收件者篩選。 如需收件者篩選器的詳細資訊,請參閱 Edge Transport Server上的收件者篩選
在建立 ABP 時,您將根據您希望使用者在 Outlook 或 Outlook Web App 中檢視通訊清單的方式,建立多個通訊清單。 此組織有四個通訊清單:
AL_FAB_Users_DGs
AL_FAB_Contacts
AL_TAIL_Users_DGs
AL_TAIL_Contacts
此範例會建立位址清單AL_TAIL_Users_DGs。 位址清單包含 CustomAttribute15 等於 TAIL 的所有使用者和通訊群組。
New-AddressList -Name "AL_TAIL_Users_DGs" -RecipientFilter "((RecipientType -eq 'UserMailbox') -or (RecipientType -eq 'MailUniversalDistributionGroup') -or (RecipientType -eq 'DynamicDistributionGroup')) -and (CustomAttribute15 -eq 'TAIL')"
如需更多有關使用收件者篩選器建立通訊清單的資訊,請參閱使用收件者篩選器來建立通訊清單。
若要建立 ABP,您必須提供會議室地址清單。 如果您的組織沒有會議室或設備信箱等資源信箱,建議您建立空白會議室位址清單。 下列範例會建立空白會議室位址清單,因為組織中沒有會議室信箱。
New-AddressList -Name AL_BlankRoom -RecipientFilter "(Alias -ne `$null) -and ((RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox'))"
不過,在此案例中,Fabrikam 和 Contoso 都有會議室信箱。 此範例會使用 CustomAttribute15 等於 FAB 的收件者篩選器,為 Fabrikam 建立會議室清單。
New-AddressList -Name AL_FAB_Room -RecipientFilter "(Alias -ne `$null) -and (CustomAttribute15 -eq 'FAB') -and (RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox')"
ABP 中使用的全域通訊清單必須是通訊清單的超集。 請勿建立物件少於ABP中任何或所有位址清單中所含物件的 GAL。 此範例會建立TailspinToys的全域通訊清單,其中包含位址清單和會議室位址清單中的所有收件者。
New-GlobalAddressList -Name "GAL_TAIL" -RecipientFilter "(CustomAttribute15 -eq 'TAIL')"
如需詳細資訊,請參閱 建立全域通訊清單。
當您建立 OAB 時,您應該在提供 New- 或 Set-OfflineAddressBook 的 AddressLists 參數時包含適當的 GAL,以確保不會意外遺漏任何專案。 基本上,您可以在 New/Set-OfflineAddressBook 的 AddressLists 中指定 AddressLists 清單,來自定義使用者會看到或減少 OAB 下載大小的專案集。 不過,如果您想要讓使用者在 OAB 中看到完整的 GAL 專案集,請確定您在 AddressLists 中包含 GAL。
此範例會為 Fabrikam 建立名為 OAB_FAB 的離線通訊錄 (OAB)。
New-OfflineAddressBook -Name "OAB_FAB" -AddressLists "GAL_FAB"
如需詳細資訊,請參閱 建立離線通訊錄。
步驟 4:建立 ABP
建立所有必要的對象之後,您就可以建立 ABP。 此範例會建立名為 ABP_TAIL 的 ABP。
New-AddressBookPolicy -Name "ABP_TAIL" -AddressLists "AL_TAIL_Users_DGs"," AL_TAIL_Contacts" -OfflineAddressBook "\OAB_TAIL" -GlobalAddressList "\GAL_TAIL" -RoomList "\AL_TAIL_Rooms"
如需詳細資訊,請參閱 建立通訊錄原則。
步驟 5:將 ABP 指派給信箱
將 ABP 指派給使用者是程式中的最後一個步驟。 當使用者的應用程式連線到用戶端存取伺服器上的 Microsoft Exchange 通訊簿服務時,ABP 就會生效。 如果使用者已連線至 Outlook,或在 ABP 套用至其帳戶時 Outlook Web App,則必須先關閉並重新啟動用戶端應用程式,才能看到新的通訊清單和 GAL。
此範例會指派 ABP_FAB 給 CustomAttribute15 等於 "FAB" 的所有信箱。
Get-Mailbox -resultsize unlimited | where {$_.CustomAttribute15 -eq "TAIL"} | Set-Mailbox -AddressBookPolicy "ABP_TAIL"
如需詳細資訊,請參閱 通訊錄原則指派給郵件使用者。