?? websphere快速入門(22).txt
字號(hào):
作者:easyinfonet
email: zhujs@cec.gov.cn
日期:2001-2-23 9:41:20
6.8 安全性
WebSphere應(yīng)用服務(wù)器具有很好的安全性支持。安全性簡單地說就是確定誰可訪問重要的系統(tǒng)資源,這些系統(tǒng)資源包括文件、目錄、程序、連接和數(shù)據(jù)庫。以獨(dú)立模式運(yùn)行WebSphere應(yīng)用服務(wù)器比作為 Web 服務(wù)器的一部分運(yùn)行具有更高的安全性。如果安全性要求超出了 Web 服務(wù)器提供的安全性,那么請(qǐng)以獨(dú)立模式運(yùn)行WebSphere應(yīng)用服務(wù)器。下面介紹使用存取控制表保護(hù)資源、選擇認(rèn)證方案和協(xié)議、在WebSphere應(yīng)用服務(wù)器中使用目錄服務(wù)。
1.使用存取控制表保護(hù)資源
建立了一個(gè)設(shè)置安全性的基本過程。
與安全性相關(guān)的概念包括用戶、組、資源、許可權(quán)、領(lǐng)域、和存取控制表(ACL),這些安全性概念是緊密相關(guān)的,現(xiàn)說明如下:
(1) 用戶:一個(gè)可被 Web 服務(wù)器認(rèn)證的身份。用戶可以是人也可以是計(jì)算機(jī)。
(2) 組:用戶的集合。組提供了一個(gè)管理大量的用戶的有效方法,這是因?yàn)楣芾韱T可以一次指定一個(gè)組的許可權(quán)。通常,組成員之間有一些共同特征。例如,一個(gè)公司中可能包括一個(gè)由管理級(jí)雇員組成的組,和另一個(gè)由非管理級(jí)雇員組成的組。其中,可能對(duì)非管理級(jí)用戶賦予查看銷售數(shù)據(jù)文件的訪問權(quán),而對(duì)管理級(jí)用戶賦予查看和編輯銷售數(shù)據(jù)文件的訪問權(quán)。可以將一個(gè)人定義成單個(gè)用戶,同時(shí)也將其定義成組的成員。例如,個(gè)人 Amy 可能代表單個(gè)用戶 amy,也可能代表組 managers 的成員。
(3) 資源:通過 Web 服務(wù)器進(jìn)行存取的有價(jià)資源包括HTML 文件和目錄(Web 頁面)、其它文件和目錄(如FTP文件)、Web 應(yīng)用程序(Java Servlet 或 CGI 程序),而通過WebSphere應(yīng)用服務(wù)器進(jìn)行存取的資源包括Java Servlet、啟用訪問企業(yè)資源和應(yīng)用程序(如數(shù)據(jù)庫)的定制 Servlet、連接、套接字、文件和其它可由 Servlet 使用的資源。
(4) 許可權(quán):許可權(quán)表示請(qǐng)求訪問資源的特權(quán)。管理員可通過建立存取控制表向用戶和組授予許可權(quán),以保護(hù)資源。許可權(quán)是與特定的資源相關(guān)的。想象一下,如果一個(gè)用戶具有查看文件 A 和修改文件 B 的許可權(quán)。那么該用戶不能用修改文件 B 的許可權(quán)來修改文件 A。每個(gè)許可權(quán)僅適用于特定的資源,且不能傳遞。單個(gè)用戶的許可權(quán)優(yōu)先于組的許可權(quán)。例如,如果用戶 amy 對(duì)文件具有讀、寫權(quán),但同時(shí) amy 所屬的組對(duì)該文件僅有讀取權(quán),那么 amy 仍對(duì)該文件具有讀、寫權(quán),這是因?yàn)閱蝹€(gè)用戶的許可權(quán)將覆蓋具有更多限定的組許可權(quán)。(即使組的許可權(quán)限制性低于單個(gè)用戶的許可權(quán),但用戶的許可權(quán)仍將覆蓋組的許可權(quán))。
(5) 領(lǐng)域:領(lǐng)域是用戶、組和存取控制表的數(shù)據(jù)庫。為了使用戶能訪問領(lǐng)域中的資源,必須在該領(lǐng)域中定義需訪問資源的用戶。一個(gè)用戶可以屬于幾個(gè)領(lǐng)域,但在同一領(lǐng)域中用戶標(biāo)識(shí)符不能重復(fù)。例如,用戶 amy 可屬于 fileRealm 和 anyRealm 領(lǐng)域。但每個(gè)領(lǐng)域中僅可包含一個(gè)名為 amy 的用戶。可在每個(gè)領(lǐng)域中賦予用戶 amy 訪問不同資源的不同許可權(quán)。
(6) 存取控制表:與資源關(guān)聯(lián)的存取控制表指定了領(lǐng)域中的哪些用戶和組可以訪問資源。
存取控制表(ACL)、領(lǐng)域和資源的關(guān)系如下:
l 一個(gè)領(lǐng)域可以包含許多 ACL。
l 一個(gè)領(lǐng)域可以包含許多資源。
l 一個(gè) ACL 可以僅屬于一個(gè)領(lǐng)域。
l 一個(gè)資源可以僅屬于一個(gè)領(lǐng)域。
l 一個(gè)資源僅與一個(gè) ACL 相關(guān)。
l 一個(gè) ACL 可與許多資源相關(guān)。
WebSphere應(yīng)用服務(wù)器附帶了一些前期建立的領(lǐng)域:
l defaultRealm 定義了用戶如何訪問本地定義的資源。也可建立存取控制表,以確定哪些用戶和組
對(duì)哪些資源具有訪問權(quán)。
l NT 領(lǐng)域(NTRealm)和UNIX領(lǐng)域(UnixRealm)定義了在操作系統(tǒng)中擁有帳戶的用戶如何使用
WebSphere應(yīng)用服務(wù)器資源。 操作系統(tǒng)中定義的用戶可由WebSphere應(yīng)用服務(wù)器共享。只要他們存在于下層系統(tǒng)中,這種共享就一直存在。WebSphere應(yīng)用服務(wù)器管理器界面使您能查看該領(lǐng)域;但若要更改它,必須使用操作系統(tǒng)所提供的設(shè)施。目前,WebSphere應(yīng)用服務(wù)器可以共享操作系統(tǒng)定義的用戶,但不能共享組。
l servletMgrRealm 定義了 Servlet 如何訪問遠(yuǎn)程定義的資源,如遠(yuǎn)程裝入的 Servlet。 servletACL 是
該領(lǐng)域中的唯一一張存取控制表。當(dāng)遠(yuǎn)程裝入且?guī)в袛?shù)字簽名的 Servlet 試圖訪問一個(gè)受保護(hù)的資源時(shí),將對(duì) Servlet 中的數(shù)字證書與 servletMgrRealm 中與用戶關(guān)聯(lián)的數(shù)字證書進(jìn)行比較。 servletACL 定義了是否授予或拒絕許可權(quán)。例如,假設(shè)用戶 X 的數(shù)字證書封裝在 anyServlet.JAR 文件中。如果用戶 X 被添加在 servletMgrRealm 中,則所有包含與該用戶相同數(shù)字證書的 Servlet (anyServlet.JAR 文件中)可以執(zhí)行和訪問賦予該用戶的資源。
l 最后,如果在WebSphere應(yīng)用服務(wù)器管理器的“目錄管理”頁面中啟用目錄服務(wù),將顯示
LDAPRealm。WebSphere應(yīng)用服務(wù)器可以共享定義在目錄服務(wù)中的用戶和組,且這種共享將一直持續(xù)下去,直至除去他們或禁用目錄管理支持。WebSphere應(yīng)用服務(wù)器管理器界面使您能查看該領(lǐng)域;但若要對(duì)它進(jìn)行更改,必須使用 LDAP 服務(wù)器所提供的設(shè)施。如需更多有關(guān) LDAP、目錄服務(wù)和 LDAPRealm 的信息,請(qǐng)參閱有關(guān)使用目錄服務(wù)的文檔。
WebSphere應(yīng)用服務(wù)器使您能設(shè)置各種許可權(quán)。例如,其中包括發(fā)送和接收文件、刪除文件、讀取和寫入文件、裝入 Servlet、鏈接至庫文件、打開和偵聽套接字等許可權(quán)。某些情況下,服務(wù)不需要其客戶存在于存取控制表中。例如,許多 Web 頁面(HTTP)服務(wù)向所有用戶公開其文檔,而不要求他們?cè)诖嫒】刂票碇羞M(jìn)行注冊(cè)。
可通過為每個(gè)資源在單個(gè)領(lǐng)域中建立單個(gè)存取控制表(ACL)來保護(hù)該資源(下面將進(jìn)行討論)。 ACL 將指定可以訪問或修改資源的用戶或組。對(duì)于要保護(hù)的每個(gè)資源,需要指定存取控制表、安全性領(lǐng)域、認(rèn)證方案(用來驗(yàn)證訪問資源的用戶的方法)。下面介紹實(shí)現(xiàn)安全性的一個(gè)示例。
使用各種管理器頁面,以用存取控制表來建立安全性的基本步驟顯示如下。
(1) 定義用戶。
使用“安全性”-> 使用“用戶”頁面來定義用戶,即定義被允許訪問資源的個(gè)人和計(jì)算機(jī)。例如,定義名為 bopeep 的用戶:
l 選擇 defaultRealm。
l 單擊頁面左上部的“添加”按鈕。
l 輸入用戶名 bopeep。
l 輸入口令 sheep。再一次輸入該口令以進(jìn)行驗(yàn)證。
l 單擊“確定”按鈕。
l 驗(yàn)證 bopeep 顯示在“定義的用戶”列表中。
(2) 可選地定義組
使用“安全性”-> 使用“組”頁面來定義用戶所屬的組,以使管理更加容易。首先,選擇一個(gè)領(lǐng)域。下一步,選擇將組添加到該領(lǐng)域中。可以用您喜歡的名稱來命名組,然后將用戶從非成員狀態(tài)轉(zhuǎn)換為成員狀態(tài)。例如,將用戶 bopeep 添加到組 mypeeps 中:
l 選擇 defaultRealm。
l 單擊頁面左上部的“添加”按鈕。
l 輸入組名 mypeeps。
l 在“非成員”列表中選擇用戶 bopeep。
l 單擊“非成員”列表旁的“添加”按鈕。
l 驗(yàn)證 bopeep 已轉(zhuǎn)換到成員框中。
(3) 創(chuàng)建 ACL
使用“安全性”-> 使用“存取控制表”頁面來創(chuàng)建 ACL。例如,創(chuàng)建名為 sheepcontrol 的 ACL:
l 單擊定義“定義的存取控制表”列表旁的“添加”按鈕。
l 輸入 ACL 名稱 sheepcontrol。
l 單擊“確定”按鈕。
(3) 定義資源
使用“安全性”-> 使用“資源”頁面以將要保護(hù)的資源添加到領(lǐng)域中。(注意:必須在執(zhí)行“創(chuàng)建 ACL”步驟后才能執(zhí)行該步驟,這是因?yàn)楸仨氈付ㄐ沦Y源所屬的 ACL)。例如,將 CheckMessage Servlet 添加到領(lǐng)域 defaultRealm 中的 sheepcontrol ACL 中:
l 選擇 defaultRealm。
l 單擊“添加”按鈕。
l 選擇基本方案作為認(rèn)證方案。(“方案”選項(xiàng)將在下文中討論)。
l 選擇 sheepcontrol ACL。
l 選擇 Servlet,并指定 CheckMessage Servlet。
l 單擊“確定”按鈕。
l 驗(yàn)證 CheckMessage 現(xiàn)已作為 ACL sheepcontrol 的資源列示出來。
(4) 賦予許可權(quán)
返回 ACL 并賦予用戶、組和計(jì)算機(jī)訪問 ACL 資源的許可權(quán)。例如,賦予 bopeep具有 GET 和 PUT 許可權(quán),以使它可以訪問領(lǐng)域 defaultRealm 中sheepcontrol ACL的文件和文件夾:
l 確保已在“定義的存取控制表”列表框中選定 sheepcontrol。
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -