Sun Java System Web Proxy Server 4.0.8 管理指南

选择访问控制选项

以下主题介绍了在设置访问控制时可以选择的各种选项。对于 Administration Server,头两行为默认设置,且不能编辑。

本节包含以下主题:

设置操作

您可以指定当请求符合访问控制规则时服务器要执行的操作。

服务器将检查整个控制访问条目 (Access Control Entries, ACE) 列表以确定访问权限。例如,第一个 ACE 通常为拒绝每个用户。如果将第一个 ACE 设置为 "Continue",服务器将检查列表中的第二个 ACE。如果该 ACE 匹配,将使用下一个 ACE。如果未选择 "Continue",将拒绝任何用户访问该资源。服务器将继续检查列表,直至找到某个不匹配的 ACE,或匹配但不会继续执行的 ACE。最后一个匹配的 ACE 将确定允许访问还是拒绝访问。

指定用户和组

使用用户和组验证时,将提示用户提供用户名和密码,然后才能访问在访问控制规则中指定的资源。

Proxy Server 将检查在 LDAP 服务器(例如 Sun Java System Directory Server)或基于内部文件的验证数据库中存储的用户和组的列表。

可以允许或拒绝数据库中每个用户的访问,也可以使用通配符模式允许或拒绝特定用户的访问,还可以从用户和组的列表中选择允许或拒绝其访问的用户。

在用户界面内 "Access Control Rules" 页面的 "Users/Groups" 中,将显示以下元素。

指定 "From Host"

您可以基于请求来自哪台计算机限制对 Administration Server 的访问。

在用户界面内 "Access Control Rules For" 页面的 "From Host" 中,将显示以下元素:

如果选择 "Only From" 选项,请在 "Host Names" 或 "IP Addresses" 字段中键入通配符模式或逗号分隔的列表。按主机名进行限制要比按 IP 地址进行限制更为灵活。如果用户的 IP 地址发生更改,您也不需要更新此列表。但是,按 IP 地址进行限制更可靠。如果某个连接的客户机的 DNS 查找失败,将无法使用主机名限制。

您只能使用通配符模式的 * 通配符表示法来匹配计算机的主机名或 IP 地址。例如,要允许或拒绝特定域中的所有计算机,您可以输入匹配该域中所有主机的通配符模式,例如 *.example.com。您可以为访问 Administration Server 的超级用户设置不同的主机名和 IP 地址。

对于主机名,* 必须替换名称完整的一部分,即,*.example.com 有效,但 *users.example.com 无效。当 * 出现在主机名中时,它必须是最左侧的字符。例如,*.example.com 有效,但 users.*.com 无效。

对于 IP 地址,* 必须替换地址中的整个字节,例如,198.95.251.* 有效,但 198.95.251.3* 无效。当 * 出现在 IP 地址中时,它必须是最右侧的字符。例如,198.* 有效,但 198.*.251.30 无效。

限制对程序的访问

对程序的访问只能由 Administration Server 来限制。通过限制对程序的访问,可以仅允许指定的用户查看 Server Manager 页面,并确定这些用户是否能够配置该服务器。例如,您可能允许某些管理员配置 Administration Server 的 "Users and Groups" 部分,但是拒绝他们访问 "Global Settings" 部分。

您可以配置不同的用户访问不同的功能域。为某个用户授予了对若干选定功能域的访问权限后,该用户登录后只能访问这些功能域的 Administration Server 页面。

在用户界面内 "Access Control Rules For" 页面的 "Programs" 中,将显示以下元素:

设置访问权限

服务器实例的访问权限只能由 Server Manager 设置。访问权限限制了对您服务器上的文件和目录的访问。除了允许或拒绝所有访问权限外,您还可以指定一个规则以允许或拒绝部分访问权限。例如,您可以授予用户对您文件的只读访问权限,这样他们可以查看信息,但不能更改文件。

在用户界面内 "Access Control Rules For" 页面的 "Rights" 中,将显示以下元素。

编写自定义表达式

您可以为 ACL 输入自定义表达式。仅当您熟悉 ACL 文件的语法和结构时,才能选择此选项。有若干功能只有通过编辑 ACL 文件或创建自定义表达式才能实现。例如,您可以基于一天中的某个时间和/或一周中的某一天来限制对服务器的访问。

以下自定义表达式显示了如何基于一天中的某个时间和一周中的某一天来限制访问。本例假设您的 LDAP 目录中有两个组。"Regular" 组可以在星期一到星期五的 8:00 am 到 5:00 pm 进行访问。"Critical" 组在任何时间均可进行访问。

allow (read){(group=regular and dayofweek=”mon,tue,wed,thu,fri”);
(group=regular and (timeofday>=0800 and timeofday<=1700));(group=critical)}

有关有效语法和 ACL 文件的更多信息,请参见第 18 章

禁用访问控制

如果在 "Access Control Rules For" 页面中取消选中标记为 "Access Control Is On" 的选项,将会收到提示,询问您是否要删除 ACL 中的记录。单击 "OK" 后,便会从 ACL 文件中删除该资源的 ACL 条目。

如果要取消激活 ACL,请在文件 generated-proxy- serverid.acl 中每个 ACL 行的开头添加 # 符号,使 ACL 行变为注释。

在 Administration Server 中,您可以为特定服务器实例创建并启用访问控制,而为其他服务器禁用访问控制(默认设置为禁用)。例如,您可以通过 Administration Server 页面拒绝对 Server Manager 的任何访问。对于默认情况下启用了分布式管理且禁用了访问控制的任何其他服务器,管理员仍可以访问和配置这些服务器,但不能配置 Administration Server。

访问被拒绝时的响应

Proxy Server 提供了访问被拒绝时显示的默认消息,您可以根据需要自定义响应。也可以为每个访问控制对象创建不同的消息。

默认情况下,对于 Administration Server,用户会收到 server-root/httpacl/admin-denymsg.html 中的 "Permission Denied" 消息。

Procedure更改访问被拒绝消息

  1. 单击 "Access Control Rules For" 页面上的 "Response When Denied" 链接。

  2. 选择所需的响应,提供其他信息(如果适用),然后单击 "Update"。确保用户可以访问将他们重定向到的响应。

  3. 单击 "Submit" 保存更改,或者单击 "Revert" 将页面中的元素重置为更改前它们所包含的值。