Sun Java System Access Manager 7.1 管理指南

策略类型

有两种类型的策略可以使用 Access Manager 进行配置:

常规策略

在 Access Manager 中,用于定义访问权限的策略被称为标准策略。常规策略由规则主题条件响应提供者组成。

规则

一条规则包含一种服务类型、一项或多项操作以及一个值。规则用于定义策略。


注 –

可以不使用某些服务的资源来定义操作。


主题

主题定义了策略所影响的用户或用户集合(例如,组或具有特定角色的用户)。主题的常规规则是:只有当用户至少是策略中的其中一个主题的成员时,才能够应用策略。默认主题包括:

Access Manager 身份主题

此主题表明可以将在“领域主题”选项卡下创建和管理的身份作为主题的成员添加。

验证的用户

此主题类型表明任何具有有效 SSO 令牌的用户都是此主题的成员。

所有通过验证的用户都是该“主题”的成员,即使他们已在其他领域(而不是定义策略所在的组织)中进行了验证。如果资源拥有者要开放一些资源(为其他组织的用户所管理的资源)的访问权时,这将非常有用。如果您要限制某个特定组织的成员对受保护资源的访问权,请使用“组织”主题。

Web 服务客户机

此主题类型表明如果 SSO 令牌中包含的主体的 DN 与此主题的任意选定值匹配,则由该 SSO 令牌标识的 Web 服务客户机 (WSC) 是此主题的成员。有效值为本地 JKS 密钥库中的可信赖证书(对应于可信赖 WSC 证书)的 DN。 此主题取决于“Liberty Web 服务框架”,并且只能由“Liberty 服务提供者”用来对 WSC 进行授权。

请确保将此“主题”添加到策略之前,您已经创建了密钥库。 您可以从以下位置找到有关于设置密钥库的信息:

AccessManager-base /SUNWam/samples/saml/xmlsig/keytool.html

通过在领域的“策略配置服务”中选择以下附加主题,便可对其进行使用:

Access Manager 角色

此主题类型表明任何使用 Access Manager 角色的成员都是此主题的成员。Access Manager 角色是使用运行于传统模式的 Access Manager 以及基于 6.3 的控制台创建的。这些角色所具有的对象类由 Access Manager 进行授权。Access Manager 角色只能通过所属的“Access Manager 策略服务”进行访问。

LDAP 组

此主题类型表明 LDAP 组的任何成员都是此主题的成员。

LDAP 角色

此主题类型表明任何使用 LDAP 角色的成员都是此主题的成员。“LDAP 角色”是使用 Directory Server 角色功能的任意角色定义。这些角色具有通过角色定义授权的对象类。可以在“策略配置服务”中修改“LDAP 角色搜索”过滤器以缩小范围并提高性能。

LDAP 用户

此主题类型表明任何 LDAP 用户都是此主题的成员。

组织

此主题类型表明领域的所有成员均为该主题的成员

Access Manager 角色与 LDAP 角色

Access Manager 角色是由 Access Manager 创建的。这些角色所具有的对象类由 Access Manager 进行授权。LDAP 角色是使用 Directory Server 角色功能的任意角色定义。这些角色具有通过角色定义授权的对象类。所有 Access Manager 角色均可被用作 Directory Server 角色。但是,Directory Server 角色并不一定都是 Access Manager 角色。可通过配置策略配置服务从现有目录利用 LDAP 角色。 Access Manager 角色只能通过所属的“Access Manager 策略服务”进行访问。可以在“策略配置服务”中修改“LDAP 角色搜索”过滤器以缩小范围并提高性能。

嵌套角色

嵌套角色可作为策略定义主题中的“LDAP 角色”正确评估。

条件

条件允许您定义对策略的限制。例如,为某个薪金应用程序定义策略时,可以为该操作定义一个条件,限定只能在特定的时间内访问该应用程序。另外,您还可以定义另一种条件,限定只有当请求是来自指定的一组 IP 地址或公司内部网时才允许执行该操作。

此外,条件还可以用于配置同一个域的不同 URI 上的不同策略。例如,http://org.example.com/hr/*jsp 只能通过 org.example.net 在 9 a.m. 到 5 p.m. 之间进行访问。同时使用“IP 条件”和“时间条件”便可实现上述目的。将规则资源指定为 http://org.example.com/hr/*.jsp,策略将应用到 http://org.example.com/hr 下的所有 JSP 文件,包括子目录中的 JSP 文件。


注 –

引用、规则、资源、主题、条件、操作和值等术语分别对应于 policy.dtd 中的 ReferralRuleResourceNameSubjectConditionAttributeValue 等元素。


可以添加的默认条件是:

活动会话时间

根据用户会话数据设置条件。您可以修改的字段包括:

最长会话时间

指定从发起会话起,策略可应用的最长持续时间。

终止会话

如果选择该字段,当会话时间超过“最长会话时间”字段中定义的最长允许时间时,系统将终止该用户会话。

验证链

如果用户已在指定领域中向验证链成功验证,则应用该策略。如果未指定领域,则向任何领域中的验证链进行验证均满足条件。

验证级别(大于或等于)

如果用户的验证级别大于或等于条件中设置的验证级别,则应用该策略。 该属性表明指定领域内的验证信任级别。

验证级别(小于或等于)

如果用户的验证级别低于或等于在条件中设置的验证级别,则应用该策略。该属性表明指定领域内的验证信任级别。

验证模块实例

如果用户已在指定领域内向验证模块成功进行验证,则应用该策略。如果未指定领域,则向任何领域中的验证模块进行验证均满足条件。

当前会话属性

根据用户的 Access Manager 会话中设置的属性值来决定策略是否适用于相应的请求。策略评估期间,仅当用户会话的每个属性值均符合条件中的定义时,条件才会返回 "true"。对于在条件中定义了多个值的属性,令牌只要具有条件的属性中列出的一个值就足够了。

IP 地址/DNS 名称

根据 IP 地址的范围设置条件。您可以定义的字段包括:

起始/结束 IP 地址

指定 IP 地址的范围。

DNS 名称

指定 DNS 的名称。此字段可以是全限定主机名,也可以是采用以下格式之一的字符串:

domainname

*.domainname

LDAP 过滤条件

当已定义的 LDAP 过滤器在 LDAP 目录(在“策略配置”服务中指定)中查找用户条目时,应用该策略。该条件仅在定义该策略的领域内适用。

领域验证

如果用户已向指定领域进行验证,则应用此策略。

时间(天、日期、时间和时区)

根据时间限制设置条件。这些字段包括:

起始/结束日期

指定日期的范围。

时间

指定一天中的时间范围。

指定表示天数的范围。

时区

指定一个标准的或自定义的时区。自定义的时区只能是可由 Java 识别的时区 ID(例如,PST)。如果未指定值,默认值为 Access Manager JVM 中设置的时区。

响应提供者

响应提供者是提供基于策略的响应属性的插件。响应提供者属性与策略决策一起发送到 PEP。Access Manager 包括一个实现,IDResponseProvider。该版本的 Access Manager 不支持自定义的响应提供者。 代理和 PEP 通常会将这些响应属性作为标题传递给应用程序。 应用程序通常会使用这些属性来自定义应用程序页面(如门户页面)。

策略建议

如果根据条件判定策略不适用,该条件可能会产生建议消息,指明策略不适用于请求的原因。这些建议消息在策略决策内传播到“策略强制点”。“策略强制点”可以检索此建议并采取适当的行动,例如将用户重定向回验证机制以进行更高级别的验证。 如果策略适用,系统在针对建议采取适当的操作后可能会提示用户进行更高级别的验证,用户或许可以访问资源。

可从以下类中找到更多信息:

com.sun.identity.policy.ConditionDecision.getAdvices()

如果条件不满足,则只有 AuthLevelCondiitonAuthSchemeCondition 提供建议。

AuthLevelCondition 建议与下列关键字相关:

com.sun.identity.policy.plugin.AuthLevelCondition.AUTH_LEVEL_CONDITION_ADVICE

AuthSchemeCondition 建议与下列关键字相关:

com.sun.identity.policy.plugin.AuthLevelCondition.AUTH_SCHEME_CONDITION_ADVICE

自定义的条件也可以提供建议。但是,“Access Manager 策略代理”只对“验证级别建议”和“验证模式建议”做出响应。 可以编写自定义的代理来理解和响应更多建议,也可以扩展现有的 Access Manager 代理来理解和响应更多建议。有关详细信息,参见《Sun Java System Access Manager Policy Agent 2.2 User’s Guide》

引用策略

管理员可能需要将一个领域的策略定义和决策委托给另一个领域。 (另外,还可以将资源的策略决策授权给其他策略产品)。引用策略控制着策略创建和评估的策略委托。该策略由一个或多个规则以及一个或多个引用组成。

“策略配置”服务包含称作“组织别名引用”的全局属性, 该属性允许用户在子领域中创建策略,而不必在顶层或父领域创建引用策略。用户只能创建用于保护 HTTP 或 HTTPS 资源的策略,这些资源的全限定主机名应与领域的领域/DNS 别名相匹配。默认情况下,该属性设置为“否”。

规则

规则定义策略定义和评估相关的资源。

引用

引用定义策略评估引用的组织。默认情况下,有两种引用类型:对等领域和子领域。它们分别代表同级领域和子级领域。有关详细信息,参见为对等领域和子领域创建策略


注 –

相关领域只能为那些已相关的资源(或子资源)定义或评估策略 。但是,该限制并不适用于顶层领域。