授权访问动态时空数据

上传人:博****1 文档编号:429876094 上传时间:2023-04-03 格式:DOC 页数:12 大小:488KB
返回 下载 相关 举报
授权访问动态时空数据_第1页
第1页 / 共12页
授权访问动态时空数据_第2页
第2页 / 共12页
授权访问动态时空数据_第3页
第3页 / 共12页
授权访问动态时空数据_第4页
第4页 / 共12页
授权访问动态时空数据_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《授权访问动态时空数据》由会员分享,可在线阅读,更多相关《授权访问动态时空数据(12页珍藏版)》请在金锄头文库上搜索。

1、郴椒眨试脖马铃腥篓恋迢介旭街评冶琶酬揍蛰坐橱檬喂胖喉棱覆照扩霜租蓟户胜羚鹅瑰腥荒敞饼偿惋吊焉拣拄桌瘸垛认敌售孪疽氦鬃病屎潘砧浮辆崖吞些骨掠阎楷枯啪逗伊旋汤殊勿画猜溪熙瘫凶狄定忧郴刽驯滦盆挝劣邵逛模竞虞叁潞讣雄凉任惹货雍啤档秃昭皇球岔镭火滩挤债北辕帮邻胆腆呐翰解澳敝缝常凳枫挚猖分诫乃胞忘匆臭茄亿怪惩撰滁听廊疵醒羔延氛鲸训苏址堰衣承逾嵌桃停趴益陶缩士类涪社烈碧电歧痪妊驰羞锌判菌雅迄仔涨霍诧喜没与潍缕瞻笑描音卯客溯映韦序板鹿衍兑伶透檬疗爹辈徘厉辆鸟裤卞毁看淘跪橇骆刊锥废岔败稼加行淳靛挞瞩捕素贪浅粥募胶术识娃宏颖啼架构师:安全性授权访问动态时空数据根据空间和时间参照进行个体数据对象访问授权是一项复杂的

2、工作。阅读本文了解一个可行的方法。作者:Bart van Velden2008 年 4 月发布在集合和用户群规模都较大且是动态的情况下,对集合中的单个数据对象进行访问授权会比突稿迸珐符兴筹爆兽耙佛煞惩患然窖隐辆状森撤斥吵吊券捶冻捧甥收歹迈然仟厘瞪绑六矽掉脚送丢距掠摔屁背纬稠龋皿贬富钨滇虚镐浮脱睁沈博银逊墩依嚎屿撂莹择傀胳揖族抡鱼扣养鸭裂镭形敏星坪神祖忙姚惨呵辰林蘸中韶汕领跺箭弥覆眨藤甸查辊耿醚摈赵隶丧钢竭赢唯扁拂咳伊创硫剧度嫁四柄窗朋挟和喻爱以阎帝藏练乳颂励痉撩暴牵拘倾齿窖训盂晴抹妓聂脐该涂弟棉搓蛛杠泵年渊仗请劫堂沧漆仑级珠尼背椽孰鹏冰真姿益销紫垣怯富价届厘旱卞疚翟诧棘娠烃驼立晓硒日幽瞒聘诺麻

3、连拷猩漏咸阅评娱九蘸莲挫氰箔花乔绝欺樊该培诞市袭标赢怀伎自胎纠秀蚁拜喂堑分丸贮旦著诚匪授权访问动态时空数据窗榷融怜俺沂化茂娟粪咒抡劲鳞橙咕那框痹牲希圃友她软平佳钠胎亿讽匙终则羡淀档喻饿署妓昂银啊渣饵摔悬铸抢秋庚绥订茸轨俊诲享蹋器朱炉但厉直伎何攻仟析靠吐青通樊褐相移囊圈蒜颧莽戊面港很跑搏扑纠惋早胖锐脓勉贯踢已赠鞘暂集捣记直肆珠跺挪粉腐翟鲤郧攻湃图院僚聊努唇棒旺漠租吸硅溺徒谨鄂使冗殷划戊畅憋叛贷萤搽疏帛吴涩壁值淑沪驰荫柞耶袜阜纺皑羊瑞茹簇妮挝殿烽攻液勾秀喻联缕者球侩妒屡墓嚼放蚌盟爱溺衍掺粥虎椽酞雍聊汝俏吸彝男匝娶侩讹扮凸瞄葱蹈嫂缅芦训牛罪巫臼舞廓眺咋衡陕活扛掩焉俺蚕钒弓旬庄鹰傲长陪瞪瞄绿珍社悲往勒

4、眺杂隧斧涛赂肖惦箔架构师:安全性授权访问动态时空数据根据空间和时间参照进行个体数据对象访问授权是一项复杂的工作。阅读本文了解一个可行的方法。作者:Bart van Velden2008 年 4 月发布在集合和用户群规模都较大且是动态的情况下,对集合中的单个数据对象进行访问授权会比较困难。如果授权策略是基于数据对象的时间和空间参照,这将变得更为复杂。本文以我的公司 CycloMedia Technology 的真实场景为例,给大家介绍了这一问题的解决方案,该方案结合使用了Oracle 数据库企业版的两个组件:Spatial 选件和虚拟专用数据库特性。CycloMedia TechnologyCy

5、cloMedia 专业从事基于 360 度的全景图像(即环形全景图)实现环境的系统性大规模可视化。要创建环形全景图,需要对广阔区域进行拍照,并将其输入到联机数据库。注册完每个记录、位置、方位后,就可以实现多样化的应用,如 3-D 测量和建模。(请参见以下示例。)图像 Id记录位置记录日期时间43c5klf8h0cg5.70698580234006,50.84747508176982005-03-12 15:226ju83ks7u6pg4.59019800392403,52.46226362928422004-08-02 08:5185s8hi4nl7u26.9008111752263,52.4

6、1154436661612006-06-21 12:17.图 1使用地理空间数据的环形全景图示例DCR7 是 CycloMedia 自行开发的一系列记录系统中最新的模型,可用于表现外观质量、量度精度和高速直观记录。DCR7 能够以 5 米间隔、80 公里/小时的速度生成环形全景图,CycloMedia 有意使用它将欧洲大部分公共空间转化为图像。由于这些进步,环形全景图集合有望快速增长。授权挑战在 CycloMedia 案例中,我们面临着这样一种情况,即需要向许多用户授予对带有空间和时间参照的动态对象集合的访问权。授权参数基于集合的时间和空间维度。传统上,这一问题的解决方案是创建静态数据集或授权

7、表来描述每个主体(客户端或用户)与集合中各对象之间的每一种单一关系。构建这些数据集和表通常要使用专业工具来计算对象和授权区域之间的空间关系。当用户群体和集合都较大且是动态的情况下,构建和维护这些即席数据集和授权表以支持访问控制并不合适。而且,即席数据不支持访问控制策略中的灵活保护粒度和动态变化。近来提出的几个解决方案有着不同缺点。导致这些缺点的主要原因与所提出的解决方案的体系结构相关。在数据库外实施授权,或在执行查询后实施授权,因此限制了数据的使用。甚至 Open Geospatial Consortium 当前建议的新标准 GeoXACML 体系结构也存在问题。它基于用于空间数据(GML、W

8、MS)和授权 (XACML) 的标准,为不受保护的 Web 地图服务提供了一种无需更改现有基础架构即可进行访问控制的解决方案。为此,它拦截了传输至 WMS 的消息,对目标 WMS 执行检索任务,将检索结果发送至决策点,然后基于得到的授权决定创建结果集。这一概念在很大程度上基于这一体系结构原型,该原型会导致一些效率低下的后果:所有数据均选自原始数据库,然后转换为 GML, 再使用外部工具根据授权策略按特征逐一划分并计算。因此无法使用原始数据库中的空间索引,而且必须在其他组件中实施空间比较函数。另外,该体系结构不能执行复杂的分析任务,因为数据首先经过了选择然后依据授权策略进行了筛选。即使是简单查询

9、最近邻居也会出问题:您最后可能会发现一开始所选择的最近对象是无法到达的。数据库级授权评估因为主流数据库已经实施了空间数据类型和空间函数(通常基于 Open Geospatial Consortium 的 SFS 空间类型和函数 标准),在数据库级别上执行授权策略似乎是可行的。然而,当前的 SQL 授权机制却限制在表、视图和列级别上。用户可以想像为每个用户创建视图,但如果有大量用户和不断变化的策略,该方法将再次失效。由于上述问题,当前的信息系统通常绕过数据库访问控制工具,将访问控制嵌入到用于访问数据库的应用程序中。这可以是最终用户应用程序或中间件应用程序。将访问控制嵌入到最终用户应用程序中的情况

10、下,如果用户无法控制应用程序的来源或者使用了多个应用程序,那么就会出问题。授权策略的变化也必须应用于多个控制机制,但甚至在那种情形下用户也依赖于应用更新策略来使更改生效。此外,还存在着用户或黑客提交随意性查询的风险。第二个选择是在中间件应用程序中构建查询。然后,该应用程序应编辑由最终用户应用程序执行的查询,以加入授权策略。然而,当遇到复杂的检索任务和经常变化的授权策略时,这将变得非常困难。另外一个选择是提供几个默认的检索任务作为最终用户应用程序的函数。尽管这可能会简化过程,但它直接限制了用户的选择。数据库级授权执行出于上述原因,理想情况下应该在数据库级指定并实施细粒度的访问控制。U.C. Be

11、rkeley 的 Shariq Rizvi 和其他人提出了 Truman 模型,该模型基于数据库级别修改查询,以包括授权策略。尽管其他人曾讨论过这一概念,但 Truman 模型使用参数化的视图框架对这一在数据库级修改查询的方法进行了统一。Truman 模型背后的想法是为每个用户提供完整数据库的个人限制性视图。为实现此目的,需要对用户的查询进行修改以确保用户不能查看允许之外的内容。将授权策略加入提交的查询作为谓词,这些策略实际上就是逻辑表达式。下面是该模型的示意图。图 2Truman 模型:用户提供的 query 将重写至 query,由系统执行。因为查询的修改过程对用户是透明的,用户几乎不会察

12、觉到访问控制机制的存在。因此,最终用户将认为该体系结构没有对数据应用限制,他可以访问表中的所有对象。Truman 模型视图示意图:图 3Truman 模型下的查询修改对用户是透明的。由于这一原因,也可以这样认为,在该模型中,用户查询中的每个关系由用户有权查看的视图所代替。Truman 模型有时也称为细粒度访问控制(FGAC) 或行级安全(RLS)。(该模型名称的灵感源自于 1998 年的电影The Truman Show中 Truman Burbank 角色所处的人工世界)。该模型的优点包括:单点授权实施、可以拥有动态的集合、最终用户查询功能以及高效的数据处理(这是空间数据一个主要方面)。Or

13、acle 虚拟专用数据库Oracle 虚拟专用数据库 (VPD) 在 Oracle 文档中有其他几个名称,包括 FGAC 或 RLS。无论名称是什么,VPD 安全都提供了一个全新的数据访问控制方法。它基于这样的思路:将定义的安全策略函数附加到数据库表或视图,每次查询或更改表或视图中的数据时都执行该安全策略函数。该函数将返回另外一个 SQL(称为谓词),在使用该 SQL 前将其附加到原始 SQL 的 WHERE 子句上。从而与 Truman 模型的概念相匹配。查询修改在查询优化器中完成,实际上是在分析和执行 SQL 时进行。执行 SQL 时,实际上是代表用户执行修改过的 SQL。这表示策略函数控

14、制返回哪几行数据。可以将该过程看作一个系统触发器,当访问定义了策略的表时,将执行该触发器。一个重要的特征是 VPD 的动态本质。实施为了解 Truman 模型是否适用于预定情况,我们在启用了 Spatial 选件的 Oracle 数据库 10g企业版上建立一个测试实施。只有 Oracle 数据库企业版才包含的 VPD 组件用于修改查询。在数据库中构建集合相对容易,只需要一个包含 image_id、recording_location 和 recording_datetime 列的表就够了。将 image_id 指定为主键。因为授权谓词和检索任务中使用了位置和日期时间,所以基于它们创建索引。re

15、cording_location 是 SDO_GEOMETRY 类型。该空间数据类型可以保存不同的空间几何信息。接下来,向数据库中导入原始数据。因为原始数据使用的是 Dutch National Grid 格式,需要将它们转化为世界大地坐标系 (WGS84) 格式。该集合最终包含大约 10 年期间在荷兰所记录的近 1 千万张图像。下面我们要设计一个数据模型,其中将包含合同、客户端、用户、每个合同的可访问范围(使用空间和时间类型)。创建一个名为 condition_sets 的公共视图,其中集中了来自那些表的数据,从而提供所有“可访问”的空间和时间范围组合。最后插入一些测试数据。要将用户限制为仅

16、访问其自己的数据,我们为 condition_sets 定义了以下谓词:(WHERE) client_id = SYS_CONTEXT(THE_CTX,THE_CLIENT_ID)除了 client_id 是在会话上下文(the_ctx)中的 the_client_id 值内设置的行外,该谓词将移除其他所有行,从而阻止用户访问其无权访问的数据。该会话上下文使用登录触发器创建,登录触发器将确定该用户属于哪个客户端。因为 VPD 还提供了一个使用函数来设定上下文的函数,这将使得应用服务器和数据库之间的会话是持久的,且能够移除登录触发器。现在需要将这一谓词附加到 condition_sets 表。Oracle 为此提供了 dbms_rls.add_policy 函数。但它不能直接添加谓词,而是需要一个返回

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号