安全

Liberty 安全根據 Servlet 3.0 規格來提供 Web 資源的保護,以及根據 ejbLite 3.1 規格來提供 EJB 資源的保護。當您使用 REST 連接器時,Liberty 安全也會為 JMX 連線提供保護。

下圖顯示存取受保護的 Web 資源時,一般的安全程序。 如果要使安全程序能夠運作,您必須配置適當的安全特性,以及鑑別和授權所需要的配置。

圖 1. Web 資源的一般安全流程
「Web 安全合作程式」利用鑑別和授權服務來進行鑑別,以及授與對 Web 儲存器中之 Web 資源的存取權。
  1. HTTP 用戶端要求 Web 儲存器中的 Web 資源。
  2. Web 儲存器將安全檢查委派給 Web 安全合作程式。
  3. 如果認證不存在,Web 安全合作程式會提示使用者輸入認證,然後利用鑑別服務來鑑別使用者。
  4. 「鑑別服務」進行鑑別,如果鑑別成功,會建立及傳回主體。 否則,「鑑別服務」會報告鑑別失敗的異常狀況。
  5. Web 安全合作程式利用授權服務來執行使用者授權檢查。
  6. 「授權服務」會將授權結果傳回給 Web 安全合作程式。
  7. Web 安全合作程式會傳回使用者是否已獲授權的安全檢查結果。
  8. Web 儲存器提供或拒絕所要求的資源。

快速入門

當使用 quickStartSecurity 元素時,您可以在 Liberty 中配置單一使用者安全環境。請參閱安全快速概觀,以瞭解您使用 quickStartSecurity 元素時的安全工作流程細節,以及範例作業的Liberty 安全入門

鑑別

鑑別會確認使用者的身分。 鑑別最常見的形式是使用者名稱和密碼,例如,透過 Web 應用程式的基本鑑別或表單登入。 當使用者通過鑑別時,執行時期會以 Subject 物件來代表要求的來源。 這個程序包含在使用者存取資源時,根據資源所配置的授權規則來執行存取控制檢查。 請參閱鑑別,以瞭解詳細概念,參閱在 Liberty 中鑑別使用者,以瞭解詳細作業。

授權

授權決定是否將系統內資源的存取權授與使用者。 Java™ EE 模型利用主體、資源和角色來決定允許及不允許的項目。 這個程序包含檢查使用者 ID 和密碼、憑證和記號之類的使用者認證,以及根據已鑑別的使用者來建立主體。 請參閱授權,以瞭解詳細概念,參閱授權存取 Liberty 中的資源,以瞭解詳細作業。

Secure Sockets Layer (SSL)

SSL 提供傳輸層安全。 請參閱 在 Liberty 中啟用 SSL 通訊,以瞭解詳細的作業。

單一登入 (SSO)

SSO 可供不向使用者重複發出登入提示的情況下存取應用程式。 請參閱 SSO 概念,以取得詳細資料,參閱在 Liberty 中利用 LTPA Cookie 來自訂 SSO 配置,以瞭解詳細作業。

Web 安全相關內容

您可以在 Web 安全中為您的應用程式配置許多配置內容,例如 SSO 和用戶端憑證鑑別。 請參閱在 Liberty 中利用 LTPA Cookie 來自訂 SSO 配置Web 服務安全,以瞭解可用的屬性;請參閱在 Liberty 配置 Web 安全相關內容,以取得一些範例。

安全公用 API

Liberty 包含一些公用 API,可供您用來實作安全函數。Liberty 中的安全公用 API 是 WebSphere® Application Server 傳統版 安全公用 API 的子集。主要類別是 WSSecurityHelperWSSubjectRegistryHelper。這些類別包含 WebSphere Application Server traditional 版本所提供之方法的子集。另外,還有一個新類別 WebSecurityHelper請參閱Liberty 中的安全公用 API

每一個 Liberty API 的 Java API 說明文件都是以個別的 .zip 檔來提供(其位於 ${wlp.install.dir}/dev 目錄下的其中一個 javadoc 子目錄中)。

請參閱 開發 Liberty 安全基礎架構延伸,以取得一些範例。

管理安全

管理安全表示您可以利用遠端 JMX 用戶端來管理 Liberty。如果要利用 REST 連接器來保護遠端連線,請參閱利用 JMX 連接至 Liberty。 您也可以依照開發 Liberty 的 JMX Java 用戶端中所說明來開發您自己的 JMX 用戶端應用程式。

鑑別別名

鑑別資料別名提供資料庫連線功能的安全支援。 請參閱 配置 Liberty 的鑑別別名

配置範例

在 Liberty 上配置應用程式安全時,WASdev.net 網站上有一些安全配置範例可供參考。

安全相容性和差異

您可以瞭解在WebSphere Application Server 傳統版Liberty 之間,安全功能的主要區別。請參閱 WebSphere Application Server 傳統版 與 Liberty 之間的安全配置差異

配置輕量型目錄存取通訊協定 (LDAP)

選取要新增到伺服器配置中的「LDAP 使用者登錄」項目之後,LDAP 使用者登錄詳細資料畫面會顯示支援的 LDAP 伺服器類型的清單。 如果您選取某個支援的 LDAP 伺服器類型,不會自動預先移入與所選 LDAP 伺服器類型相關聯的 LDAP 過濾器。

每個支援的 LDAP 伺服器類型都有一組定義好的預設過濾器。 新增 LDAP 使用者登錄項目和伺服器類型之後,您可以選取 LDAP 使用者登錄配置,再新增必要的 LDAP 過濾器,來配置相關聯的 LDAP 過濾器:
  • Active Directory LDAP 過濾器
  • 自訂 LDAP 過濾器
  • Domino® LDAP 過濾器
  • eDirectory LDAP 過濾器
  • IBM® Directory Server LDAP 過濾器
  • iPlanet LDAP 過濾器
  • Netscape LDAP 過濾器
  • SecureWay LDAP 過濾器
選取任何 LDAP 過濾器都會顯示過濾器類型的預設值:
  • 使用者過濾器
  • 群組過濾器
  • 使用者 ID 對映
  • 群組 ID 對映
  • 群組成員 ID 對映
如果使用預設過濾器,就不會用任何過濾器資訊來更新 server.xml 檔。 如果任何過濾器有了改變,在 server.xml 中,只會更新已變更的過濾器類型。
註: 如果您沒有利用瀏覽按鈕來指定或選取參照 ID,則會使用與所選 LDAP 伺服器類型相關聯的預設過濾器。

另外,您也可以新增 LDAP 過濾器到伺服器配置中。 您必須指定一個 ID,將參照關聯於這個特定的過濾器配置,它才能與「LDAP 使用者登錄」配置相關聯。 如果使用這個配置 LDAP 過濾器的方法,將會在 LDAP 使用者登錄詳細資料畫面中選取參照 ID(在各自的 LDAP 過濾器類型之下,利用瀏覽按鈕來尋找)。

如果您利用 Eclipse 型開發人員工具來配置 LDAP,請對照 wlp/templates/config/ldapRegistry.xml 中的範例來驗證所儲存的配置。

如需相關資訊,請參閱在 Liberty 中配置 LDAP 使用者登錄

疑難排解

當您使用 Liberty 時,請利用疑難排解資訊來解決安全相關問題。請參閱安全疑難排解LDAP 疑難排解

適用於分散式平台

工具

利用 Eclipse 型開發人員工具來配置 Liberty 的安全。請參閱 利用開發人員工具來編輯 Liberty 配置。工具和安全配置具體的資訊在在 Liberty 上利用開發人員工具來配置 TAI在 Liberty 上利用開發人員工具來配置 JAAS中。


指示主題類型的圖示 概念主題

檔名:cwlp_sec.html