延續前天的【CollabNet Subversion Edge 安裝筆記 (1):基本安裝設定篇】文章,此篇主要來講解如何正確設定 CollabNet Subversion Edge 與 Active Directory 網域整合 (或其他 LDAP 目錄服務)。雖然在 CollabNet Subversion Edge 裡只有一頁的 LDAP 設定,但若遇到對 LDAP 不是非常熟悉的人來說,要設定好這頁還真不太容易,所以本篇文章也會提到一些如何找出相關資訊的技巧。
我們先來看看以下 LDAP 認證的設定畫面,要啟用 LDAP 認證必須先勾選 用 LDAP 服务器进行 LDAP 认证,然後才會出現 LDAP 的設定表單,不過這些欄位真的很難懂,讓我來逐一解釋吧:
LDAP 安全级别 ( LDAP Security Level )
LDAP 服务器主机 ( LDAP Server Host )
- 請輸入 網域主控站 (Domain Controller) 的 FQDN 地址或 DC 的 FQDN 位址。
- 設定範例:miniasp.local 或 dc1.miniasp.local
LDAP 服务器端口 ( LDAP Server Port )
- 使用預設的 389 是沒問題的,不過你也可以考慮切換到 3268 ( Global Catalog )
LDAP 基础 DN ( LDAP Base DN )
- 所謂的 DN 代表的是 Distinguished Name (專有名稱),用來代表一個 LDAP 物件的名稱 / 路徑
- 一個範例的 DN 為:"CN=Administrator,CN=Users,DC=miniasp,DC=local"
- Base DN 代表的是搜尋 LDAP 物件的基底位址,例如:"CN=Users,DC=miniasp,DC=local"
- 如果你填寫的 LDAP Base DN 是 "CN=Users,DC=miniasp,DC=local" 的話,代表的是當使用者輸入帳號、密碼認證時,會從 "CN=Users,DC=miniasp,DC=local" 往下開始搜尋。
- 然而對管理者來說,最難的就是如何找出 DN 了,因為大多數的人並不瞭解 DN 為何物,所以也不知道怎樣才能查出 DN,這裡我以 Active Directory 為例,只要在網域主控站的電腦輸入以下指令,即可快速查出某個使用者的 DN,相對的你也可以取出部分的 DN 位址當成 Base DN 來用:
dsquery user -samid "administrator"
- 透過上述指令執行後,會直接查出帳號 administrator 的 DN 位址,如下範例:
"CN=Administrator,CN=Users,DC=miniasp,DC=local"
LDAP 绑定 DN ( LDAP Bind DN )
- 由於 CollabNet Subversion Edge 要與 AD/LDAP 做整合,所以當在執行使用者身份認證時,必然需要進 LDAP 中取得這些 LDAP 物件的資料,如此一來才能幫使用者驗證帳號、密碼是否正確。
- 這裡的 LDAP Bind DN 講的就是「在 AD 裡任何一位使用者的 DN 位址」,隨便選一位或特別建立一位即可,且無須加入到任何管理者群組之中,只要一般使用者即可。
- 取得特定帳號的 DN 可參考上述 dsquery 指令的用法範例。
LDAP 绑定密码 ( LDAP Bind Password )
- 這裡輸入的必須是 LDAP 绑定 DN ( LDAP Bind DN ) 這個帳號的「密碼」
LDAP 登录属性 ( LDAP login Attribute )
- 請輸入 sAMAccountName
- 這裡代表的是,當 CollabNet Subversion Edge 透過 LDAP Bind DN 與 LDAP Bind Password 連接 LDAP 之後,當在比對 LDAP 物件時,會以「什麼屬性」當成「帳號」的比對依據。
而 sAMAccountName 所代表的正是「使用者帳號」。
- 如果此欄位不輸入的話,預設會去比對 LDAP 物件中的 uid 屬性。
LDAP 搜索范围 ( LDAP Search Scope )
- 這裡有兩個選項,分別為 sub 與 one,一般我們會選用預設的 sub 代表做帳號比對時會搜尋 Base DN 下所有的樹狀的子系 OU 節點。
LDAP 筛选 ( LDAP Filter )
LDAP 服务器证书验证 ( LDAP Server Certificate Verification )
- 验证 LDAP 服务器证书。
- Allow LDAP users to access the management console
- 透過 LDAP 驗證成功登入的使用者是否能使用這個主控台介面
Console LDAP Authentication Helper Port:
如果你能依照上述說明逐步設定,相信你一次就能把整合 AD 認證的設定給完成!
其他注意事項
§ 以下是一段設定範例的圖示,僅供參考:
相關連結