如果已创建了策略,请单击要为其添加规则的策略的名称。否则,请参阅使用 Access Manager 控制台创建标准策略 。
在“规则”菜单中单击“新建”。
为规则选择以下任一默认服务类型。 如果策略可用的服务较多时,您看到的列表可能会比较长:
为搜索服务查询定义授权操作并通过指定资源的 Web 服务客户机修改调用的协议。
为“Liberty 个人配置文件”服务查询定义授权操作并通过指定资源的 Web 服务客户机修改调用的协议。
为策略强制提供“URL 策略代理”服务。该服务允许管理员通过策略强制程序或策略代理来创建和管理策略。
单击“下一步”。
输入规则的名称及其资源名称。
目前,“策略代理”只支持 http:// 和 https:// 资源,不支持代替主机名的 IP 地址。
主机、端口和资源名称都支持通配符。 例如:
http*://*:*/*.html |
对于“URL 策略代理”服务,如果未输入端口号,则 http:// 的默认端口号是 80,https:// 的默认端口号是 443。
为规则选择操作。如果您使用的是“URL 策略代理”服务,则可以选择以下选项:
GET
POST
选择操作值。
Allow — 允许您访问与规则中定义的资源相匹配的资源。
Deny — 拒绝您访问与规则中定义的资源相匹配的资源。
拒绝规则始终优先于允许规则。 例如,如果某种给定的资源存在两个策略,一个拒绝访问而另一个允许访问,结果为拒绝访问(假定两个策略的条件都满足)。建议谨慎使用拒绝策略,因为它们会导致策略间的潜在冲突。策略定义过程应只使用允许规则。 如果没有适用于资源的策略,则自动拒绝访问。
当采用了显式拒绝规则时,即使一个或多个策略允许访问,通过多个不同主题(如角色和/或组成员资格)指定给给定用户的策略可能仍然会导致对资源的拒绝访问。 例如,如果应用于“员工”角色的资源的策略为拒绝策略,而应用于“经理”角色的同一资源的策略为允许策略,则被分配了“员工”和“经理”两个角色的用户的策略决策将为拒绝。
解决此问题的一个方法是使用条件插件来设计策略。在上述情况下,将拒绝策略应用于通过“员工”角色验证的用户并将允许策略应用于通过“经理”角色验证的用户的“角色条件”可以帮助区分两种策略。 另一个方法是使用 authentication level 条件,其中“经理”角色在更高验证级别进行验证。
单击“完成”。