📄 websphere快速入门(22).txt
字号:
作者:easyinfonet
email: zhujs@cec.gov.cn
日期:2001-2-23 9:41:20
6.8 安全性
WebSphere应用服务器具有很好的安全性支持。安全性简单地说就是确定谁可访问重要的系统资源,这些系统资源包括文件、目录、程序、连接和数据库。以独立模式运行WebSphere应用服务器比作为 Web 服务器的一部分运行具有更高的安全性。如果安全性要求超出了 Web 服务器提供的安全性,那么请以独立模式运行WebSphere应用服务器。下面介绍使用存取控制表保护资源、选择认证方案和协议、在WebSphere应用服务器中使用目录服务。
1.使用存取控制表保护资源
建立了一个设置安全性的基本过程。
与安全性相关的概念包括用户、组、资源、许可权、领域、和存取控制表(ACL),这些安全性概念是紧密相关的,现说明如下:
(1) 用户:一个可被 Web 服务器认证的身份。用户可以是人也可以是计算机。
(2) 组:用户的集合。组提供了一个管理大量的用户的有效方法,这是因为管理员可以一次指定一个组的许可权。通常,组成员之间有一些共同特征。例如,一个公司中可能包括一个由管理级雇员组成的组,和另一个由非管理级雇员组成的组。其中,可能对非管理级用户赋予查看销售数据文件的访问权,而对管理级用户赋予查看和编辑销售数据文件的访问权。可以将一个人定义成单个用户,同时也将其定义成组的成员。例如,个人 Amy 可能代表单个用户 amy,也可能代表组 managers 的成员。
(3) 资源:通过 Web 服务器进行存取的有价资源包括HTML 文件和目录(Web 页面)、其它文件和目录(如FTP文件)、Web 应用程序(Java Servlet 或 CGI 程序),而通过WebSphere应用服务器进行存取的资源包括Java Servlet、启用访问企业资源和应用程序(如数据库)的定制 Servlet、连接、套接字、文件和其它可由 Servlet 使用的资源。
(4) 许可权:许可权表示请求访问资源的特权。管理员可通过建立存取控制表向用户和组授予许可权,以保护资源。许可权是与特定的资源相关的。想象一下,如果一个用户具有查看文件 A 和修改文件 B 的许可权。那么该用户不能用修改文件 B 的许可权来修改文件 A。每个许可权仅适用于特定的资源,且不能传递。单个用户的许可权优先于组的许可权。例如,如果用户 amy 对文件具有读、写权,但同时 amy 所属的组对该文件仅有读取权,那么 amy 仍对该文件具有读、写权,这是因为单个用户的许可权将覆盖具有更多限定的组许可权。(即使组的许可权限制性低于单个用户的许可权,但用户的许可权仍将覆盖组的许可权)。
(5) 领域:领域是用户、组和存取控制表的数据库。为了使用户能访问领域中的资源,必须在该领域中定义需访问资源的用户。一个用户可以属于几个领域,但在同一领域中用户标识符不能重复。例如,用户 amy 可属于 fileRealm 和 anyRealm 领域。但每个领域中仅可包含一个名为 amy 的用户。可在每个领域中赋予用户 amy 访问不同资源的不同许可权。
(6) 存取控制表:与资源关联的存取控制表指定了领域中的哪些用户和组可以访问资源。
存取控制表(ACL)、领域和资源的关系如下:
l 一个领域可以包含许多 ACL。
l 一个领域可以包含许多资源。
l 一个 ACL 可以仅属于一个领域。
l 一个资源可以仅属于一个领域。
l 一个资源仅与一个 ACL 相关。
l 一个 ACL 可与许多资源相关。
WebSphere应用服务器附带了一些前期建立的领域:
l defaultRealm 定义了用户如何访问本地定义的资源。也可建立存取控制表,以确定哪些用户和组
对哪些资源具有访问权。
l NT 领域(NTRealm)和UNIX领域(UnixRealm)定义了在操作系统中拥有帐户的用户如何使用
WebSphere应用服务器资源。 操作系统中定义的用户可由WebSphere应用服务器共享。只要他们存在于下层系统中,这种共享就一直存在。WebSphere应用服务器管理器界面使您能查看该领域;但若要更改它,必须使用操作系统所提供的设施。目前,WebSphere应用服务器可以共享操作系统定义的用户,但不能共享组。
l servletMgrRealm 定义了 Servlet 如何访问远程定义的资源,如远程装入的 Servlet。 servletACL 是
该领域中的唯一一张存取控制表。当远程装入且带有数字签名的 Servlet 试图访问一个受保护的资源时,将对 Servlet 中的数字证书与 servletMgrRealm 中与用户关联的数字证书进行比较。 servletACL 定义了是否授予或拒绝许可权。例如,假设用户 X 的数字证书封装在 anyServlet.JAR 文件中。如果用户 X 被添加在 servletMgrRealm 中,则所有包含与该用户相同数字证书的 Servlet (anyServlet.JAR 文件中)可以执行和访问赋予该用户的资源。
l 最后,如果在WebSphere应用服务器管理器的“目录管理”页面中启用目录服务,将显示
LDAPRealm。WebSphere应用服务器可以共享定义在目录服务中的用户和组,且这种共享将一直持续下去,直至除去他们或禁用目录管理支持。WebSphere应用服务器管理器界面使您能查看该领域;但若要对它进行更改,必须使用 LDAP 服务器所提供的设施。如需更多有关 LDAP、目录服务和 LDAPRealm 的信息,请参阅有关使用目录服务的文档。
WebSphere应用服务器使您能设置各种许可权。例如,其中包括发送和接收文件、删除文件、读取和写入文件、装入 Servlet、链接至库文件、打开和侦听套接字等许可权。某些情况下,服务不需要其客户存在于存取控制表中。例如,许多 Web 页面(HTTP)服务向所有用户公开其文档,而不要求他们在存取控制表中进行注册。
可通过为每个资源在单个领域中建立单个存取控制表(ACL)来保护该资源(下面将进行讨论)。 ACL 将指定可以访问或修改资源的用户或组。对于要保护的每个资源,需要指定存取控制表、安全性领域、认证方案(用来验证访问资源的用户的方法)。下面介绍实现安全性的一个示例。
使用各种管理器页面,以用存取控制表来建立安全性的基本步骤显示如下。
(1) 定义用户。
使用“安全性”-> 使用“用户”页面来定义用户,即定义被允许访问资源的个人和计算机。例如,定义名为 bopeep 的用户:
l 选择 defaultRealm。
l 单击页面左上部的“添加”按钮。
l 输入用户名 bopeep。
l 输入口令 sheep。再一次输入该口令以进行验证。
l 单击“确定”按钮。
l 验证 bopeep 显示在“定义的用户”列表中。
(2) 可选地定义组
使用“安全性”-> 使用“组”页面来定义用户所属的组,以使管理更加容易。首先,选择一个领域。下一步,选择将组添加到该领域中。可以用您喜欢的名称来命名组,然后将用户从非成员状态转换为成员状态。例如,将用户 bopeep 添加到组 mypeeps 中:
l 选择 defaultRealm。
l 单击页面左上部的“添加”按钮。
l 输入组名 mypeeps。
l 在“非成员”列表中选择用户 bopeep。
l 单击“非成员”列表旁的“添加”按钮。
l 验证 bopeep 已转换到成员框中。
(3) 创建 ACL
使用“安全性”-> 使用“存取控制表”页面来创建 ACL。例如,创建名为 sheepcontrol 的 ACL:
l 单击定义“定义的存取控制表”列表旁的“添加”按钮。
l 输入 ACL 名称 sheepcontrol。
l 单击“确定”按钮。
(3) 定义资源
使用“安全性”-> 使用“资源”页面以将要保护的资源添加到领域中。(注意:必须在执行“创建 ACL”步骤后才能执行该步骤,这是因为必须指定新资源所属的 ACL)。例如,将 CheckMessage Servlet 添加到领域 defaultRealm 中的 sheepcontrol ACL 中:
l 选择 defaultRealm。
l 单击“添加”按钮。
l 选择基本方案作为认证方案。(“方案”选项将在下文中讨论)。
l 选择 sheepcontrol ACL。
l 选择 Servlet,并指定 CheckMessage Servlet。
l 单击“确定”按钮。
l 验证 CheckMessage 现已作为 ACL sheepcontrol 的资源列示出来。
(4) 赋予许可权
返回 ACL 并赋予用户、组和计算机访问 ACL 资源的许可权。例如,赋予 bopeep具有 GET 和 PUT 许可权,以使它可以访问领域 defaultRealm 中sheepcontrol ACL的文件和文件夹:
l 确保已在“定义的存取控制表”列表框中选定 sheepcontrol。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -