CollabNet Subversion Edge 安裝筆記(2):整合 AD 網域篇

延續【CollabNet Subversion Edge 安裝筆記 (1):基本安裝設定篇】 文章,此篇主要來講解如何正確設定 CollabNet Subversion Edge 與 Active Directory 網域整合 (或其他 LDAP 目錄服務)。雖然在 CollabNet Subversion Edge 裡只有一頁的 LDAP 設定,但若遇到對 LDAP 不是非常熟悉的人來說,要設定好這頁還真不太容易,所以本篇文章也會提到一些如何找出相關資訊的技巧。 cnwan.com.cn

我們先來看看以下 LDAP 認證的設定畫面,要啟用 LDAP 認證必須先勾選 用 LDAP 服务器进行 LDAP 认证,然後才會出現 LDAP 的設定表單,不過這些欄位真的很難懂,讓我來逐一解釋吧:
CollabNet Subversion Edge 安裝筆記(2):整合 AD 網域篇
LDAP 安全级别 ( LDAP Security Level )
選擇 NONE 即可

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 位址」,隨便選一位或特別建立一位即可,且無須加入到任何管理者群組之中,只要一般使用者即可。 cnwan.com.cn
取得特定帳號的 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 ) copyright cnwan.com.cn
通常會直接保留空白
如果你不希望所有 AD 的使用者都能登入到 CollabNet Subversion Edge,那麼你還是可以設定 LDAP Filter 過濾掉哪些不想讓他們登入的 LDAP Filter 條件。

LDAP 服务器证书验证 ( LDAP Server Certificate Verification )
验证 LDAP 服务器证书。
若你使用 SSL/TLS 憑證的方式跟 LDAP 連接,如果勾選這個選項會讓你的 CollabNet Subversion Edge 在連接前會先去驗證 LDAP 伺服器上的憑證是否有效。
Allow LDAP users to access the management console
透過 LDAP 驗證成功登入的使用者是否能使用這個主控台介面
Console LDAP Authentication Helper Port:

不需要變更此 Port 的內容,保留預設值即可。 

如果你能依照上述說明逐步設定,相信你一次就能把整合 AD 認證的設定給完成! 

其他注意事項

AD 使用者在登入時,請直接輸入「帳號」就好,不要輸入 [email protected] 或 miniasp\user 等格式。
可以認證通過不一定代表有 SVN 的存取權限,你可以查閱前篇文章的 設定存取權限 部分看如何設定權限,否則你就必須撰寫較為複雜的 LDAP Filter 或設定適當的 Base DN 來篩選過濾掉哪些不允許登入 CollabNet Subversion Edge 的使用者。
查詢 DN 的方式除了用 dsquery 查詢外,也可以使用 ADSI Edit 工具來查詢,此工具已經內建於 Windows Server 2008 之中 (必須先安裝 ADDS 角色),只要若要在 Windows Server 2003 以前的版本必須先安裝 Windows Server 2003 Service Pack 2 32-bit Support Tools 才能在 C:\Program Files\Support Tools 目錄下找到 adsiedit.msc 這個工具!

 以下是一段設定範例的圖示,僅供參考:
CollabNet Subversion Edge 安裝筆記(2):整合 AD 網域篇

你可能感兴趣的:(SVN,collabnet)