研究权限管理和访问控制实现原理的朋友都应该知道RBAC(Role Based Access Control),而OASIS(Organization for the Advancement of Structured Information Standards)是推动RBAC相关标准的积极组织之一。OASIS的XACML(eXtensible Access Control Markup Language),即可扩展的访问控制高标记语言是其中重要的标准。了解,并理解其中设计的机理对我们很有意义。本文是对OASIS“A Brief Introduction to XACML”一文翻译的草稿。写于此,希望可以帮助别人。
A Brief Introduction to XACML
一个XACML的简介
最近一次更新: March 14, 2003
摘要:
本文对XACML进行一个简要的介绍。如需对XACML作更多的了解,请访问OASIS的XACML技术委员会网站。
简要的说,XACML是一个通用的访问控制策略定义语言。XACML提供一套语法(使用XML定义)来管理对系统资源的访问。
XACML简介
XACML是一个OASIS标准。该标准是一个描述(访问控制)策略语言,同时也是一个描述访问控制判断请求/应答(request/response)的语言。当然,都是使用XML。策略描述语言用于定义通用的访问控制需求,包括若干标准扩展点来定义新的功能、数据类型、组合逻辑等。(访问控制判断)请求/应答描述语言使得你可以构成一个问询(query)来判断是否一个动作(action)被允许执行,并对结果进行解释。访问请求通常包括关于请求是否被允许的问题,这个问题中包括四个参数:Permit,Deny,Indeterminate(错误发生或需要的参数值不可用,无法进行判断)和Not Applicable(该请求无法被该服务器回应)
典型的机制是这样:当有人试图执行一项资源上的动作时。就会发出一个请求到事实上保护该资源(可能是一个文件系统或Web服务器)的那个装置,该装置被称为PEP(Policy Enforcement Point,策略强制执行点)。PEP会根据请求者的属性、请求资源、动作以及其它的附属信息来构成一个请求(request)。然后<