2008 年 9 月 08 日
在日常工作或測試中,我們常常需要用某 Domino 域中的一個固定用戶 ID(比如收發郵件的 ID)去訪問其他 Domino 域中的數據庫。用同一個 ID 訪問不同域中的數據庫有多個優點,一來可以避免在多個 Domino 域中維護和同步多份用戶信息,大大減輕了管理員的工作負擔;二來終端用戶用同一個 ID 就可以訪問不同域中的數據庫,避免了不同場所的重複切換和密碼輸入。本文將以一個實際的案例,圖文並茂的介紹怎樣設置才能使 Domino 域 A 中的用戶如何訪問 Domino 域 B 中的應用程序數據庫。本文面向 Notes/Domino 的所有用戶和初級管理員。
張三是公司 COMP 中的一名測試工程師,他所在的部門是位於北京的測試部 DEPTA 。 COMP 的郵件系統和應用程序系統均採用 Notes/Domino,無論是收發郵件還是訪問報銷系統、休假系統等均需要使用 Notes ID 通過 Notes Client 來進行。 COMP 的 Domain 是 /COMP, 因此張三使用 Notes ID San Zhang/COMP 進行郵件收發。張三的部門 DEPTA 新搭建了一臺 Domino 應用程序服務器 APP/DEPTA,該服務器將存放部門專用信息,比如新員工培訓程序,部門 BUG 管理系統等等。張三是該服務器的管理員,現在張三的任務是對本部門的 Domino 應用程序服務器 APP/DEPTA 做一些設置,使部門的員工在不切換場所的情況下,用收發郵件的 Notes ID(*/COMP)就可以訪問 APP/DEPTA 中的數據庫。
在本案例中用到的所有 Notes/Domino 的版本均爲 6.52 英文版。
|
在介紹怎樣設置的步驟之前,我們最好了解一下 Domino 服務器的安全機制,這將有助於我們更好的理解。 Domino 服務器有多級安全設置,與本文相關的安全設置有:服務器級別的安全設置、ID 級別的安全設置以及應用程序級別的安全設置。
Lotus Domino 服務器是實施安全管理的第一道關卡,管理員可以限制哪些用戶或服務器可以訪問該服務器,而哪些不可以;管理員同樣也可以限制用戶或服務器在該服務器上的操作,比如,限制用戶或者服務器在該服務器上創建新的數據庫副本或者使用路由連接的權限。
同樣都是系統管理員,因爲職責不同,需要的權限也不同;在服務器級別,你也可以定義擁有不同權限的管理員,比如,系統管理員能通過 Domino 服務器控制檯執行操作系統的命令,而數據庫管理員則有對數據庫進行管理的權限。
Lotus Notes 或者 Lotus Domino ID 能夠唯一標識一個用戶或服務器。 Domino 服務器使用 ID 中的信息來控制用戶或服務器對其他服務器或應用程序的訪問權限。管理員的一項職責就是保護 ID,防止未被授權的用戶使用這些 ID 來訪問 DOMINO 服務器。
在某些組織裏,爲了安全,要訪問服務器 ID(Server ID)或者人 cert id,需要多個管理員輸入密碼,這可以防止重要的 ID 被某個單獨的人控制。
在用戶或者服務器得到了訪問該服務器的許可後,要訪問某個 Domino 的應用程序,還受到數據庫訪問控制列表(ACL)的限制。數據庫訪問控制列表包含了用戶、用戶組或者服務器的 ID 以及權限和角色信息。
|
-
在 APP/DEPTA 的服務器文檔的安全設置中,修改 Access Server 字段,允許 COMP 域的用戶訪問 APP/DEPTA 。
步驟 1:打開 Administrator 客戶端,以 administrator 的身份登錄到 APP/DEPTA 服務器上。切換到 Configuration 頁面,選擇 Server->All Server Documents,雙擊打開 APP/DEPTA 的 Server document 。
步驟 2:進入 APP/DEPTA 的 Server document 的編輯模式,選擇 Security 頁面,找到字段 Access Server 。該字段控制着哪些用戶、用戶組或服務器可以訪問本服務器。管理員可以在此進行設置。
在本案例中,輸入 */COMP 和 */DEPTA,以逗號分隔,允許 DEPTA 域和 COMP 域的用戶訪問 APP/DEPTA,如下圖所示:
圖 1步驟 3:保存對 Server Document 的修改。
-
用 APP/DEPTA 的 cert id 對 COMP 域的 ID 進行交叉驗證
步驟 1: 在 Administrator 客戶端中,仍然選擇 Configuration 頁面。在右邊的工具欄裏,選擇 Certification > Cross Certify...
步驟 2:在彈出的對話框中,選擇 APP/DEPTA 做爲 Server,選擇域 DEPTA 的 cert id,如圖 2 所示,點擊 OK 按鈕。
圖 2步驟 3:輸入 cert id 的密碼。
圖 3步驟 4:選擇 Zhangsan.id 做爲被驗證的對象。
圖 4步驟 5:缺省情況下,在下圖中,Subject name 爲 /COMP,另外可選的對象爲 San Zhang/COMP 。如果選擇 /COMP,那麼在做過交叉驗證後,服務器 APP/DEPTA 的地址本里就會存儲頒發給 /COMP 的交叉認證(cross certificate);如果選擇 San Zhang/COMP, 服務器的地址本里就只存儲頒發給 San Zhang/COMP 的交叉認證。在本案例中因爲整個部門的人都需要有權限訪問 APP/DEPTA,所以我們選擇 /COMP 。點擊 Cross certify 按鈕。如下圖所示:
圖 5步驟 6(可選):在做完交叉驗證後,你可以切換到視圖 Certificates->Certificates 進行檢查,在 Notes Cross Certificates 下找到我們剛剛創建的交叉認證。如下圖所示:
圖 6 -
修改 APP/DEPTA 上的數據庫的 ACL
在修改了服務器的安全設置和做過交叉驗證後,/COMP 的用戶就可以訪問 APP/DEPTA 了。但是如果要訪問某個具體的應用程序,管理員仍然需要設置訪問權限控制列表(ACL)。如果用戶不在該應用程序的 ACL 中,那麼該用戶就不能訪問此應用程序。
管理員可以通過 Notes Client 或者 Administrator Client 來設置 ACL 。在本案例中,*/COMP 作爲一個混合組被加入到 ACL 中,並且被賦予了 Editor 的權限,如下圖所示。
圖 7 -
重啓服務器 APP/DEPTA 。
|
在經過上述的設置後,Zhang San 用自己收發郵件的 ID San Zhang/COMP 就可以輕鬆的訪問位於 APP/DEPTA 上的數據庫應用程序,同樣,其他的員工如果有 /COMP 的 ID,也可以訪問 APP/DEPTA 。需要注意的一點是,由於本文只是一個教程,所以並沒有充分的考慮安全設置,在實際的生產環境中,管理員在使用 */COMP 的時候需要特別小心,因爲 */COMP 包含所有 COMP 域的用戶。