Sun Java Enterprise System 5 技術摘要

整合式識別與安全性服務

Java ES 的一項重要功能是其整合式使用者身份識別管理及其整合式認證與授權架構。本節提供技術背景,有助您瞭解 Java ES 所提供的整合式識別和安全性服務。

單一識別

在 Java ES 環境內,一般使用者都有單一的整合式識別。基於此單一識別,使用者可獲得存取各種資源 (像是入口網站、網頁) 及服務 (像是訊息傳送、行事曆及即時訊息傳送) 的權限。

此整合式識別與安全性功能基於 Directory Server、Access Manager 及其他 Java ES 元件之間的密切協作。

使用者對 Java ES 服務或資源的存取是藉由將使用者特定資訊儲存在使用者儲存庫或目錄的單一使用者項目中來實現的。該資訊一般包括如專屬名稱和密碼、電子郵件地址、在組織中扮演的角色、網頁喜好設定等資料。使用者項目中的這種資訊可用來對使用者進行認證、授權使用者存取特定資源,或是為該使用者提供各種服務。

在 Java ES 案例中,使用者項目儲存在Directory Server 提供的目錄中。當使用者想要請求由 Java ES 元件提供的服務時,該服務會使用 Access Manager 來對使用者進行認證,並授權使用者存取特定資源。請求的服務會檢查使用者目錄項目中的使用者特定配置資訊。服務會使用該資訊以執行使用者請求的作業。

下圖說明使用者項目的存取權限,以便執行使用者認證及授權,以及為使用者提供服務。

圖 3–1 單一使用者項目支援許多服務

本圖顯示數個 Java ES 元件與目錄中的單一使用者項目互動的情形。

此系統衍生出的其中一種功能,就是讓基於 Web 的使用者可以登入任何 Java ES 服務,藉此自動經由其他系統服務認證。此功能稱為單次登入,它是 Java ES 提供的一個強大功能。

認證及單次登入

Access Manager 提供 Java ES 認證和授權服務。Access Manager 使用 Directory Server 中的資訊來協調使用者與 Java ES Web 服務或企業中其他網路型服務的互動。

Access Manager 會使用稱為策略代理程式的外部元件。策略代理程式外掛在 Web 伺服器中,該伺服器負責託管受到 Access Manager 保護的某項服務或資源。策略代理程式會在使用者請求使用受保護的資源時,代表 Access Manager 來進行調解。對於一些 Java ES 元件 (例如 Portal Server) 而言,策略代理程式的功能是由 Access Manager SDK 子元件提供的。

認證

Access Manager 包含一項認證服務,可驗證請求 (以 HTTP 或 HTTPS 方式) 存取企業內部 Web 服務之使用者的識別。例如,需要查詢同事電話號碼的公司員工可以使用瀏覽器進入公司的線上電話簿。登入電話簿服務時,使用者必須輸入使用者 ID 和密碼。

圖 3–2 中顯示了認證順序。策略代理程式對電話簿登入請求進行調解 (1) ,並將該請求傳給認證服務 (2)。認證服務會將使用者 ID 和密碼與 Directory Server 中儲存的資訊加以核對 (3) 。如果登入請求有效,使用者就可以通過認證 (4)、(5) 及 (6),而員工 (7) 即可看到公司電話簿。如果登入請求無效,就會產生錯誤,致使認證失敗。

認證服務也支援 HTTPS 上基於憑證的認證。

圖 3–2 認證順序

顯示認證順序的示意圖,其中包括 Web 瀏覽器、策略代理程式、認證服務、階段作業服務及 Directory Server。

單次登入

上述段落所討論的認證方案省略了一個重要步驟。驗證完使用者的認證請求後,Access Manager 的階段作業服務開始工作 (4),如圖 3–2 所示。階段作業服務會產生階段作業記號,其中包含使用者的識別資訊及記號 ID (5)。階段作業記號被傳回策略代理程式 (6),然後策略代理程式再將該記號 (視為 cookie) 轉送到當初用來請求認證的瀏覽器中 (7)。

如果通過認證的使用者嘗試存取其他受到保護的服務,瀏覽器就會將階段作業記號傳送到對應的策略代理程式中。策略代理程式向階段作業服務驗證使用者的前一次認證是否仍然有效,如果有效,將授權使用者存取另一服務,而不會要求其再次輸入使用者 ID 和密碼。

因此,使用者只需要登入一次,通過認證之後就可以多次存取 Java ES 所提供之基於 Web 的服務。單次登入認證的效力可持續到使用者明確地簽出或階段作業過期為止。

授權

Access Manager 還包含提供對 Java ES 環境中網路型資源存取控制的策略服務。策略是一種描述在特定條件下哪些人員會獲得特定資源存取授權的規則。授權順序如下圖所示。

圖 3–3 授權順序

本圖顯示文中描述的授權順序,包括瀏覽器、策略代理程式、策略服務和 Directory Server。

當通過認證的使用者請求使用任何受到 Access Manager 保護的資源時 (1) ,策略代理程式會通知策略服務 (2),該服務會使用 Directory Server 中的資訊 (3) 來評估涵蓋該資源的存取策略,以確定使用者是否有存取該資源的權限 (4)。如果使用者擁有存取權限 (5),就會完成該資源請求 (6)。

Access Manager 提供在企業內定義、修改、授予、撤消以及刪除策略的方法。策略儲存在 Directory Server 中,並透過組織項目內與策略相關的屬性來配置。還可以為使用者定義角色,然後將該定義加入策略定義中。

Access Manager 策略代理程式是策略強制執行者。當策略服務拒絕某項存取請求時,策略代理程式則會禁止提出請求的使用者存取受到保護的資源。