實務練習 3:客戶使用 Public Queries 存取內部使用者資料庫

這個實務練習的目的是讓客戶能夠存取內部 ClearQuest 資料庫,檢視其問題相關記錄、送出新問題,以及檢視其他的相關公用資訊。

一般來說,讓客戶能夠存取內部 ClearQuest 資料庫,進而檢視與其問題相關聯的記錄、送出新問題,並且可以看到非專屬於任何特定客戶的其他公用資訊,是件值得做的事情。

實務練習 3 環境定義

這項能力的一個關鍵層面是,不容許客戶看到或發現任何其他客戶資訊的存在,此外,也不容許他們看到或發現任何內部使用者或內部資訊的存在。

應該注意的是,工作區資料夾只是達到上述目標的解決方案其中一部分。許多 ClearQuest 綱目包括的記錄,其中含有可能不適合客戶觀看的資料。

若要限制查詢所傳回記錄的可見性,必須使用 Rational ClearQuest 的「安全環境定義」特性。工作區資料夾許可權不會使用任何方式來限制查詢所要傳回的資料。工作區資料夾許可權也不會使用任何方式,來限制使用者建立專用查詢的能力。只有 Rational ClearQuest 的「安全環境定義」特性才能夠限制查詢所要傳回的記錄。

綱目開發人員必須修改綱目所提供的記錄類型,做法是新增「安全環境定義」記錄的參照,並盡可能地將邏輯記錄類型分成多筆記錄,其中每一筆記錄的邏輯內容可分別受到控制,以確實啟用客戶對內部使用者資料庫的存取權。(例如,如果產品記錄在邏輯記錄中包含產品說明、售價,以及生產成本,安全環境定義特性只能限制整筆記錄的存取,而無法限制記錄中之售價的存取。因而如果客戶不知道產品的生產成本,則必須將該資訊放在另一筆記錄上。將記錄隔開可能相當複雜而導致其他問題,所以不建議這麼做。

實務練習 3 工作流程

「安全管理者」執行下列步驟。

  1. 為客戶使用者建立一個名為 CustUsers 的群組。
  2. 為客戶建立的任何使用者只能作為客戶群組 CustUsers 的成員。
  3. 針對 Public Queries 資料夾,將「有限讀取」許可權授予 CustUsers。
  4. 為客戶在 Public Queries 中建立一個名為 CustFolder 的資料夾。
  5. 針對 CustFolder,將「唯讀」或「讀寫」許可權授予 CustUsers

客戶使用者將只能夠看到其本身的 Personal Queries 資料夾和 CustFolder 以及這兩個資料夾任一個的內部所有事物。如果授予對 CustFolder 的「唯讀」許可權,客戶的使用者將無法建立或修改任何內容,而且資料夾將必須由對該資料夾確實擁有「讀寫」許可權的某個其他群組所管理。

如果他們對 CustFolder 亦具備「讀寫」許可權,他們可以在該資料夾中建立或修改事物,包括建立子資料夾,藉此在資料夾內進行本身的管理。

替代實務練習 3a:客戶管理本身的資料夾

先前實務練習的替代方式是將客戶使用者分成兩個群組:一個針對一般使用者,另一個是能夠管理客戶資料夾內容的群組。這將以類似於 Public Queries 預設值的方式來使用 CustFolder,亦即,其中大部分使用者擁有唯讀存取權,而特定使用者擁有讀寫存取權。

若要完成這點,除了上述外,「安全管理者」還將執行下列步驟:

  1. 為客戶管理者建立一個名為 CustAdmin 的群組。視其角色而定,為客戶建立的使用者將是 CustUsers 或 CustAdmin 的成員。更適當的是擁有兩個群組的一些使用者成員。
  2. 針對 Public Queries 資料夾,將「有限讀取」許可權同時授予 CustAdmin 和 CustUsers。
  3. 針對 CustFolder 資料夾,將「唯讀」許可權授予 CustUsers(如同先前實務練習所示,沒有「讀寫」選項)。
  4. 針對 CustFolder 資料夾,將「讀寫」許可權授予 CustAdmin。

在此情況下,CustAdmin 的成員可以修改 CustFolder 的內容,但僅屬於 CustUsers 的使用者無法做到這點

替代實務練習 3b:多個客戶群組

大型客戶可能擁有需要存取內部 ClearQuest 資料庫的不同內部群組。在此情況下,有兩種個案:客戶群組會獨立或是合作。

在第一個個案中,兩個客戶群組是獨立的,而且不一定會知道彼此。這種情況的處理方式,和處理兩個完全獨立的客戶是相同的。唯一的實際問題是,哪些名稱會用於 ClearQuest 群組和客戶資料夾,因此毫無疑問會有多個群組存在。對必要的安全原則來說,這點不一定很重要,例如,使用 "Acme1" 和 "Acme2" 會只向其中一個或另一個群組的使用者顯示,有任何數目的其他 "AcmeN" 群組。針對這個情況進行的適當命名,會供讀者作為練習。

在第二個個案中,群組彼此合作,並且知道對方在使用相同的資料庫。在此情況下,群組和資料夾名稱較不重要。視群組之間想要共用的程度而定,有幾個替代方式可用於此個案。一般的個案會是每一個群組或每一個群組的管理者控制其本身的客戶資料夾,但容許另一個群組擁有「唯讀」存取權。視每一個群組是否已有另外的管理群組而定,這會需要 2 或 4 個群組(如同替代實務練習 3a:客戶管理本身的資料夾中所述)。另一個替代方式是由群組分擔管理角色。如果所用的是先前的替代流程,這樣做才會合理;它容許只使用 3 個而非 4 個 ClearQuest 群組:2 個用於客戶群組,一個用於共同管理者。

替代實務練習 3c:使客戶合作

在此情況下,有多個客戶參與一項專案,他們都需要在內部 ClearQuest 資料庫中看到相同的資料。可以用兩種方式加以處理。



意見