马洁
(宝鸡职业技术学院 陕西 宝鸡 721000)
基于AWS的访问控制系统设计与实现
马洁
(宝鸡职业技术学院 陕西 宝鸡721000)
通过对XACML和Amazon Web Services云计算平台的研究,确定了时间属性、用户属性、动作属性等5个属性需求用以支持针对AWS的基于XACML访问控制系统的设计,根据AWS可接受的数据类型JSON以及用户信息采集方法确定了3个基本的系统模块:用户信息采集,分属性用户信息及XACML访问控制策略和JSON格式访问控制策略,最终实现系统设计。
访问控制;云计算;AWS;XACML;JSON
在云计算中用户访问云计算平台的过程实际上就是主体(云用户)访问客体(云计算平台)的过程。而所有用户的数据信息均存储在云计算平台中,也就是云计算服务提供商处,因此对于如何获取这些数据信息,也就是对于资源的访问控制成为了数据安全的重中之重。在云计算中应用基于 XACML(eXtensible Access Control Markup Language,可扩展访问控制标记语言)的访问控制可以提供多策略控制途径,在访问控制的前期,可以对用户进行细粒度的访问控制安全认证;在访问控制的后续工作中,又可以为整个云计算平台的数据系统提供高效的管理与保护措施;从而保证用户的数据信息在云计算平台中安全有效[1]。
1.1XACML
XACML(eXtensible Access Control Markup Language,可扩展访问控制标记语言)定义了一种通用的用于保护资源的策略语言和一种访问控制决策语言,并且与基于属性的授权机制相结合,可对资源进行细粒度的访问控制,为建立Web服务的访问控制模型提供了良好的技术支持,尤其是对于本身访问控制安全性并不十分出众的公共云服务。
1.2Amazon Web Services
Amazon Web Services是一组云计算服务,它们允许通过应用程序访问Amazon的计算基础设施,从主要功能来划分属于基础设施即服务类 (IaaS)。经过Amazon对于这个平台的调整与设计,它的泛用性以及易用性已经大大的提高了[2]。Amazon提供的几个云计算服务基本能够满足大多数应用系统的核心需求。它们包括存储、计算、消息传递和数据库。
云计算平台的资源拥有者对于其他用户使用自身资源的访问控制需求,即对于资源使用者的属性有哪些需求。按照目前的云计算平台发展程度、特点以及 Amazon Web Services平台的自身特点,用户界面中的属性可以分为以下5类,如图1所示。
图1 基于AWS的访问控制系统属性划分
1)时间属性
时间属性是对于云计算平台的资源拥有者来说很重要的属性之一,因为要想资源或者应用有较好的用户体验,则资源拥有者应当尽量在资源被使用的时候可是实时的监控资源的使用情况。但是用户的使用习惯各不相同,所以需要对资源使用者的使用时间进行规范,因此需要引入时间属性[3]。
2)用户属性
用户属性主要针对个别用户使用,资源拥有者需要填写完整的用户名用以确定用户权限。系统允许资源拥有者添加用户属性。该属性方法类似基于角色控制的访问控制方法,只不过在基于属性的访问控制中,用户名也作为用户的一个属性值出现。
3)动作属性
动作属性主要针对通过了访问控制的用户可以对应用进行的动作进行规范。包括三个选项,修改,使用,无(只读)[4]。这3个属性键值中,修改权限默认有使用及只读权限,使用权限默认有只读权限。
4)地点属性
地点属性主要针对用户登录的IP来判断用户登录地区,从而实现对用户的登陆地区的访问控制。该属性键值可选值最小到洲,即可以选择允许或者禁止某大洲的用户登录/使用/修改等。
5)数据流量属性
数据流量属性主要针对资源使用者使用的数据流量的多少来控制。资源使用者需要填写数据限额数,单位为 MB。默认状态为不限数据流量。
整个访问控制系统的设计由3个主要部分组成,首先是用户界面,其允许用户按照需求分类将自己的需求有选择的填写给系统,这部分主要将用户提供的信息捕捉;
其次是后台部分的用户信息与XML文件的信息生成,这部分主要实现将用户在用户界面提供的信息生成基于XACML规范的XML策略文件;最后是将XML数据转换成JSON数据,并将JSON格式的策略文件输出给用户[5]。
根据分析得出的用户需求以及提出的用于访问控制的属性,系统被划分为3个大的模块。
图2 AWS的基于XACML访问控制系统模块图
模块一:主要实现对用户需求确定的访问控制属性的具体信息的采集,通过用户界面上的下拉表单以及文本框来获取用户信息。对应模块一中的五个次要模块,又分为五个标签,每个标签对应需求中的不同属性需求。
模块二:主要实现使用在用户界面采集到的用户访问控制信息生成XACML访问控制策略。所有的XACML访问控制策略均根据模块一中的五个次模块限定好格式,因此模块二需要将用户界面采集的信息填入预存的策略文件中。并保存为XML格式的访问控制策略文件。
模块三:主要实现将上一模块中根据用户界面采集到的信息生成的 XACML访问控制策略由 XML格式转换为Amazon Web Services Management Console可以接受的JSON格式,并最终在指定路径输出一个 JSON格式的访问控制策略文件。
4.1信息搜集与XML格式转换
根据上文所述的模块划分,基于AWS的访问控制系统的实现也分为了3个模块,第一个模块是实现采集用户对于访问控制的需求信息。这部分主要使用java swing控件实现用户界面,并将用户界面采集的信息存储,用以提交给模块二使用。
模块二主要需要对用户界面中用户提供的访问控制信息进行采集,调用 getText()方法以及 getSelectedItem()方法对文本框以及下拉列表中用户信息的采集。并将数据传递给按照标准XACML格式编辑好的访问控制策略文档,从而在指定目录生成XML格式的访问控制策略文件。
模块三主要实现了将模块二中根据用户界面采集的信息生成的XACML访问控制策略文件由XML格式转换为Amazon Web Services Management Console可以接受的JSON格式,首先先从XML文档中解析出服务器需要接收到的信息,其主要功能由ToJsonSAXHandler类实现,ToJsonSAXHandler类继承了 DefaultHandler类,在解析XML的过程中负责处理SAX事件[6]。收集到了XML文件中的信息后,则需要将这些信息转换为JSON格式。并且最终生成并输出JSON格式的访问控制策略文件。通过采用Java其具体的实现部分关键代码则如图3所示。
这样就可以生成JSON格式的基于XACML规范的访问控制策略,从而应用到资源拥有者对于组授权的 IAM步骤中,从而完成了从用户填写属性键值到授权的过程,实现了之前设计的访问控制系统。
4.2基于XACML的访问控制策略创建
通过对PAP策略管理单元的创建,并为PDP部署策略。而其具体的部署流程则如图4所示。
而在创建中,需要对目标主体和目标课题进行分别的创建,以目标主体为例,对其进行的创建中需要定义其不同的属性、匹配函数、属性名,其具体的代码在为:
图3 XML格式与JSON格式转换
图4 访问控制策略流程创建
同时由于在该访问控制中其包含多个不同属性,因此,在对系统进行设计过程中,需要将不同的属性交付给生成的Target的构造函数,从而组成成不同的策略目标。其具体的实现代码为:
文中首先对用户需求进行了分析,确定了基于属性的访问控制策略需要使用的属性类型以及定义,并基于时间属性、用户属性、动作属性、地点属性、流量属性等共5个属性的分类以及用户信息采集、XACML访问控制策略文件的生成与XML至JSON格式的转换3个大的流程来对访问控制系统进行模块划分,从而更好地实现访问控制系统的设计。
[1]陈涛.云计算理论及技术研究[J].重庆交通大学学报,2009,9(4):101-106.
[2]姚学礼.基于内容过滤垃圾综述[J].计算机工程与应用,2010,12(23):34-39.
[3]ZHANG Deng-ke,WANG Xing-wei,YI Xiu-shuang.A spam sample feature selection mechanism improved by optimization algorithm[J].Journal of Northeastern University,2011,32(1):190-193.
[4]田明.云计算环境下的访问控制技术研究[J].计算机应用技术,2014,5(1):25-26.
[5]丁岳伟,高腾.多系统启动引导的研究[J].计算机工程与设计,2009,30(19):4549-4551.
[6]王修君,沈鸿.一种基于增量学习型矢量量化的有效文本分类算法[J].计算机学报,2007,30(8):1277-1285.
Design and implementation access control system based on the AWS
MA Jie
(Baoji Professional Technology Institute,Baoji 721000,China)
This paper studied the XACML and Amazon Web Services cloud computing platform,identified the five properties such as time property、user property,action property requirements to support for the AWS based on XACML access control system design.Based on the data type of the AWS acceptable JSON,user information acquisition method to determine the system module:Collecting user information,user Information and divide attribute of XACML access control and JSON access control strategy,finally designed the system.
access control;cloud computing;AWS;XACML;JSON
TN99
A
1674-6236(2016)06-0182-03
2015-05-13稿件编号:201505108
马洁(1980—),女,陕西宝鸡人,硕士,讲师。研究方向:计算机应用技术。