GB/T 30281-2013 信息安全技术 鉴别与授权 可扩展访问控制标记语言
GB/T 30281-2013 Information security technology—Authentication and authorization—eXtensible Access Control Markup Language (XACML)
基本信息
本标准适用于大规模分布式应用中资源统一访问控制策略语言的编写与分析。
发布历史
-
2013年12月
研制信息
- 起草单位:
- 中国科学院软件研究所
- 起草人:
- 冯登国、徐震、张敏、翟征德、王雅哲、高志刚、张凡
- 出版信息:
- 页数:95页 | 字数:168 千字 | 开本: 大16开
内容描述
ICS35.040
L80
中华人民共和国国彖标准
GB/T30281—2013
信息安全技术鉴别与授权
可扩展访问控制标记语
Informationsecuritytechnology——Authenticationanauthorization—
extensibleAccessControlMarkupLanguage(XACML)
2013-12-31发布2014-07-15实施
GB/T30281—2013
目次
前V
引\1
1范围1
2规范性引用文件1
3术语和定义1
4缩略语3
5XACML概述3
5.1概述3
5.2需求3
5.3规则和策略组合4
5.4组合算法4
5.5多主体5
5.6基于主体和资源属性的策略5
5.7多值属性5
5.8基于资源内容的策略5
5.9操作符5
5.10策略分布6
5.11策略索引6
5.12抽象层6
5.13随同策略实施一起执行的动作6
6模型6
6.1数据流模型6
6.2XACML±下文7
6.3策略语言模型8
7策略语法10
7.1<PolicySet)元素10
7.2〈Descriplion〉元素12
7.3〈PolicySetDefaulls〉元素12
7.4〈XpaihVersion〉元素12
7.5〈Target〉元素12
7.6〈Subjects〉元素13
7.7〈Subject〉元素13
7.8〈SubjectMatch〉元素14
7.9〈Resources〉元素14
7.10〈Resource〉元素14
7.11〈ResourccMatch〉兀素15
T
GB/T30281—2013
7.12〈Actions〉元素15
7.13〈Action〉元素15
7.14〈ActionMatch〉元素16
7.15〈Environments〉兀索16
7.16〈Environment〉元素17
7.17〈EnvironmentMatch〉元素17
7.18〈PolicySetldReference〉元素17
7.19〈PolicyldReference〉元素18
7.20VersionType简单类型18
7.21VesionMatchType简单类型18
7.22〈Policy〉元素19
7.23〈PolicyDcfaults〉元素20
7.24<CombinerParameters)20
7.25<CombinerParameter>21
7.26〈RuleCombinerParameters〉元素21
7.27〈PolicyCombinerParameters〉元素22
7.28<PolicySetCombinerParameters)22
7.29〈Rule〉元素23
7.30EectType简单类型23
7.31〈VariableDefinition〉元素23
7.32〈VariableReference〉元素24
7.33〈Expression〉元素24
7.34〈Condition〉元素25
7.35〈Apply〉元素25
7.36〈Function〉元素25
7.37AttributeDesignatorType复合类型26
7.38〈SubjectAttributeDesignator〉元素27
7.39〈ResourceAttributeDesignator〉元素27
7.40〈ActionAttributeDesignator〉元素28
7.41〈EnvironmentAttributeDesignator〉元素28
7.42〈AttributeSelector〉元素28
7.43〈AttributeValue〉元素29
7.44〈Obligations〉元素30
7.45〈Obligation〉元素30
7.46〈AttributeAssignment〉元素31
8上下文语法31
8.1〈Request〉元素31
8.2〈Subject〉元素32
8.3〈Resource〉元素32
&4〈ResouceContent〉元素33
8.5(Action)元素33
8.6〈Environment〉元素33
8.7〈Attribute〉元素34
n
GB/T30281—2013
&8〈AttrributeValue〉元素34
8.9〈Response〉元素35
8.10〈Result〉元素35
8.11〈Decision〉元素36
8.12〈Staius〉元素36
8.13〈StalusCodc〉元素37
8.14〈StalusMessage〉元素37
8.15〈StalusDctail〉元素37
8.16〈MissingAttributeDelail〉元素38
9功能需求38
9.1概述38
9.2策略执行点38
9.3属性评估39
9.4表达式评估40
9.5算术评估41
9.6匹配评估41
9.7目标评估42
9.8变量引用评估43
9.9条件评估44
9.10规则评估44
9.11策略评估44
9.12策略集评估45
9.13有层次的资源45
9.14授权决策45
9.15义务46
9.16异常处理46
10XACML扩展点46
10.1可扩展的XML属性类型46
10.2结构化属性47
11安全和隐私47
11.1概述47
11.2威胁模型47
11.3安全措施49
12符合性51
12.1介绍51
12.2符合性列表51
附录A(规范性附录)数据类型和函数61
附录B(规范性附录)XACML标识符76
附录C(规范性附录)组合算法80
参考文献89
m
GB/T30281—2013
本标准按照GB/T1.1—2009给出的规则起草。
本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。
本标准起草单位:中国科学院软件研究所。
本标准主要起草人:冯登国、徐震、张敏、翟征德、王雅哲、高志刚、张凡。
GB/T30281—2013
引
如何实现大规模分布式应用中的信息资源的受控共享,实现基于策略的安全管理已成为信息安全
领域关注的重点之一。目前多数分布式应用仍然独立定义自己的安全策略并实施资源访问控制,不仅
无法获得一个完整的安全策略实施视图,而且安全策略的维护代价高,可靠性缺乏足够保障。
本标准定义一种通用的可扩展的访问控制策略标记语XACML,支持多种访问控制策略类型,允
许用户自定义策略扩展,允许用户以一种实现无关的方式定义系统的资源保护策略并控制资源访问控
制决策的逻辑过程,实现安全策略定义形式和访问判定过程标准化。
VI
GB/T30281—2013
信息安全技术鉴别与授权
可扩展访问控制标记语
1范围
本标准规定了可扩展访问控制标记语(XACML)的数据流模型、语言模型和语法。
本标准适用于大规模分布式应用中资源统一访问控制策略语言的编写与分析。
2规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文
件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
IEEE754浮点运算标准(StandardforFloating-pointArithmetic)
IETFRFC822电子邮件的标准格式(StandardfortheFormatoArpaInternetTextMessages)
IETFRFC2253轻型目录访问协议(v3):UTF-8字符串表示辨别名(LightweightDirectory
AccessProtocol(v3):UTF-8StringRepresentationoDistinguishedNames)
IETFRFC2396统一资源标识符:基本语法(UniformResourceIdentifiers(URI):GenericSyn
tax)
IETFRFC2732文本IPv6地址在URL_b的格式(FormatforLiteralIPv6AddressesinURL's)
IETFRFC3280X.509PKI证书和CRL简况(InternetX.509PublicKeyInfrastructure
CertificateandCertificateRevocationList(CRL)Profile)
W3CXQueryl.O和XPath2.0函数与操作符(XQuery1.0andXPath2.0FunctionsandOpera
tors)
W3CXML模式,第1部分和第2部分(XMLSchema,parts1and2)
3术语和定义
下列术语和定义适用于本文件。
3.1
属性attribute
在谓词和目标中用于描述主体、资源、动作和环境的特征。
3.2
授权决策authorizationdecision
PDP依据适用策略产生的评估结果,该结果返回至PEP。
3.3
上下文context
决策请求和授权决策的规范表述。
3.4
上下文处理器contexthandler
将决策请求从原始格式的决策请求转换成XACML规范形式,并将授权决策从XACML规范形式
1
GB/T30281—2013
转换成原始应答格式的系统实体。
3.5
决策decision
规则、策略或策略集的评估结果。
3.6
决策请求decisionrequest
PEP发送给PDP的授权决策请求。
3.7
效果effect
规则条件满足时的预期评估结果,其取值为“Permit”或“Deny”。
3.8
环境environment
一组独立于特定的主体、资源或者动作且与授权决策相关的属性集合。
3.9
命名属性nameattribute
属性的特定实例,具体值取决于属性名、类型、持有者和属性颁发者。
3.10
义务obligation
由策略或策略集所定义,在PEP执行授权决策时应同时执行的特定操作。
3.11
策略policy
执行访问控制决策遵循的规则。由一组规则、一个规则组合算法标识和一组义务(可选)组成,是策
略集的组成部分。
3.12
策略管理点policyadministrationpoint
创建策略或策略集的系统实体。
3.13
策略组合算法policy-combiningalgorithm
用于组合多个策略的决策和义务的程序。
3.14
策略判定点policydecisionpoint
依据适用策略进行评估并产生授权决策的系统实体。
3.15
策略执行点policyenforcementpoint
发出决策请求并依据授权决策结果进行访问控制的系统实体。
3.16
策略信息点policyinformationpoint
产生并提供属性值的系统实体。
3.17
策略集policyset
包括一个由策略或者其他策略集构成的集合,一个策略组合算法和一个可选的义务集合。
2
GB/T30281—2013
3.18
规则rule
由一个目标、一个效果和一个条件构成,是策略的组成部分。
3.19
主体subject
参与者,其属性用于描述谓词。
3.20
目标target
由主体、资源和动作三者标识的决策请求集合,是对规则、策略和策略集适用范围的一种限定。
3.21
类型合一typeUnification
对两个类型表达式进行合一的方法。
4缩略语
下列缩略语适用于本文件。
PAP:策略管理点(PolicyAdministratorPoint)
PDP:策略决策点(PolicyDecisionPoint)
PEP:策略执行点(PolicyEnforcementPoint)
PIP:策略信息点(PolicyInformationPoint)
XACML:可扩展访问控制标记语(ExtensibleAcessControlMarkupLanguage)
XML:可扩展置标语(ExtensibleMarkupLanguage)
XSLT:可扩展样式表转换语(ExtensibleStylesheetLanguageTransformation)
SAML:安全断言标记语(SecurityAssertionMarkupLanguage)
XPath:XML路径语(XMLPathLanguage)
URT:通用资源标识符(UniformResourceIdentifier)
W3C:万维网联盟(WorldWideWebConsortium)
LDAP:轻量级目录访问协议(LightweightDirectoryAccessProtocol)
5XACML概述
5.1概述
如何实现大规模分布式应用中的信息资源的受控共享,实现基于策略的安全管理已成为信息安全
领域关注的重点之一。目前多数分布式应用仍然独立定义自己的安全策略并实施资源访问控制,不仅
无法获得一个完整的安全策略实施视图,而且安全策略的维护代价高,可靠性缺乏足够保障。因此迫切
需一种通用的策略描述语,允许组织有效地管理信息系统部件中安全策略组件的实施情况。由于
XML的句法和语义能很容易地进行扩展以适应安全应用的需求,并得到了几乎所有主流平台和T具
提供商的广泛支持,因此XML自然地成为了这种通用安全策略语言的基础。
5.2需求
描述信息系统安全策略的描述语言面临的基本需求是:
3
GB/T30281—2013
a)提供一种方法将单独的规则和策略组合成一个策略集,以便使其适用于某次决策请求;
b)提供一种方法来定义策略和规则的组合过程;
c)提供一种方法来处理具有不同能力的多个主体;
d)提供一种方法来基于主体和资源的属性进行授权决策;
e)提供一种方法来处理多值属性;
f)提供一种方法基于信息资源的内容进行授权决策;
g)提供一组逻辑和数学操作符来处理主体、资源和环境的属性;
h)提供一种方法来处理分布的策略组件,同时对策略组件的定位、检索和认证方式进行抽象;
i)提供一种方法来基于主体、资源和动作的属性快速地确定适用于给定访问操作的策略;
1)提供一个抽象层来将策略编写者同应用环境的细节隔离;
k)提供一种方法来指定一组随着策略实施而强制执行的动作。
5.3规则和策略组合
适用于特定决策请求的完整策略可能包含多个规则和策略。例如,一个个人隐私应用中,隐私信息
的拥有者能定义安全策略一些方面,而负责监护这些信息的机构能定义策略的另外一些方面。为了产
生一个授权决策,应能将这两个分离策略合并成一个适用于请求的单独策略。
XACML定义了以下三个顶层策略元素:
一〈Rule〉元素:包含一个布尔表达式,它能独立地进行评估,却不能独立地被PDP访问。因此,
该元素自身不能作为授权决策的基本单位。该元素能在PAP中独立存在,因此能作为策略管
理的基本单位,并被多个策略重复引用。
一〈Policy〉元素:包含一组<Rule>元素和一个指定的对<Rule>元素评估结果进行组合的方式。
它是PDP访问策略的基本单位,因此是授权决策的基础。
一〈PolicySet〉元素:包含一组〈Policy〉或其他<PolicySet)元素,和一个指定的对它们的评估结果
进行组合的方式。它是将多个分离策略合并成一个单独策略的标准方法。
5.4组合算法
XACML定义了一组能由RuleCombiningAlgld或PolicyCombingAlgld属性指定的组合算法。规
则组合算法定义了基于一组规则评估结果得到授权决策的过程。策略组合算法定义了基于一组策略评
估结果得到授权决策的过程。标准的组合算法如下:
—拒绝优先:如果一个(Rule)或〈Policy〉元素的评估结果为“Deny”,则无论任何其他〈Rule)或
<Policy)元素的评估结果如何,组合后的结果是“Deny”;
——允许优先:一个“Permit”评估结果将导致组合结果为“Permit”;
—首次适用:组合评估结果等同于第一个适用于当前决策请求的<Rule>,<Policy)或〈PolicySet〉
元素的评估结果;
—唯一适用:“唯一适用”算法仅适用于策略的组合。该算法产生的组合结果保证有且仅有一个
<Policy>或〈PolicySet)适用于当前决策请求,而这个适用策略的评估结果就是最终的组合决
策结果。如果没有任何策略或者策略集适用,则组合结果为“NoiApplicable”;如果多于一个
的策略或策略集适用,则组合结果为“Indeterminate”;
策略和策略集可能带有能够修改组合算法行为的参数。但是本标准中定义的组合算法都是无参数
的。必要时,用户能定义自己的组合算法。
4
GB/T30281—2013
5.5多主体
访问控制策略经常对多个主体的动作制定规则。例如,数额较大的金融交易需要多个具有不同能
力的用户主体批准。XACML允许在一次决策请求中有多个主体。属性“subject-category"用于区分
具有不同能力的主体。本标准为该属性定义了一组标准值,用户还能自定义属性值。
5.6基于主体和资源属性的策略
在XACML中,主体属性可以通过在请求上下文的<SubjectAttributcDesignator)元素来表示。该
元素包含一个用来标识属性的唯一资源名(URN)0另外一种方式是通过〈Attributeselector〉元素,该
元素包含一个Xpath表达式,可以用来从请求上下文中检索主体属性。
XACML定义了一种标准的方式来引用LDAP规范中定义的属性。这样做的目的是鼓励开发人
员使用标准的属性标识符。
在XACML中,资源属性可以通过在请求上下文的〈RcsourccAttributcDcsignalor〉元素来表示。
该元素包含一个用来标识属性的唯一资源名(URN)。另外一种方式是通过<AttributeSelector>元素,
该元素包含一个Xpath表达式,可以用来从请求上下文中检索资源属性。
5.7多值属性
常见的属性传输方式都支持多值属性。因此,当PDP检索一个命名属性的值时,结果可能有多个。
这样的多个值称为一个包。包与集合的不同之处在于:包能包含多个重复的值,而集合不能。有时,这
种情况对应一个错误;当且仅当规则中的任一属性值符合规则的要求,规则就被满足,
XACML提供了一组函数以便策略制定者能清楚地指定PDP如何处理多值属性。这组函数称为
“高阶函数”(见A.3)。
5.8基于资源内容的策略
许多应用要求访问时基于信息资源的内容进行授权决策。例如,一个常见的隐私策略的例子是用
户应能访问有关自己的纪录。这种情况下,策略应能引用信息资源中的主体。
当信息资源能被表示成XML文档时,XACML应能支持这种基于资源内容的授权决策。〈At-
tributeSelector〉元素中的Xpath表达式可以用来从请求上下文中的信息资源中提取数据。
如果信息资源不是XML文档,XACML应能引用资源的属性(见5.4)。
5.9操作符
为了实现授权决策,策略需要操作主体、资源、动作和环境的属性。在决策过程中,多种属性参与比
较和计算过程。例如在一个金融应用中,用户的可用资金额度等于用户的信用额度与账户余额的和。
这种情况需要对主体和资源的属性进行数学操作。
一个策略可能定义了允许执行某个操作的所有角色。策略评估过程需要检查策略中标识出的角色
集合与主体拥有的角色集合的交集非空。这种情况需要集合操作。
XACML给出了一组内置函数和一种添加自定义函数的方法。这些函数能通过<Apply>元素进行
嵌套已形成复杂的表达式。〈Apply〉元素的Functionld属性标识了能施加在元素内容上的函数。每个
标准函数都接受确定类型的参数,其返回值类型也是确定的。因此策略的数据类型一致性能在策略编
写或解析的时候进行。对请求上下文中的数据值和策略中期望的值进行比较能确保可预期的判定结果。
除了对数值类型和集合的操作符,本标准也定义了对日期、时间和时间长度类型的操作符。
本标准还定义了针对多种数据类型的关系操作符,这些数据类型包括RFC822和X.500命名形式、
字符串、URI等。
布尔操作符允许对规则中的谓词进行组合。例如,一个规则可能定义:只有在工作时间内且地理位
5
GB/T30281—2013
置在组织内的终端上发起的访问操作才被允许。
XACML借用了MathML:1\XQuery1.0以及XPath2.0中的函数表示方法。
5.10策略分布
分布式系统中,不同的策略编写者能制定自己的策略声明,并且在多个策略实施点进行实施。除了
有助于对独立的策略组件进行收集和组合之外,这种方法还有助于策略的及时更新,XACML并不规
定任何策略分布方法。PDP应对所收集策略的目标元素进行检查以确保处理中的策略是适用的。
(Policy)元素可以附着在其适用的信息资源上H,或者在一个或多个位置进行维护以便检索。在
这些情形下,适用策略可以被信息资源中的标识符或位置符引用。
5.11策略索引
为了方便管理和提高评估效率,整个组织的安全策略能表示成多个独立的策略元素。在这种情况
下,必须在策略评估之前鉴别和检索那些适用的策略声明并对其进行验证。下文提及的<Target)元素
就是为此目的而定义的。
本规则支持两种策略索引方法:
—策略声明能存储在数据库中。这种情况下,PDP应只从数据库中检索那些适用于当前决策请
求的策略声明。此外,PDP应按照本标准中定义的方式评估所检索策略和策略集的<Target)
元素。
-PDP能加载所有可用策略,并根据特定的决策请求上下文对其(Target)元素进行评估,以确
定适用的策略和策略集。
5.12抽象层
PEP可以有多种形式:例如,一个PEP可能是远程访问网关、Wcb服务器或电子邮件代理的一部
分。一个特定的策略可能需要在多个PEP中实施,因此需要给出一种XACMLPDP使用的规范化决
策请求和应答上下文形式。这种规范化形式称为XACML±下文,上下文中涉及的属性和元素集则构
成了抽象层。
遵守XACML规范的PEP能直接提交和接收XACML上下文格式的决策请求和应答,否则需要
一个中间步骤把PEP能理解的请求和应答格式转换成XACML上下文格式。
如果原始决策请求和决策结果格式是符合某个XMLschema的,XSLT能用来实现从原始格式到
XACML±下文格式的转换。
如果请求的资源是XML文档,则它可以直接包含在XACML请求上下文中或者为其所引用。通
过XPath表达式,策略评估过程能引用资源中的值。
5.13随同策略实施一起执行的动作
很多应用的安全策略指定了“必须”执行的动作和“可能”执行的动作屮的一种,或者两种为;
XACML通过〈Obligations〉元素来描述那些随着策略评估过程而“必须”执行的临时动作*。本标准没
有对这些动作进行定义,因此要正确地实施这种策略,PEP和PDP之间需要事先达成一致。除非PEP
能理解适用策略中的(Obligations)元素并履行其定义的所有动作,否则它将拒绝相应的资源访问请求。
6模型
6.1数据流模型
图1所示的数据流图显示了XACML域中的主要参与者。
6
GB/T30281—2013
图1XACML数据流图
该模型包括以下步骤:
1)PAP编写策略和策略集并提供给PDP。这些策略或者策略集代表了特定目标的完整策略。
2)访问请求者发送给PEP-个要访问资源的请求。
3)PEP将请求按照原有格式发送给上下文处理器,请求中可能包含主体、资源、动作和环境的属
性信息。
4)上下文处理器构造XACML请求并将其发送给PDP。
5)PDP向上下文处理器请求其所需的其他主体、资源、动作和环境属性。
6)上下文处理器向PIP请求上述属性信息。
7)PIP获得请求的属性。
8)PIP返回请求的属性给上下文处理器。
9)上下文处理器将所获得的资源加入上下文中(可选)。
10)上下文处理器将所获得的属性和资源(可选)发送至PDP,PDP评估策略。
IDPDP将包括授权决策在内的应答上下文返回给上下文处理器。
12)上下文处理器将应答上下文转换成PEP能理解的格式,并发送给PEP。
13)PEP完成规定的义务操作。
14)如果访问被允许则PEP允许对资源的访问,否则拒绝该访问(图1中未显示)。
6.2XACML±下文
XACML±下文将核心语言和应用环境隔离开。图2所示的灰色区域为XACML标准的覆盖范
围。XACML±下文由XML模式定义,描述PDP的输入和输出的规范表述形式。XACML策略中引
用的属性可能以XPath形式在上下文中表示,或者表示成主体、资源、动作、环境分別对应的属性指示
7
GB/T30281—2013
器和其属性标识、属性数据类型、属性发布者(可选)。具体的应用实施应对应用环境中的属性表达方式
和XACML±下文中的属性表达方式进行转换,但转换细节超出本标准的定义内容。一些应用如
SAML,能通过XSLT自动完成这种转换。
图2XACML上下文
6.3策略语言模型
6.3.1模型概述
如图3所示,策略语言模型的主要组件是:
——规则;
策略;
——策略集。
图3策略语言模型
8
GB/T30281—2013
6.3.2规则
概述
规则是策略的最基本单元。规则能仅限定于XACML域中的一个参与者。为了在参与者之间交
换规则,他们应被包装为一个策略。规则的组件主要包括目标、结果、条件。
规则目标
目标定义了资源、主体、动作、环境集合。
(Condition)条件元素能进一步增强目标建立的适用性。如果规则要应用到一个特定类型的所有
实体,则相关的实体将被目标忽略。PDP验证请求中的主体,资源,动作和环境属性是否满足目标中定
义的匹配。目标的定义是不连续的,目的是适用的规则能被PDP更有效的识别。
一个规则可以不包含目标元素。这种情况下,规则的目标和父策略元素的目标相同。
某些主体名称形式、资源名称形式和特定类型的资源是结构相关的。例如RFC822是针对主体的
结构化命名形式,而UNIX文件系统命名形式和URIs都是针对资源的结构化命名形式。XML文档也
是一种结构化的资源。
通常,在一个结构化的命名形式里的节点(不能是叶节点)的名字也是一个命名形式的合法实例。
非叶节点的主体名称只能在"match"操作中使用(如urn:oasis:names:tc:xacml:1.0:function:
rfc822Name-match),而不能在"equalw操作中使用(如urn:oasis:names:tc:xacml:1.0:function:
rfc822Name-equal),见附录Ao
结果
规则的结果表明了规则制定者对于规则评估为真的预期的结果。结果值可能为“Permit”或者“De-
ny"。
条件
条件描述了加在目标断言之上加强规则适用性的布尔表达式。
6.3.3策略
概述
一个策略由4个主要的部分组成:目标、规则组合算法标识符、一组规则、义务。
策略目标
XACML中的<PolicySet),(Policy)或者〈Rule〉元素包含—(Target)元素,该元素定义了应用策
略或者规则的特定主体,资源,动作和环境集合。〈PolicySet〉、〈Policy〉元素的〈Target)元素可能由
<PolicySet><Policy)的编写者定义,也有可能从包含(Target)元素的<PolicySet)(Policy)和<Rule>元素
的〈Target〉元素计算得出。
XACML并没有定义系统实体如何计算(Target),以下是两种可能被使用的方法:
一方法一:外部〈PolicySet〉、<Policy>的<Target〉元素通过计算内部〈PolicySet>、<Policy>和
<Rule>元素的并集得到;
—方法二:外部组件的〈Target〉元素能通过计算所有内部组件的〈Target〉元素交集得到。
两种方法的评估结果是非常不同的:第一种情况,外部组件的(Target)元素适用所有满足至少一个
内部组件(Target)元素的决策请求;第二种情况,外部组件的<Target)仅仅适用于满足所有内部组件
9
GB/T30281—2013
(Target)元素的决策请求。只有在目标数据模型相对简单的情况下,计算(Target)元素的交集才是实
际可行的。
假如策略编写者声明了〈Policy)元素的(Target)元素,则这个〈Policy)元素中的任何含有相同
(Target)元素的<Rule>元素将忽略掉(Target)元素。这些<Rulc>元素从包含他们的〈Policy〉元素继承
<Target)。
规则组合算法
规则组合算法定义了对规则评估结果进行组合从而产生策略评估结果的方法。PDP应答的决策
值是由规则组合算法计算的策略评估值。策略可以含有影响规则组合算法操作的组合参数。
义务
义务可以由策略编写者添加。
当PDP评估包括义务的策略时,它通过应答返回特定的义务给PEP。
6.3.4策略集
概述
策略集包含4个主要的部分:目标、策略组合算法标识符、策略集、义务。
策略组合算法
策略组合算法定义了评估策略集时组合策略评估结果的方法。PDP应答的决策值是由策略组合
算法计算的策略集评估结果。策略集可以含有影响策略组合算法操作的参数。
义务
策略集的编写者能为策略集增加义务。当PDP评估包含义务的策略集时,它通过应答返回给PEP
特定的义务。
7策略语法
7.1<PolicySet)元素
(PolicySet>元素是XACML描述框架的顶层元素。〈PolicySet〉是其他策略集和策略的集合。策
略集可能直接使用〈PolicySet〉元素包含一个策略集,或者使用<PolicySetIdRcference>间接包含策略
集。〈PolicySet〉元素能使用〈Policy)元素直接包含策略,或者使用<PolicyIdRe£erence>间接引用策略。
(PolicySet>可以被评估,评估过程见9.110
如果<PolicySet)元素包含URL形式的其他策略和策略集的引用,那么这些引用应能被解析。
(PolicySet>元素包含的策略集和策略应使用由PolicyCombiningAlgld属性标识的算法组合起来。
所有的策略组合算法将其中包含的<PolicySet)元素看作<Policy)元素。如果〈PolicySet〉元素包含的
(Target)元素匹配请求上下文,那么〈PolicySet〉元素可能被PDP使用来产生授权决策。
(Obligations)元素包含义务集合,PEP在执行授权决策的同时应将它们一起执行。如果PEP不理
解,或者不能执行集合中的任何一个义务,那么PEP认为PDP返回了“Deny”授权决策。
(PolicySet)元素及其类型定义如下:
(xs:elementname="PolicySet"type—"xacml:PolicySetType"/>
(xs:complexTypename—"PolicySetType")
10
GB/T30281—2013
(xs:sequence)
<xs:elementre=nxacml:Description'1minOccurs=n0n/>
<xs:elementre=nxacml:PolicySetDefaults'*minOccurs=n0n/>
<xs:elementref=nxacml:Targetn/>
<xs:choiceminOccurs=n0HmaxOccurs=nunbounded1'>
<xs:elementref='*xacml:PolicySetn/>
<xs:elementref='*xacml:Policy1'/>
〈xs:elementref='*xacml:PolicySetldReference*'/〉
〈xs:elementref='*xacml:PolicyldReference"/〉
〈xs:elementref='*xacml:CombinerParameters'*/)
〈xs:elementref='*xacml:PolicyCombinerParametersn/〉
<xs:elementre—”xacml:PolicySetCombinerParametersn/>
</xs:choice)
<xs:elementref=nxacml:Obligations'*min()ccurs=n0n/)
(/xs:sequence)
(xs:attributename="PolicySetld”type=Hxs:anyURIHuse="required”/〉
(xs:attributename="Version'1type=''xacml:VersionType'1default=n1.0n/>
(xs:attributename=nPolicyCombiningAlgIdntype=Mxs:anyURI'1use="required"/〉
(/xs:complexType>
(PolicySet)元素是PolicySetType复合类型,包含以下属性和元素:
PolicySetld[必需]
策略集标识符。PAP有责任保证PDP看到的任何两个策略都没有相同的标识符。这能通过
预定义的URN或者URI框架来实现。如果策略集标识符是URL形式,则它是可解析的°
Version[默认1.0]
策略集的版本
PolicyCombiningAlgid[必需]
组合〈PolicySet〉、<CombinerParameters)、<PolicyCombinerParameters)和(PolicySetCombin-
erParameters)元素的策略组合算法的标识符。标准的组合算法标识符见B9。标准的策略组
合算法见附录C。
(Description)[可选]
策略集的自由格式描述。
<PolicySetDefaults)[可选]
适用于策略集的默认值集。〈PolicySetDefaults)元素的范围是策略集内部。
(Target)[必需]
策略集适用的决策请求的集合。〈Target〉元素可能由策略集制定者制定,也能从引用的〈Poli-
cy〉元素的(Target)元素计算得出,计算结果是这些元素的交集或并集。
<PolicySet)[任意数量]
策略集包含的策略集。
(Policy)[任意数量]
策略集包含的策略。
<PolicySetldReference)[任意数量]
一个策略集的引用。被引用的策略集应包含在这个策略集中,如果是URL,则应是可解析的。
<PolicyldRefrence)[任意数量]
11
GB/T30281—2013
一个策略的引用。被引用的策略应包含在这个策略集中,如果是URL,则应能解析。
(Obligations)[可选]
包含〈Obligation〉元素集合。
<CombinerParameters)[可选]
包含一个〈CombinerParameter)元素序列。
<PolicyCombinerParameters)[可选]
包含一个〈CombinerParameter〉元素序列,这些元素和<PolicySet)元素包含的特定〈Policy)和
〈PolicyReference)元素相关。
(PolicySetCombinerParameters)[可选]
包含一个〈CombinerParameter〉元素序列,这些元素和〈PolicySet〉元素包含的特定
<PolicySet)和<PolicySetReference)元素相关。
7.2<Description>元素
(Description)元素包含对〈PolicySet)、<Policy)或〈Rule〉元素的自由形式的描述。其元素及类型定
义如下:
<xs:elementname=nDescription*'type=Hxs:string"/〉
(Description)元素是xs:string简单类型。
7.3<PolicySetDefaults〉元素
<PolicySetDefaults>元素定义应用到(PolicySet)元素的默认值,其元素及其类型定义如下:
<xs:elementname=nPolicySetDefaults"type=nxacml:DefaultsType1'/)
<xs:complexTypename=“DefaultsType"〉
<xs:sequence)
<xs:choice)
<xs:elementr
定制服务
推荐标准
- GB/T 36386-2018 微孔膜滤芯用卫生级过滤器外壳技术要求 2018-06-07
- GB/T 36378.1-2018 传感器分类与代码 第1部分:物理量传感器 2018-06-07
- GB/T 36382-2018 废汞触媒处理处置方法 2018-06-07
- GB/T 36384-2018 无机化工产品中汞的测定 原子荧光光谱法 2018-06-07
- GB/T 36381-2018 废弃液体化学品分类规范 2018-06-07
- GB/T 36388-2018 病媒生物综合管理技术规范 建筑工地 2018-06-07
- GB/T 36387-2018 病媒生物防制操作规程 船舶 2018-06-07
- GB/T 36379-2018 民间金融资产评价指标分类 2018-06-07
- GB/T 36383-2018 氯乙烯精馏过程中高沸物处理处置方法 2018-06-07
- GB/T 36385-2018 感光材料冲洗行业废液处理处置方法 2018-06-07