Sun Java System Access Manager 7.1 管理指南

策略管理功能

“策略管理”功能提供了用于创建和管理策略的策略服务。策略服务允许管理员定义、修改、授予、撤消和删除权限,以保护 Access Manager 部署内部的资源。通常,策略服务包括一个数据存储库、一个允许创建、管理和评估策略的界面库以及一个策略执行程序或策略代理。默认情况下,Access Manager 使用 Sun Java Enterprise System Directory Server 进行数据存储,并提供用于策略评估和策略服务自定义的 Java 和 C API(有关详细信息,参见《Sun Java System Access Manager 7.1 Developer’s Guide》)。它也允许管理员将 Access Manager 控制台用于策略管理。Access Manager 提供了一种启用策略的服务 -“URL 策略代理”服务,该服务使用可下载策略代理执行策略。

URL 策略代理服务

安装时,Access Manager 会提供“URL 策略代理”服务来定义策略以保护 HTTP URL。 该服务允许管理员通过策略强制程序或策略代理来创建和管理策略。

策略代理

“策略代理”是存储企业资源的服务器的“策略强制点”(PEP)。策略代理独立于 Access Manager 而被安装在一个 Web 服务器上,当用户向位于受保护 Web 服务器上的 Web 资源发出请求时,此代理将起到附加授权步骤的作用。此授权是对资源执行的任何用户授权请求的补充。该代理可保护 Web 服务器,而资源反过来又会受到授权插件的保护。

例如,受远程安装的 Access Manager 保护的人力资源 Web 服务器上可能会安装某一代理。此代理可防止无适当策略的人员查看保密的工资信息或其他敏感数据。策略由 Access Manager 管理员定义,存储在 Access Manager 部署中,并由策略代理使用,以允许或拒绝用户对远程 Web 服务器内容的访问权。

最新的“Access Manager 策略代理”可以从“Sun Microsystems 下载中心”下载。

有关安装和管理策略代理的详细信息,参见《Sun Java System Access Manager Policy Agent 2.2 User’s Guide》


注 –

策略评估不会按特定顺序进行,尽管在对其进行评估时,如果一个操作值评估结果为 deny,也不再对后续策略进行评估,除非在“策略配置”服务中启用“拒绝决策时继续评估”属性。


Access Manager 策略代理仅在 Web URL(http://...https//...)上执行决策。但是,可以使用 Java 和 C Policy Evaluation API 编写代理,以在其他资源上强制执行策略。

此外,还需要将“策略配置服务”中的“资源比较器”属性由其默认配置更改为:

serviceType=Name_of_LDAPService |class=com.sun.identity.policy.plugins.SuffixResourceName|wildcard=*

|delimiter=,|caseSensitive=false

或者,提供类似于 LDAPResourceName 的实现以实现 com.sun.identity.policy.interfaces.ResourceName 并相应地配置“资源比较器”也可达到目的。

策略代理过程

当 Web 浏览器向驻留于策略代理所保护的服务器中的 URL 发出请求后,即开始受保护 Web 资源的过程。服务器中已安装的策略代理会截取请求并检查现有的验证凭证(会话令牌)。

如果代理已截取请求并验证了现有的会话令牌,随后将发生以下过程。

  1. 如果会话令牌有效,则允许或拒绝用户的访问。如果会话令牌无效,则用户将被重定向到“验证服务”,如下列各步骤所述。

    假设代理截取了某一请求,而对于该请求不存在任何现有会话令牌,则代理将用户重定向到登录页面,即使资源受不同验证方法保护也是如此。

  2. 正确验证用户凭证后,代理会向定义用于连接到 Access Manager 内部服务的 URL 的“命名服务”发布请求。

  3. 如果资源与在代理处配置的非执行列表匹配,则允许访问。

  4. “命名服务”返回策略服务、会话服务和日志记录服务的定位器。

  5. 代理将请求发送到“策略服务”以获取适用于用户的策略决策。

  6. 是允许用户访问还是拒绝用户访问,需根据当前访问资源的策略决策而定。如果对策略决策的建议指示出不同的验证级别或验证机制,代理会将请求重定向到“验证服务”,直到所有条件都经过验证为止。