基本管理 > 管理使用者參與 > 小組 > 使用本機與共用小組的最佳實作
  
使用本機與共用小組的最佳實作
若要最有效地管理您的使用者社群,請分析如何最有效地在「網站」或組織層級上組織您的使用者。如果可能,請在「網站」層級或組織層級建立使用者定義的群組,並在組織層級建立共用小組,然後在建立應用程式前後關聯時使用這些群組和小組。
決定應該在共用與本機小組中使用哪些角色時,請務必檢查要使用的小組範本,這樣您才可以適時使前後關聯小組中的角色與小組範本中使用的角色相配。
設計前後關聯小組
若要為使用者提供最有效的企業資料存取,重要的是要使用前後關聯小組,此小組的設計不僅可做到精確的存取控制,也能針對最佳系統效能來設計。
對於預期會達到上千個產品、專案或物件庫的任何網站,在設計前後關聯小組的結構時,都需要格外注意下列指導原則。這些指導原則中可找到可能的最佳化方式,即使是已經使用很久的小組設計也一樣。較小的網站也能從這些最佳化技術獲益。
完全根據本機小組來設計小組結構,通常是最簡單的。不過,本機小組是記憶體和處理電源用量非常高的企業物件。小組的結構越精細與細膩,對系統資源的需求越高,例如︰
快取
資料庫查詢
以佇列為基礎的流程,例如重新計算佇列
系統內的搜尋及一般使用者互動
非常大型且複雜的小組結構,加上使用此結構的數以千計的產品與容器,對於系統資源的需求量會相當大。複雜的小組結構不只會減慢小組特定功能,而且在極端情況下,它們對系統資源的龐大需求會對整個系統效能帶來不利影響。因此,在設計最佳的小組結構時,若想一方面滿足企業需求,同時又不對效能造成不利影響,謹慎規劃是很重要的。
設計小組結構的主要動力是滿足企業對使用者社群不同部份的權限需求,使企業能夠存取應用程式前後關聯中的內容。請在小組設計流程中遵循下列指導原則。
將權限需求分類
使用者的權限需求通常分為兩類︰存取權限是否應以應用程式前後關聯中使用者的角色為基礎;或者,是否應獨立於前後關聯中使用者的角色,將存取權限授與使用者。設定此區別會協助您決定應將存取權授與前後關聯獨立的參與者,還是前後關聯特定的參與者。
前後關聯獨立的參與者
針對需要物件存取權的參與者,無論它們是否屬於物件所在應用程式前後關聯的成員,都會使用下列參與者建立存取控制規則︰使用者、使用者定義的群組、組織或虛擬角色。
例如,假設組織中的所有使用者都必須針對組織內「已發行」狀態的每個公開產品之「規格」文件擁有「讀取」權限。透過在組織的 /預設/PDM 網域 (授與組織參與者對「已發行」狀態之規格文件類型的「讀取」權限) 中定義的原則存取控制規則,強制執行這些存取權限。
前後關聯特定參與者
對於根據前後關聯中的角色需要應用程式前後關聯中之物件存取權的參與者,使用系統群組與動態角色建立存取控制規則。當針對角色建立存取控制規則時,需要考慮規則是否應適用於動態角色,因為該角色的權限需求在不同前後關聯之間都相同,或者是否需要針對系統群組建立規則,因為該角色的權限需求在應用程式前後關聯之間會有所變化。
例如,假設負責設計產品的使用者必須擁有特定類型資料的「建立」和「修改」權限。這只會套用到其獲指派設計工作的產品。透過共用或本機小組中與設計者相關聯的動態角色強制執行這些權限。
建立應用程式前後關聯時,如果小組角色與角色中的參與者在一組前後關聯之間都相同,請考慮使用共用小組。如果小組角色或角色中的參與者在應用程式前後關聯之間有所變化,請使用本機小組。如果應用程式前後關聯之間的變化很微小,請考慮使用延伸到本機的共用小組。
當然可以使用選項的混合及匹配;沒有必要針對所有情況採用單一選項。例如,您可以針對物件庫前後關聯選擇共用小組,同時將本機小組用於一些產品和專案前後關聯集,將延伸到本機的共用小組用於另一些產品和專案前後關聯集。
* 
針對寬泛的權限需求,請考慮使用前後關聯獨立的參與者。這會將小組大小保持在最佳層級,並降低對處理資源之系統的影響。針對在前後關聯之間有差別的權限需求,請使用前後關聯特定參與者。
下列表格提供用來管理小組權限的各種技巧,及其對效能影響的更詳細資訊。
前後關聯獨立的參與者 (使用者、使用者定義的群組、組織與虛擬角色)
系統資源效率
最適合時
某些參與者群組的權限需求在不同應用程式之間皆相同時。
使用方法
參與者根本不必新增至小組。相反地,應該透過存取控制規則為其授與必要權限。
範例
範例 1
整個組織都需要對組織內每個公開產品之特定類型資料的讀取權。在此類情況下,可以使用某個選項將組織中的所有使用者新增至每個產品的「未註冊成員角色」。此方式需要大量處理。可透過適當管理網域 (例如組織的 /Default/PDM 網域) 中特定物件類型的存取原則規則,為使用者提供「讀取權」。
範例 2
特定的使用者群組在每個應用程式前後關聯中執行「法規遵循審核」的功能。建立「法規遵循審核」角色,並將相同的使用者新增至每個應用程式前後關聯中的該角色,會增添不必要的負擔。不過,可透過適當管理網域 (例如網站的 / (根) 網域) 中「法規遵循審核」使用者定義群組的存取原則規則,為使用者群組提供必要權限。
其他考量
針對不屬於應用程式前後關聯小組成員的使用者,應用程式前後關聯將不會列在使用者介面中的「產品」、「物件庫」、「方案」或「專案清單」頁中。不過,使用者仍可搜尋它們。如果使用者擁有適當權限,則會找到應用程式前後關聯。存取之後,會將應用程式前後關聯載入到「導覽器」中最近存取的清單,且可在此處找到以供後續使用。
如果此類使用者需要存取不會自動顯示給非小組成員的動作,則可使用小組的「配置角色動作」設定將這類動作顯示給非小組成員看見。此類規則可能會透過前後關聯範本而自動提供給新前後關聯。某些功能,例如參與「工作流程」,可能也必須針對非小組成員使用者而個別設定。
此類使用者用來在應用程式前後關聯內導覽至不同資料類型所需的存取原則規則,可能依具體情況而有所不同。應該識別並適當授與這些權限。
詳細資訊
共用小組
前後關聯特定的參與者 (系統群組與動態角色)
系統資源效率
最適合時
參與者所需的對應用程式前後關聯中物件的存取權依據其在前後關聯中的角色而定。
同一個小組結構可以套用至數個類似 (變更不大或沒有變更) 的應用程式前後關聯。
相同使用者或群組,在所有這些應用程式前後關聯中的相同角色中執行相同功能。
可以在本機上延伸以滿足其他需求 (請參閱以下額外的考量)。
使用方法
共用小組通常用於「物件庫」小組,這是由於要提供給使用者的權限之泛用本質緣故。
在其他情況下,可以建立多個共用小組以用於不同的「產品」與「專案」集。
其他考量
當未以本機方式延伸時,共用小組是最有效率的。以本機方式延伸小組會建立本機小組實例,這會減少共用小組應該提供的某些效能優點。根據共用小組在每個本機小組中的修改程度而定,共用小組的真正優點可能根本無法實現。
詳細資訊
本機小組
前後關聯特定的參與者 (系統群組與動態角色)
系統資源效率
最適合時
參與者所需的對應用程式前後關聯中物件的存取權依據其在前後關聯中的角色而定。
小組結構特定於每個應用程式前後關聯。
在小組角色中產生作用的參與者特定於每個應用程式的前後關聯。
使用方法
根據職務來建立廣泛的使用者分組。
將群組新增至小組的特定角色。
請勿針對每個個別的前後關聯建立具唯一性的使用者群組。請考慮使用可重複使用的使用者群組。
其他考量
理想情況下,本機小組所需的參與者數目保持在最佳數目。
詳細資訊
設計小組時,有些常見作法應該避免。下表列出了一些作法及其缺點。
效率低下的小組設計作法
缺點
最佳作法
將組織中每個使用者新增至每個小組的「未註冊成員角色」(或任何其他角色) 以授與應用程式前後關聯資料的「讀取」權限。
極大型小組結構對於系統資源的需求很龐大。
使用原則規則來提供基本存取權限。將必須與小組直接關聯的使用者數目保持在最佳數目。
透過為每個小組建立數百個角色來建立非常精確的權限控制。
極大型小組結構對於系統資源的需求很龐大。
請注意定義多個特定角色的效能取捨。將小組中的角色數目保持在最佳數目。
使用產品或物件庫範本來指定應針對所有產品或物件庫中小組角色建立的相同原則存取控制規則。
這會導致不必要的複製,也就是針對每個產品中的相同角色建立了相同的原則存取控制規則。
如果可能,請在「組織」層級針對動態角色建立原則存取控制規則,而不要在每個應用程式前後關聯中複製它們。如需詳細資訊,請參閱在存取控制規則中使用動態角色
針對產品中的角色指派,以隨機方式建立具唯一性的使用者群組。群組不重複使用,而且特定於單一產品。
可能會導致許多使用者群組擁有類似的參與者成員資格。這會使得使用者群組的維護更加複雜,而且使 LDAP 負載過重。
將使用者組織到可重複使用的使用者群組中,而不要為每個前後關聯建立具唯一性的使用者群組。或者,將使用者與小組直接關聯,而不是建立使用者群組並將這些群組關聯至角色。第二個方法不像第一個那麼有效率。
其他最佳化技巧
以下是與小組有關的一些實用的系統最佳化技巧。
當前後關聯到達最終生命狀態之後,請考慮清除小組成員資格。 DeleteLocalTeamRoles 公用程式會從現有的應用程式前後關聯中刪除本機小組角色。如需詳細資訊,請參閱刪除本機小組角色
根據下列最佳作法指導原則,調整 PrincipalCacheRemoteObjectIdCache 的快取大小。這可確保這些快取能夠有效地滿足小組結構的需求。如需詳細資訊,請參閱下列知識庫文章。
https://support.ptc.com/appserver/cs/view/solution.jsp?n=CS71489
https://support.ptc.com/appserver/cs/view/solution.jsp?n=CS97931
請考慮使用 PopulateConfirmedUsersInCache 公用程式來在 PrincipalCache 中預先填入項目,以使得快取在系統啟動時即已填滿。如需詳細資訊,請參閱下列知識庫文章︰https://support.ptc.com/appserver/cs/view/solution.jsp?n=CS115189
為了能夠最好地使用快取,請執行參與者的定期維護來解決已中斷連線的狀況。如需詳細資訊,請參閱管理已中斷連線的參與者
請考量如果內容 wt.inf.team.wtusersUseAccessPolicyRules 設定為 true,是否適合您的網站。如果設定為 true,當從範本建立應用程式前後關聯時,系統產生的隨機規則不會新增至參與者。如需詳細資訊,請參閱下列知識庫文章︰https://support.ptc.com/appserver/cs/view/solution.jsp?n=CS180319