管理权限
权限将受保护的对象与必须评估以决定是否应授予访问权限的策略相关联。
在创建要保护的资源以及要用于保护这些资源的策略后, 您可以开始管理权限。要管理权限,请在编辑资源服务器时单击 Permissions 选项卡。
可以创建权限来保护两种主要类型的对象:
-
Resources
-
Scopes
要创建权限,请从权限列表右上角的项目列表中选择要创建的权限类型。以下部分更详细地介绍了这两种类型的对象。
创建基于资源的权限
基于资源的权限定义一组一个或多个资源,以使用一组一个或多个授权策略进行保护。
要创建新的基于资源的权限,请从 Create permission 下拉列表中选择 Create resource-based permission。
添加资源权限
配置
-
Name
描述权限的可读唯一字符串。最佳做法是使用与您的业务和安全要求密切相关的名称,以便您 可以更容易地识别它们。
-
Description
包含有关此权限的详细信息的字符串。
-
Apply To Resource Type
指定是否将权限应用于具有给定类型的所有资源。选择此字段时,系统会提示您输入要保护的资源类型。
-
资源类型
定义要保护的资源类型。定义后,将针对与该类型匹配的所有资源评估此权限。
-
-
Resources
定义一组要保护的一个或多个资源。
-
Policy
定义一组要与权限关联的一个或多个策略。要关联策略,您可以选择现有策略 或者通过选择要创建的策略类型来创建新策略。
-
Decision Strategy
此权限的 Decision Strategy (决策策略)。
类型化资源权限
资源权限还可用于定义应用于具有给定类型的所有资源的策略。当资源共享通用的访问要求和限制时,这种基于资源的权限形式会很有用。
通常,应用程序内的资源可以根据它们封装的数据或提供的功能进行分类(或类型化)。例如,一个金融应用程序可以管理不同的银行账户,每个账户都属于特定的客户。尽管它们是不同的银行账户,但它们共享由银行机构全局定义的通用安全要求和限制。借助类型化资源权限,你可以定义应用于所有银行账户的通用策略,例如:
-
只有账户所有者可以管理其账户。
-
仅允许来自账户所有者所在国家和(或)地区的访问。
-
强制使用特定的身份验证方法。
要创建类型化资源权限,在创建新的基于资源的权限时,点击 “ Apply to Resource Type”。将 “Apply to Resource Type” 设置为 “on” 后,你可以指定要保护的类型,以及为管理对具有指定类型的所有资源的访问而要应用的策略。
类型化资源权限示例
创建基于范围的权限
基于范围的权限定义一组一个或多个范围,以使用一组一个或多个授权策略进行保护。与基于资源的权限不同,您可以使用此权限类型为资源创建权限,还可以为与其关联的范围创建权限,从而在定义控制资源的权限以及可对其执行的作时提供更多粒度。
要创建新的基于范围的权限,请从 Create permission (创建权限) 下拉列表中选择 Create scope-based permission (创建基于范围的权限)。
添加范围权限
配置
-
Name
描述权限的可读唯一字符串。最佳做法是使用与您的业务和安全要求密切相关的名称,以便您 可以更容易地识别它们。
-
Description
包含有关此权限的详细信息的字符串。
-
Resource
将范围限制为与所选资源关联的范围。如果未选择任何内容,则所有范围都可用。
-
Scopes
定义一组要保护的一个或多个范围。
-
Policy
定义一组要与权限关联的一个或多个策略。要关联策略,您可以选择现有策略 或者通过选择要创建的策略类型来创建新策略。
-
Decision Strategy
此权限的 Decision Strategy (决策策略)。
Policy的决策策略
将策略与权限关联时,您还可以定义决策策略,以指定如何评估关联策略的结果以确定访问权限。
-
一致
如果未提供任何策略,则为默认策略。在这种情况下,所有策略都必须评估为积极决定,最终决定也为积极决定。
-
肯定
在这种情况下,至少有一个策略必须评估为正决策,最终决策也为正决策。
-
共识
在这种情况下,积极决策的数量必须大于消极决策的数量。如果积极和消极的决定数量相等,则最终决定将为负数。
评估和测试策略
在设计策略时,您可以模拟授权请求以测试策略的评估方式。
您可以通过在编辑资源服务器时单击选项卡来访问 Policy Evaluation Tool。在那里,您可以指定不同的输入来模拟真实的授权请求并测试策略的效果。Evaluate
策略评估工具
提供身份信息
Identity Information (身份信息) 筛选器可用于指定请求权限的用户。
提供上下文信息
Contextual Information 过滤器可用于定义评估上下文的其他属性,以便策略可以获取这些相同的属性。
提供权限
Permissions (权限) 筛选器可用于构建授权请求。您可以请求一组一个或多个资源和范围的权限。如果需要帮助, 要模拟基于所有受保护资源和范围的授权请求,请单击 Add (添加),而不指定任何 或 。ResourcesScopes