| Sun ONE Identity Server 6.1 管理指南 |
第 6 章
策略管理本章介绍 Sun ONE Identity Server 的策略服务管理功能。策略管理提供了查看、管理和配置所有 Identity Server 策略的方法。
本章包含以下内容:
策略类型使用 Identity Server 可以配置两种类型的策略:标准策略和参照策略。标准策略由规则、主题和条件组成。参照策略由规则和候选组织组成。
标准策略
在 Identity Server 中,用于定义访问权限的策略被称为标准策略。标准策略由规则、主题和条件组成。
规则由一种资源、一组或多组操作以及一个值组成。资源用于定义被保护的对象,操作是可以在资源上执行的操作的名称,值则用于定义权限。
不能将策略指定到身份,而可以将 主题 指定到策略。主题就是指定且应用了策略的身份对象。
条件定义的是策略适用的情况。例如,如果策略中有一个 7 AM 到 10 AM 的时间条件,则表示该策略只能在 7 AM 到 10 AM 之间使用。
注
候选组织、规则、资源、主题、条件、操作和值等术语分别对应 policy.dtd 中的 Referral、Rule、ResourceName、Subject、Condition、Attribute 和 Value 元素。这些术语在 Sun ONE Identity Server Customization and API Guide 中做了进一步介绍。
参照策略
通常来说,管理员可能会需要将一个组织的策略定义和决策授权给另一个组织。(另外,还可以将资源的策略决策授权给其它策略产品)。参照策略控制着对策略创建和评估的授权。该策略由一个或多个规则和候选组织组成。规则定义策略定义和评估相关的资源。候选组织定义当前与策略定义和评估相关的组织。
Identity Server 捆绑了两种候选组织:对等组织和子组织。它们分别代表同级组织和子级组织。有关详细信息,请参见为对等组织和子组织创建策略。
策略管理您可以通过策略 API、amadmin 命令行工具和 Identity Server 控制台创建、删除和修改策略。
本章重点介绍通过控制台创建策略。有关 amadmin 的详细信息,请参见 amadmin 命令行工具。有关策略 API 的详细信息,请参见 Sun ONE Identity Server Customization and API Guide 中的“Policy Service”一章。
策略是通过“身份管理”界面配置的。此界面提供了进行以下操作的方法:
通常来说,策略在组织(或子组织)级别创建并用于整个组织树。
图 6-1 策略视图
注册策略配置服务
注册策略配置服务与注册其它任何类型的服务一样,只不过是它在“身份管理”界面中完成。缺省情况下,系统会自动向顶级组织注册策略配置服务。您所创建的任何策略服务都必须向所有组织注册。无论何时注册策略配置服务,均必须在模板中输入 LDAP 绑定密码,以使所有策略在组织内生效。
- 找到“身份管理”界面。
在打开控制台时,缺省界面是“身份管理”。
- 选择要为其创建策略的组织。
如果以顶层管理员身份登录,请确保“身份管理”模块位于顶层组织,在此可以看到所有配置的组织。缺省顶层组织是在安装过程中定义的。
- 从“查看”菜单中选择“服务”。
如果组织已具有注册的服务,浏览框中将显示这些注册的服务。
- 单击浏览框中的“注册”。
数据框中将显示尚未向该组织注册的服务列表。
- 在数据框的“注册服务”窗口中,选择“策略配置”,然后单击“注册”。
“策略配置服务”会添加到浏览框的服务列表中。
- 单击属性箭头配置策略服务。如果尚未配置策略模板,则需为新注册的策略服务创建服务模板。
要配置策略服务,请单击“创建”。修改策略配置属性。有关这些属性的说明,请参见策略配置服务属性。单击“保存”。
现在已向选定组织注册了策略配置服务。
创建策略
策略是通过“身份管理”界面创建的。
- 找到“身份管理”界面。
- 选择要为其创建策略的组织。
确保“策略管理”窗口正确地显示了您的组织。
- 从“查看”菜单中选择“策略”。
缺省情况下,“组织”视图会显示在“查看”菜单中。如果存在子组织,则在组织下面还可以看到配置的所有子组织。如果为子组织创建策略,请选择子组织,然后从“查看”菜单中选择“策略”。
- 单击浏览框中的“新建”。屏幕上将显示“新建策略”窗口。
- 选择您要创建的策略类型:标准或候选。
如果子组织没有相应的参照策略,则不能为该子组织创建任何策略。有关详细信息,请参见为对等组织和子组织创建策略。
此时,您不必为标准或参照策略定义所有字段。您可以在创建策略之后再添加规则、主题、候选组织等字段。有关配置标准策略和参照策略的信息,请参见修改策略。
- 键入策略的名称,然后单击“创建”。
在创建的策略名称下面将会显示新的策略规则窗口。
- 缺省情况下,屏幕上将显示“常规”视图。
“常规”视图显示了策略的名称,且允许您输入所创建策略的说明。
- 单击“保存”完成对策略的配置。
修改策略
一旦创建了标准或参照策略,您就可以修改规则、主题、条件和候选组织。
修改标准策略
通过“身份管理”界面,您可以创建用于定义访问权限的策略。此类策略称为标准策略。标准策略可由多个规则、主题和条件组成。本节列出并定义了您在创建标准策略时可以指定的缺省字段。
添加规则
“规则”用于定义策略的资源、操作和操作值。
- 从“身份管理”界面的“查看”菜单中选择“策略”。
屏幕上将显示为该组织创建的策略。
- 选择您要修改的策略,然后单击属性箭头。数据框中将显示“编辑策略”窗口。
缺省情况下,屏幕上将显示“常规”视图。
- 要定义策略的规则,请从“查看”菜单中选择“规则”,然后单击“添加”。
如果存在多个服务,这些服务会在数据框中列出。选择要为其创建策略的服务,然后单击“下一步”。屏幕上将显示“添加规则”窗口。
- 在“规则”的各个字段中定义资源、操作和操作值。
这些字段包括:
服务。显示所创建策略的服务。缺省值为 URL 策略代理。
规则名称。输入规则的名称。
资源名称。输入资源的名称。例如:
http://www.sunone.com
目前,策略代理只支持 http:// 和 https:// 资源,不支持代替主机名的 IP 地址。
资源名称、端口号和协议都支持通配符。例如:
http*://*:*/*.html
对于“URL 策略代理”服务,如果未输入端口号,则 http:// 的缺省端口号为 80,https:// 的缺省端口号为 443。
选择操作。对于“URL 策略代理”服务,您可以选择以下两项缺省操作或其中任何一项:
选择操作值。对于“URL 策略代理”服务,您可以选择下列任一操作值:
在策略中,拒绝规则始终比允许规则具有优先权。例如,如果某种给定的资源存在两个策略,一个拒绝访问而另一个允许访问,结果为拒绝访问(假定两个策略的条件都满足)。建议谨慎使用拒绝策略,因为它们会导致策略间的潜在冲突。通常来说,在定义策略的过程中,应只使用允许规则,在没有策略适用于实现拒绝条件时使用缺省的拒绝规则。
当采用了显示拒绝规则时,即使一个或多个策略允许访问,通过多个不同主题(如角色和/或组成员资格)指定给给定用户的策略可能仍然会导致对资源的拒绝访问。例如,如果应用于员工角色的资源的策略为拒绝策略,而应用于经理角色的同一资源的策略为允许策略,则被指派了员工和经理两个角色的用户的策略决策将为拒绝。
解决此问题的一个方法是使用条件插件来设计策略。在上述情况下,将拒绝策略应用于通过员工角色验证的用户并将允许策略应用于通过经理角色验证的用户的“角色条件”可以帮助区分两种策略。另一个方法是使用验证级别条件,其中经理角色在更高验证级别进行验证。有关详细信息,请参见添加条件。
注
如果定义了服务,则操作不需要定义资源,因此不会显示资源字段。如果服务包括两种操作类型(某些操作需要资源,另一些操作则不需要资源),则系统会显示一个选项,让您选择操作需要资源的规则或操作不需要资源的规则。
- 单击“创建”保存规则。
- 重复步骤 1 至 5 以创建其它规则。
- 为该策略创建的所有规则均显示在“规则”视图的表中。单击“保存”将规则添加到策略。
要从策略中删除规则,请选择该规则,然后单击“删除”。
您可以通过单击规则名称旁边的“编辑”链接来编辑任何规则定义。
添加主题
“主题”用于定义策略所应用的主题。
- 要定义策略的主题,请从“查看”菜单中选择“主题”,然后单击“添加”。
- 选择以下任一缺省主题类型:
- 输入主题的名称。
- 选择或取消选择“专用”字段。
如果未选择该字段(缺省),策略应用到的身份为主题成员。如果选择该字段,策略应用到的身份为非主题成员。
如果该策略中存在多个主题,至少要有一个主题表明该策略适用于给定的身份,策略才能应用到该身份。无论是否选择了“专用”字段,满足策略中定义的所有条件时,策略就可以应用到身份。
- 执行搜索以显示要添加到主题的身份。
缺省 (*) 搜索模式将显示所有符合条件的条目。
- 选择要添加到主题中的身份,然后单击“添加”将它们移到“选定”列表框中。(或选择“全部添加”添加所有身份。)
- 单击“创建”。
- 主题的名称、类型和专用状态都显示在“主题”视图的表中。单击“保存”。
要从策略中删除主题,请选择该主题并单击“删除”,然后单击“保存”。
您可以通过单击主题名称旁边的“编辑”链接来编辑任何主题定义。
添加条件
您可以使用“条件”定义策略的限制条件。例如,为某个薪金应用程序定义策略时,可以为该操作定义一个条件,限定只能在特定的时间内访问该应用程序。另外,您还可以定义另一种条件,限定只有当请求是来自指定的一组 IP 地址或公司内部网时才允许执行该操作。
此外,条件还可以用于配置同一个域的不同 URI 上的不同策略。例如,http://org.example.com/hr/*jsp 只能由 org.example.net 在 9 AM 到 5 PM 之间进行访问,而 http://org.example.com/finance/*jsp 可以由 org.example2.net 在 5 AM 到 11 PM 之间进行访问。同时使用“IP 条件”和“时间条件”就可以实现这一目的。将规则的资源指定为 http://org.example.com/hr/*.jsp,策略将应用到 http://org.example.com/hr 下的所有 JSP,包括子目录中的 JSP。
要将条件添加到标准策略,请执行以下步骤:
- 定义策略的条件。从“查看”菜单中选择“条件”。单击“添加”添加新的条件,或单击“编辑”链接编辑现有的条件。
- 选择以下缺省条件之一:
- 在“规则”字段中定义给定条件的值。这些字段包括:
名称。输入条件的名称。
验证级别
验证级别。指明验证的信任级别。验证级别和验证模块表格中显示了可用的验证级别。
验证方案
验证方案。在下拉菜单中选择条件的验证方案。这些验证方案取自组织验证模块中的核心服务模板。
IP 地址
起始/结束 IP 地址。指定 IP 地址的范围。
DNS 名称。指定 DNS 的名称。
时间
起始/结束日期。指定日期的范围。
时间。指定一天中的时间范围。
天。指定表示天数的范围。
时区。指定一个标准的或自定义的时区。自定义的时区只能是可由 Java 识别的时区 ID(例如,PST)。
会话
最大会话时间。指定应用策略的最大用户会话时间。
终止会话。当选中该字段后,如果会话时间超过“最大会话时间”字段中定义的最大许可时间,将终止用户会话。
- 定义条件后,单击“创建”。
- 为该策略创建的所有条件均显示在“条件”视图的表中。单击“保存”。
要从策略中删除条件,请选择该条件,然后单击“删除”。
您可以通过单击条件名称旁边的“编辑”链接来编辑任何条件定义。
修改参照策略
通过“身份管理”界面,您可以将一个组织的策略定义和决策授权给另一个组织。(您还可以将资源的策略决策授权给其它策略产品。)参照策略控制着对策略创建和评估的授权。它由规则和候选组织本身组成。如果策略服务包括不需要资源的操作,则不能为子组织创建参照策略。
添加规则
“规则”用于定义策略的资源。
- 要定义策略的规则,请从“查看”菜单中选择“规则”。单击“添加”添加新的规则,或单击“编辑”链接编辑现有的规则。
- 在“规则”字段中定义资源。这些字段包括:
服务。显示可用于所创建策略的策略服务
名称。输入规则的名称。
资源名称。输入资源的名称。例如:
http://www.sunone.com
目前,策略代理只支持 http:// 和 https:// 资源,不支持代替主机名的 IP 地址。
资源名称、端口号和协议都支持通配符。
对于“URL 策略代理”服务,如果未输入端口号,则 http:// 的缺省端口号为 80,https:// 的缺省端口号为 443。
- 单击“创建”保存规则。
- 重复步骤 1 - 3 创建其它规则。
- 为该策略创建的所有规则均显示在“规则”视图的表中。单击“保存”。
要从策略中删除规则,请选择该规则,然后单击“删除”。
您可以通过单击规则名称旁边的“编辑”链接来编辑任何规则定义。
添加候选组织
候选组织定义当前与策略评估相关的组织。缺省情况下,有两种候选组织类型:对等组织和子组织。它们分别代表同级组织和子级组织。
为对等组织和子组织创建策略
要为对等组织和子组织创建策略,首先必须在父组织(或其它对等组织)中创建参照策略。另外,还应该注册策略配置服务并在子组织中创建模板。参照策略的规则定义中必须包含子组织所管理的资源前缀。一旦在父组织(或其它对等组织)中创建了参照策略,就可以在子组织(或对等组织)中创建标准策略。
如果操作名称不包含资源名称,则 Identity Server 策略框架不允许创建参照策略。换句话说,如果操作不包括任何资源名称,则只能在根组织下创建策略,而不能在子组织下创建。
在本示例中,o=isp 为父组织,o=sun.com 为子组织并管理 http://www.example.com 的资源和子资源。要为该子组织创建策略,请执行以下步骤:
- 在 o=isp 中创建参照策略。有关参照策略的信息,请参见修改参照策略过程。
此参照策略必须将 http://www.sun.com 定义为规则中的资源,并将候选组织中的 SubOrgReferral 的值设置为 sun.com。
- 转到“组织”视图并找到子组织 sun.com。
- 确保在子组织级别(即 sun.com)上注册策略配置服务。有关信息,请参见注册策略配置服务。
- 现在,isp 已将资源关联到 sun.com,因此可为资源 http://www.sun.com 或所有以 http://www.sun.com 开头的资源创建标准策略。
有关创建标准策略的信息,请参见修改标准策略过程。
要为 sun.com 管理的其它资源定义策略,必须在 o=isp 中创建其它参照策略。