TFS 與活動目錄AD(Active Directory)的同步機制


TFS用戶管理機制

TFS系統與企業域服務器用戶系統(或本地計算機用戶系統)高度集成在一起,使用域服務器驗證系統用戶的賬戶和密碼,從而在企業中實現單一用戶,單點登錄。也就是說,TFS系統自身並沒有用戶管理的功能,沒有針對賬戶信息的創建、修改、刪除功能。當用戶通過域服務器提供的功能修改了賬戶密碼以后,登陸TFS系統時,需要使用新的賬戶密碼。

但是,並不是說在TFS系統中完全沒有賬戶信息的概念。實際上,當管理員將開發人員的域賬戶或本地服務器的賬戶添加到TFS的團隊項目中時,TFS系統自動將賬戶的部分屬性(Sid、AccountName、DistinguishedName、顯示名稱、郵箱地址等)同步到了TFS系統的數據庫中。TFS系統在運行過程中,會使用這些緩存在TFS系統中的信息,從而提高數據查詢效率;另外TFS還允許用戶修改其中緩存的郵箱地址顯示名稱,但是這些信息不會反向同步到域服務器。

image

Figure 1 – TFS用戶配置信息

TFS還提供用戶組的功能,可以將多個用戶合並到一個組中,通過為組配置相應的權限和功能,使組中的用戶自動繼承用戶組所具備的功能。這種機制與Windows操作系統的用戶組功能類似,十分有利於用戶的權限設置。同時TFS系統也支持域服務中的安全組,即在添加用戶時,可以添加一個域控制器中的組,例如“開發一處的所有成員”,那么TFS系統會將這個組中的所有用戶自動添加到TFS的團隊項目中。

定期同步

TFS系統與Active Directory域之間的同步,主要包含兩個方面的內容:

1. 將域服務器中已經變化了的屬性值同步到TFS系統中。例如域管理員在AD中修改了用戶的郵箱和顯示名稱,TFS系統會自動將這些信息同步到TFS中。

2. 將域服務器安全組中的用戶成員信息同步到TFS系統中。例如上面提到的“開發一處的所有成員”組增加了用戶成員,TFS會自動在系統中增加對應的用戶。如果在AD中將成員從組中移除出來,則TFS也會自動將用戶從TFS中移除。通過這種同步,可以實現將AD中的組織結構直接映射到TFS系統中,大幅降低權限配置的復雜性。

在TFS的默認配置中,這種同步功能由TFS系統自動完成,並且每小時同步一次。如果用戶需要強制立刻同步,可以通過WebService工具或者PowerShell啟動同步任務(Job).

強制同步

在很多情景下,管理員需要立即實現AD與TFS之間的同步。例如需要將AD組中添加的賬戶同步到TFS系統,以便使開發人員可以立即登陸TFS系統。TFS提供一個WebService服務,可供用戶啟動同步任務。你可以使用這個WebServiceStudio工具,實現無代碼調用WebService,也可以通過PowerShell實現此功能。下面以圖片的方式介紹如何實現:

在TFS服務器上,打開IIS,找到名稱為JobService的服務,並使用瀏覽器打開:

image

在WebService Studio中輸入TFS Job Service的地址,獲取所有功能,並選擇QueryJobs功能,輸入Job的GUID。注意同步AD信息的任務ID是'544DD581-F72A-45A9-8DE0-8CD3A5F29DFE',名稱是‘Periodic Identity Synchronization’。

image

任務啟動以后,你可以在TFS的作業監控界面查看到任務的狀態:

image

任務完成后,大約1分鍾時間后,你會看到AD中的信息已經同步到了TFS系統,包括用戶賬戶和用戶的郵箱等信息。

數據庫存儲

TFS系統中的用戶信息主要存儲在Tfs_Configuration庫的tbl_Identity和tbl_Propertyvalue中,如下圖:

image

常見問題

1. 為什么在TFS中,有些賬戶的信息無法同步更新?

由於系統的默認設置,如果用戶在TFS系統中修改了個人信息,那么除非用戶在“用戶配置文件”中重置這些被修改的屬性,同步到TFS系統中的信息不會顯示在頁面中。

http://www.cnblogs.com/danzhang/  ALM MVP 張洪君


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM