本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文探討如何在多林環境中配置Cisco Unified Communication Manager(CUCM)目錄整合。
思科建議您:
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
Microsoft AD LDS(以前稱為ADAM)可用於為啟用目錄的應用程式提供目錄服務。AD LDS可用於儲存資料,而不是使用組織的Active Directory域服務(AD DS)資料庫來儲存啟用目錄的應用程式資料。AD LDS可以與AD DS結合使用,這樣您就可以擁有一個安全帳戶(AD DS)的中心位置,以及另一個位置,以便支援應用程式配置和目錄資料(AD LDS)。 使用AD LDS,您可以減少與AD複製相關的開銷,無需擴展AD架構即可支援應用程式,還可以對目錄結構分割槽,以便僅將AD LDS服務部署到需要支援啟用目錄的應用程式的伺服器上。
ADAM與AD之間有許多區別,ADAM只能提供AD提供的一部分功能。

本文的目的是解釋允許CUCM或任何其它使用目錄整合服務(DirSync)的思科產品獲取使用者資訊並從可以存在於不同林中的不同AD域執行身份驗證的機制。為了實現這一目標,ADAM用於將其使用者資料庫與不同的AD域控制器或其他LDAP源同步。
ADAM可以建立使用者資料庫並儲存使用者的詳細資訊。需要單點登入(SSO)功能,以避免終端使用者必須在不同系統中維護不同的憑證集;因此,使用ADAM繫結重定向。ADAM繫結重定向是一種特殊功能,適用於支援LDAP繫結作為身份驗證機制的應用程式。在某些情況下,特殊模式或命名上下文可能會迫使您避免AD,這使得ADAM成為一種必要的選擇。這避免了使用者由於使用具有其自己的使用者ID和密碼的附加目錄而不得不記住多個密碼。
ADAM中的特殊使用者代理對象對映到常規AD使用者帳戶。使用者代理沒有在ADAM對象本身中儲存的實際密碼。當應用程式執行正常的繫結操作時,它在本地檢查ID,但按照下面的AD檢查密碼,如下圖所示。應用程式不需要知道此AD互動。

只有在應用程式可以執行與ADAM的簡單LDAP繫結的特殊情況下,才應使用ADAM繫結重定向。但是,應用程式仍需要將使用者與AD中的安全主體相關聯。
當使用稱為代理對象的特殊對象嘗試繫結到ADAM時,就會發生ADAM繫結重定向。代理對象是ADAM中代表AD中安全主體的對象。 ADAM中的每個代理對象都包含AD中使用者的SID。當使用者嘗試繫結到代理對象時,ADAM將獲取儲存在代理對象中的SID以及繫結時提供的密碼,並將SID和密碼提供給AD以進行身份驗證。ADAM中的代理對象不儲存密碼,使用者無法通過ADAM代理對象更改其AD密碼。
由於初始繫結請求是一個簡單的LDAP繫結請求,因此密碼以純文字檔案形式呈現給ADAM。因此,目錄客戶端和ADAM之間預設需要SSL連線。ADAM使用Windows安全API向AD提供密碼。
您可以在瞭解ADAM繫結重定向中獲得更多有關繫結重定向的資訊。
為了解釋此方法,請想象思科系統公司(森林2)收購另外兩家公司的情景:Tandberg(森林3)和Webex(森林1)。 在遷移階段,整合每個公司的AD結構,以便部署單個思科統一通訊群集。

在示例中,公司Cisco(林2)有兩個域,稱為CISCO(dns cisco.com)的林根域和稱為EMERG(dns emerg.cisco.com)的子域。 這兩個域都有一個域控制器,該域控制器也是全域性編錄,並且每個域都託管在Windows 2008 Server SP2中。
Tandberg公司(林3)有一個域,其域控制器也是全域性編錄,並且託管在Windows 2008 Server SP2中。
Company Webex(林1)有一個域,其域控制器也是全域性目錄,並且託管在Windows 2003 R2 Server SP2中。
AD LDS安裝在域CISCO的域控制器中,或者可以是單獨的電腦;實際上,它可能位於三個林中的任何位置。必須建立DNS基礎結構,以便一個林中的域可以與其他林中的域通訊,並在林之間建立適當的信任關係和驗證。
要驗證使用者是否有效,您需要在承載ADAM例項的域和託管使用者帳戶的其他域之間具有信任。如果需要,此信任可以是單向信任(從託管ADAM例項的域到託管使用者帳戶的域的傳出信任)。 這樣,ADAM例項就能將身份驗證請求轉發到這些帳戶域中的DC。
此外,您還需要擁有來自兩個帳戶域的使用者帳戶,該使用者帳戶具有訪問該域中所有使用者帳戶的所有屬性的許可權。ADAMSync使用此帳戶將「帳戶域」使用者同步到ADAM。
最後但同樣重要的是,運行ADAM的電腦必須能夠找到所有域(DNS),找到兩個域中的域控制器(使用DNS),並連線到這些域控制器。
完成以下步驟以設定互信關係:









這是為Tandberg和Webex域運行此流程後收到的結果。預設情況下出現域,因為它是一個子域。按一下「OK」(確定)。


選中Active Directory輕型目錄服務覈取方塊。按「Next」(下一步)。


完成以下步驟,以便在2012年設定AD LDS:






AD LDS可以使用不同的埠運行不同的服務例項,這允許不同的使用者目錄「應用程式」在同一台電腦上運行。預設情況下,AD LDS選擇埠389/LDAP和636/LDAPS,但如果系統已經具有運行它們的任何LDAP服務,它將使用埠50000/LDAP和50001/LDAPS。每個例項將有一對埠,這些埠根據先前使用的數字遞增。
在某些情況下,由於Microsoft錯誤,Microsoft DNS伺服器已使用這些埠,並且例項嚮導會給出一個錯誤(這不是自說明問題)。 保留TCP/IP堆疊中的連線埠時,可以修正此錯誤。如果發現此問題,請參閱AD LDS服務啟動失敗並出現錯誤「setup could not start the service..」 +錯誤代碼8007041d。




附註:CUCM僅支援單個應用程式目錄分割槽,當前不支援多分割槽。
請參閱步驟5:練習使用應用程式目錄分區,瞭解有關如何建立應用程式目錄分割槽的資訊。根據LDAP推薦(RFC 2251)為要與工作同步的每個域建立目錄分割槽的過程,該過程要求LDAP客戶端(CUCM、CUP等)支援推薦。
按一下Yes, create an application directory partition單選按鈕。在例項的Partition name欄位中輸入分割槽名稱。請勿在嚮導的示例中提供cn,因為大多數時間都會在方案中建立錯誤。在此場景中,輸入與託管AD LDS(dc=Cisco,dc=com)的AD域控制器相同的分割槽。按「Next」(下一步)。


按一下Current logged on user單選按鈕。輸入具有管理許可權的使用者的名稱。按「Next」(下一步)。


附註:如果ADAM安裝在Windows 2003伺服器上,則上一個螢幕將只有四個選項: MS-AZMan.LDF、MS-InetOrgPerson.LDF、MS-User.LDF和MS-UserProxy.LDF。在這四個選項中,只選中MS-User.LDF和MS-InetOrgPerson.LDF的覈取方塊。






附註:CUCM僅支援單個應用程式目錄分割槽,當前不支援多分割槽。
請參閱步驟5:練習使用應用程式目錄分區,瞭解有關如何建立應用程式目錄分割槽的資訊。根據LDAP推薦(RFC 2251)為要與工作同步的每個域建立目錄分割槽的過程,該過程要求LDAP客戶端(CUCM、CUP等)支援推薦。如需詳細資訊,請參閱Microsoft支援。
按一下Yes, create an application directory partition單選按鈕。輸入分割槽名稱。將LDS的分割槽建立為cisco.com。可以提供任何適當的值。按「Next」(下一步)。









如果使用者ID(sAMAccountNames)在不同的域中是唯一的,並且在不同林的不同域中沒有多個具有相同ID的使用者,則使用者可以從AD同步到AD LDS上的相應林,所有這些都可以存在於多林設定中的AD LDS上的單個分割槽中。例如,考慮CUCM中Active Directory多林支援方案部分中的圖,如果使用者ID 'alice'僅存在於三個域中的一個,則此方案中的設定如下:
分割槽林DN
P1 cisco.com DC=cisco,DC=com
webex.com DC=webex, DC=cisco,DC=com
tandberg.com DC=Tandberg, DC=cisco,DC=com
為了使用AD LDS配置CUCM,使用者ID(sAMAccountName)在所有林中必須是唯一的。CUCM當前僅支援AD LDS中的單個分割槽。
如果sAMAccountNames不是唯一的,請考慮使用以下任何屬性(如果它們唯一標識使用者帳戶):email、telephoneNumber、employeeNumber、uid或userPrincipalName。






組織需要生成的檔案的可用選項是建立單獨的目錄,以便允許將這些檔案從c:\windows\adam主目錄分離。開啟命令提示符並在c:\windows\adam中建立日誌目錄。
cd \windows\adam
mkdir logs
ldifde -i -s localhost:50000 -c CN=Configuration,DC=X
#ConfigurationNamingContext -f diff-schema.ldf -j c:\windows\adam\logs
有關其他格式選項和命令格式,請參閱使用LDIFDE將目錄對象匯入和匯出到Active Directory。

需要建立代理身份驗證的對象,並且不會使用對象類「user」。建立的對象類userProxy允許繫結重定向。對象類詳細資訊需要在ldif檔案中建立。該檔案是新檔案的建立,在本例中為MS-UserProxy-Cisco.ldf。 此新檔案從原始MS-UserProxy.ldf生成,並使用文本編輯程式進行編輯,以獲得以下內容:
#==================================================================
# @@UI-Description: AD LDS simple userProxy class.
#
# This file contains user extensions for default ADAM schema.
# It should be imported with the following command:
# ldifde -i -f MS-UserProxy.ldf -s server:port -b username domain password -k -j . -c
"CN=Schema,CN=Configuration,DC=X" #schemaNamingContext
#
#==================================================================
dn: CN=User-Proxy,CN=Schema,CN=Configuration,DC=X
changetype: ntdsSchemaAdd
objectClass: top
objectClass: classSchema
cn: User-Proxy
subClassOf: top
governsID: 1.2.840.113556.1.5.246
schemaIDGUID:: bxjWYLbzmEiwrWU1r8B2IA==
rDNAttID: cn
showInAdvancedViewOnly: TRUE
adminDisplayName: User-Proxy
adminDescription: Sample class for bind proxy implementation.
objectClassCategory: 1
lDAPDisplayName: userProxy
systemOnly: FALSE
possSuperiors: domainDNS
possSuperiors: organizationalUnit
possSuperiors: container
possSuperiors: organization
defaultSecurityDescriptor:
D:(OA;;CR;ab721a53-1e2f-11d0-9819-00aa0040529b;;PS)S:
defaultHidingValue: TRUE
defaultObjectCategory: CN=User-Proxy,CN=Schema,CN=Configuration,DC=X
systemAuxiliaryClass: msDS-BindProxy
systemMayContain: userPrincipalName
systemMayContain: givenName
systemMayContain: middleName
systemMayContain: sn
systemMayContain: manager
systemMayContain: department
systemMayContain: telephoneNumber
systemMayContain: mail
systemMayContain: title
systemMayContain: homephone
systemMayContain: mobile
systemMayContain: pager
systemMayContain: msDS-UserAccountDisabled
systemMayContain: samAccountName
systemMayContain: employeeNumber
systemMayContain: initials
systemMayContain: ipPhone
systemMayContain: displayName
systemMayContain: msRTCSIP-primaryuseraddress
systemMayContain: uid
dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-
將MS-UserProxy-Cisco.ldf檔案儲存在C:\windows\adam中。
將新對象類匯入到AD LDS。
ldifde -i -s localhost:50000 -c CN=Configuration,DC=X #ConfigurationNamingContext -f
MS-UserProxy-Cisco.ldf -j c:\windows\adam\logs

現在需要將每個域的使用者匯入到AD LDS。對於需要同步的每個域,需要重複此步驟。此範例僅針對其中一個網域顯示程式。從原始MS-AdamSyncConf.xml開始,為需要同步的每個域建立一個XML檔案,並使用特定於每個域的詳細資訊修改該檔案以包含此內容:
<?xml version="1.0"?>
<doc>
<configuration>
<description>Adam-Sync1</description>
<security-mode>object</security-mode>
<source-ad-name>ad2k8-1</source-ad-name>
<source-ad-partition>dc=cisco,dc=com</source-ad-partition>
<source-ad-account></source-ad-account>
<account-domain></account-domain>
<target-dn>dc=cisco,dc=com</target-dn>
<query>
<base-dn>dc=cisco,dc=com</base-dn>
<object-filter>
(|(&(!cn=Administrator)(!cn=Guest) (!cn=ASPNET)
(!cn=krbtgt)(sAMAccountType=805306368))(&(objectClass=user)(isDeleted=TRUE)))
</object-filter>
<attributes>
<include>objectSID</include>
<include>mail</include>
<include>userPrincipalName</include>
<include>middleName</include>
<include>manager</include>
<include>givenName</include>
<include>sn</include>
<include>department</include>
<include>telephoneNumber</include>
<include>title</include>
<include>homephone</include>
<include>mobile</include>
<include>pager</include>
<include>msDS-UserAccountDisabled</include>
<include>samAccountName</include>
<include>employeeNumber</include>
<include>initials</include>
<include>ipPhone</include>
<include> displayName</include>
<include> msRTCSIP-primaryuseraddress</include>
<include>uid</include>
<exclude></exclude>
</attributes>
</query>
<user-proxy>
<source-object-class>user</source-object-class>
<target-object-class>userProxy</target-object-class>
</user-proxy>
<schedule>
<aging>
<frequency>0</frequency>
<num-objects>0</num-objects>
</aging>
<schtasks-cmd></schtasks-cmd>
</schedule>
</configuration>
<synchronizer-state>
<dirsync-cookie></dirsync-cookie>
<status></status>
<authoritative-adam-instance></authoritative-adam-instance>
<configuration-file-guid></configuration-file-guid>
<last-sync-attempt-time></last-sync-attempt-time>
<last-sync-success-time></last-sync-success-time>
<last-sync-error-time></last-sync-error-time>
<last-sync-error-string></last-sync-error-string>
<consecutive-sync-failures></consecutive-sync-failures>
<user-credentials></user-credentials>
<runs-since-last-object-update></runs-since-last-object-update>
<runs-since-last-full-sync></runs-since-last-full-sync>
</synchronizer-state>
</doc>
在此檔案中,應替換以下標籤以匹配域:
有關如何建立<object-filter>的詳細資訊,請參閱搜尋篩選器語法。
將新建立的XML檔案儲存在C:\windows\adam中。
開啟命令視窗cd \windows\adam。
輸入命令ADAMSync /install localhost:50000 c:\windows\ADAM\AdamSyncConf1.xml /log c:\windows\adam\logs\install.log。
驗證AdamSyncConf1.xml檔案是否是新建立的XML檔案。
使用ADAMSync /sync localhost:50000 "dc=cisco,dc=com" /log c:\windows\adam\logs\sync.log命令同步使用者。
結果應類似於:

要完成從AD到ADAM的自動同步,請使用Windows中的任務計畫程式。
使用以下內容建立.bat檔案:
"C:\Windows\ADAM\ADAMSync" /install localhost:50000 c:\windows\ADAM\AdamSyncConf1.xml /log c:\windows\adam\logs\install.log
"C:\Windows\ADAM\ADAMSync" /sync localhost:50000 "dc=cisco,dc=com" /log c:\windows\adam\logs\syn.log
安排任務根據需要運行.bat檔案。這將處理AD中發生的新增、修改和刪除,以在ADAM中反映出來。
您可以建立另一個.bat檔案,並安排它從另一個林完成自動同步。














預設情況下,使用繫結重定向繫結到ADAM需要SSL連線。SSL要求在運行ADAM的電腦和作為客戶端連線到ADAM的電腦上安裝和使用證書。如果您的ADAM測試環境中未安裝證書,則可以禁用SSL要求作為替代方法。
預設情況下,SSL已啟用。為了使LDAPS協定在ADAM/LDS中正常工作,您需要生成證書。
在本示例中,Microsoft證書頒發機構伺服器用於頒發證書。若要請求證書,請轉到Microsoft CA - http://<MSFT CA hostname>/certsrv的網頁並完成以下步驟:
返回證書頒發機構介面,然後按一下Pending Certificates資料夾。按一下右鍵ADAM/AD-LDS電腦發出的證書請求並頒發證書。
證書現已建立並駐留在「已頒發的證書」資料夾中。接下來,您需要下載並安裝證書:
為了讓ADAM服務使用證書,您需要將證書放在ADAM服務的個人儲存中:
若要向網路服務帳戶授予伺服器身份驗證證書的「讀取」許可權,請完成以下步驟:
有關更多資訊,請參閱附錄A:為AD LDS配置LDAP over SSL要求。
接下來,將頒發證書的CA的證書作為CUCM目錄信任上傳到ADAM/AD LDS電腦。
請參閱Cisco Unified Communications Operations System Administration Guide以瞭解其他詳細資訊。
選中此覈取方塊可以在LDAP目錄頁和LDAP身份驗證頁中使用SSL。
為LDAP埠輸入50001(在本示例中),該埠是安裝ADAM/AD LDS例項時給定的SSL埠號。
若要停用繫結重新導向的SSL要求,請完成以下步驟:
CUCM版本9.1(2)及更高版本支援ADAM/AD LDS同步和身份驗證。
uid僅用於獨立的ADAM/AD LDS,不能用於AD多林支援。

目前,對於LDAP伺服器型別「Microsoft ADAM或輕量級目錄服務」模式,samAccountName未包含在LDAP Attribute for Userid下拉選單中。原因是它不是獨立ADAM/AD LDS支援的屬性。如果需要使用對映到sAMAccountName的CUCM UserID,則應將協定配置為AD。




對象類User不再使用。因此,需要將LDAP過濾器更改為使用userProxy而不是User。
預設篩選條件為:
(&(objectclass=user)(!(objectclass=Computer))(!(msDS-UserAccountDisabled=TRUE)))
要修改此篩選器,請使用Web瀏覽器登入到CCMAdmin,然後從LDAP配置選單中選擇LDAP自定義篩選器選項。

如上圖所示,配置LDAP同步協定時,在LDAP目錄頁中使用此過濾器。

意見