软考高级-系统架构师-访问控制XACML与RBAC
1.XACML
可扩展访问控制标记语言(XACML),
是一种在国际互联网上用XML语言来为信息访问表达访问控制策略的一种OASIS规范。
一旦配置好之后,XACML可以表达与传播规则和策略,这种规则和策略可以由访问控制机制用来决定对对象以及属性的访问。 — 来源于百度百科
XACML的配置文件如下图所示:
关于什么是OASIS规范?
OASIS(结构化信息标准促进组织,Organization for the Advancement of Structured Information Standards)是一个推进电子商务标准的发展、融合与采纳的非盈利性国际化组织。相比其他组织,
OASIS形成了更多的Web服务标准的同时也提出了面向安全、电子商务的标准
,同时在针对公众领域和特定应用市场的标准化方面也付出很多的努力。自1993年成立开始,OASIS已经发展成为了由来自100多个国家的600多家组织、企业,参与人数超过5000人的国际化组织。— 来源于百度百科
系统参数(进一步理解什么是XACML):
XACML可扩展的访问控制标记语言是由OASIS组织开发,采用XML表示的访问控制策略语言。XACML策略语言允许管理员定义访问控制需求。XACML还包括一种访问决策语言,用于描述对资源运行时的请求。当确定了保护资源的策略之后,函数会将请求中的属性与包含在策略规则中的属性进行比较,最终生成一个许可或拒绝决策。简言之,XACML是一种新的用于管理策略和访问控制的标记语言,同时又是一种通用的访问控制策略定义语言,提供一整套语法(使用XML定义)来管理对系统资源的访问。
相关概念:
在XACML中列出的访问控制是一个四元组,这个四元组的分量包括以下内容:
- 主体:可以是一个用户ID,一个角色或者一个组。例如“只有职位在部门经理以上的人员才查看这个文档”。
- 目标对象:可以是单个XML文档元素,一个设备或者一个文件。
- 动作:允许的动作包括读、写、创建和删除。
- 规定:是一个动作。这个动作在XACML规则被激活时必须执行;这个动作可能会发送一个警告来请求额外的证明书或者开始一个登录过程。
XACML的组成:
XACML访问控制模型由策略执行点(PEP)、策略判决点(PDP)、策略管理点(PAP)、策略信息点(PIP)、主体(Subject)、资源(Resource)、环境(Environment)等组成。图1所示是XACML访问控制模型架构中各主要单元及相互间的关系。
- 策略执行点(PolicyEnforcement Point PEP):是在一个具体的应用环境下执行访问控制的实体,将具体应用环境下访问控制请求转换为适应XACML要求的策略请求。然后根据决策请求的判决结果执行相应的动作,如允许用户请求和拒绝用户请求等。
- 策略决策点(PolicyDecision Point。PDP)是系统中授权的实体,依据XACML描述的访问控制策略以及其他属性信息进行访问控制决策。
- 策略管理点(PolicyAdministration Point,PAP)是在系统中产生和维护安全策略的实体。
- 策略信息点(PolicyInformation Point,PIP),通过他可以获取主体、资源和环境的属性信息的实体。
XACML有如下优点:
- 安全管理员只需对访问控制策略描述一次,不必在不同的系统中使用不同的应用程序策略语言重写多次。
- 应用程序开发者不必开发自己的策略语言和编写支持它们的程序,他们可以重复使用已有的和标准化的程序。
- XACML能适应大多数访问控制策略的需求,当新的访问控制要求出现时,只需要加入策略,不必修改应用程序。
- 单一XACML策略能应用于多个资源,这有助于在为不同资源编制策略时,避免不一致性和重复劳动。
- XACML中一个策略可以引用另一个策略。
2.RBAC
RBAC(Role-Based Access Control)即:基于角色的权限控制。通过角色关联用户,角色关联权限的方式间接赋予用户权限,使用角色的方式赋予权限方便扩展,当某个权限进行改变后只需要调整角色即可用户不做任何调整。
你可以通过这篇博文了解该知识点:https://www.woshipm.com/pd/1150093.html
3.DAC, MAC, RBAC, ABAC
这里简单介绍一下MAC的方式,MAC的授权方式是用户和对象都具有权限标识,只要当用户具备的权限标识达到对象的权限标识才可对对象进行相关的操作,这里的对象可以理解需要进行访问/操作的资源,如文件,比如在影视作品中我们经常能看到特工在查询机密文件时,屏幕提示“无法访问,需要一级安全许可”。这个例子中,文件上就有“一级安全许可”的权限标识,而用户并不具有。对于其他几种控制技术你可以通过这篇博文进行学习:https://juejin.cn/post/6844904056876433416
3.实例题
2011年案例题第5题:
问题1:对对称加密和公钥加密的机密性与完整性的实现过程进行简述即可(答案如下:)。
问题2:从授权的可管理性、细粒度访问控制的支持和对分布式环境三个角度分别答出XACML与RBAC的优点。
分析:题目中张工建议采用MAC,而王工建议采用RBAC+XACML方式,也可以从MAC的缺点入手。
- 从授权的可管理性
在授权可管理性上,采用MAC的方式进行授权比较复杂,麻烦不适合这种大型的企业级系统的安全管理,选择采用RBAC利用角色的方式,将用户和权限进行分离的方式比较合适。
- 细粒度访问控制的支持
RBAC+XACML的方式利用XACML提供统一的可扩展访问控制标记语言,表达策略能力强(XML方式),适合去描述各种复杂的和细粒度的访问控制安全需求,适合企业级复杂业务功能的访问控制。
- 分布式环境
安全管理员只需对访问控制策略描述一次,不必在不同的系统中使用不同的应用程序策略语言重写多次。XACML能适应大多数访问控制策略的需求,当新的访问控制要求出现时,只需要加入策略,不必修改应用程序。单一XACML策略能应用于多个资源,这有助于在为不同资源编制策略时,避免不一致性和重复劳动。XACML中一个策略可以引用另一个策略。
参考答案:
问题3:需要了解XACML结构图和了解PAP,PEP,PIP,PDP这几种策略点
根据下图,可以得出(1)为策略执行点,(2)为策略决策点,(3)为策略管理点,(4)为策略信息点。
策略 执行
点,重点在执行上,表示在一个具体的应用环境下执行访问控制的实体, 它接收外部的授权请求并生成
。
策略 信息
点,重点在信息上,表示通过他可以获取 主体、资源和环境的属性信息
的实体。
策略 决策
点,重点在决策上,进行相关决策,表示是系统中授权决策的实体
策略 管理
点,重点放在管理上,可以理解为管理各种策略,表示在系统中产生和维护安全策略的实体, 相应授权策略的响应。
参考答案:
软考高级-系统架构师-访问控制XACML与RBAC相关推荐
- 软考高级-系统架构师-案例分析-案例题2
案例题2~5都是选做题,选2道题进行回答,历年第二题主要考查了结构化设计(流程图,数据流图),面向对象(概念,UML等),数据库技术,WEB技术,分布式技术其中结构化设计,面向对象和数据库技术出现频率 ...
- 【转载】软考高级系统架构师论文,到底该如何写
前言 2020年参加了软考高级系统架构师的考试,那是我在考场上第一次写论文,2小时2500字+,最后得分56. 拿到成绩后写了一篇关于七天复习考过系统架构师的文章,作为一个自学者,深知网上系统架构师的 ...
- 软考高级-系统架构师-案例分析-案例题1
软考高级-系统架构师-案例分析题1必做部分主要考点就是质量属性,架构风格,软件架构评估,非功能需求.除了2013年(ESB总线),2014年(设计模式和MVC)没有考以外基本上都涉及到了,下面是我总结 ...
- 软考高级系统架构师是什么来头?考上了就能当架构师了吗
什么是软考 计算机技术与软件专业技术资格(水平)考试(以下简称计算机软件资格考试)是原中国计算机软件专业技术资格和水平考试(简称软件考试)的完善与发展.计算机软件资格考试是由国家人力资源和社会保障部. ...
- 软考高级系统架构师_考试介绍_以及考点_以及如何备考---备考笔记003
了解就可以了 了解就可以了 这个要知道,跟项目管理师是一样的考试时间 软考高级的考试标准程度很高 软考网站这个需要知道,收藏一下.
- 软考高级 系统架构师考试经验分享(2021年一次性通过)
简介 笔者从事前端开发工作,是2021年11月6号第一次参加的系统架构设计师考试.很幸运一次性通过.分数不算太高,分别是 51/50/46. 下面笔者来分享下系统架构设计师的考试经验.希望能对准备考试 ...
- 软考高级-系统架构师-案例分析-架构设计
本篇博文目录: 考点分析 一.软件架构风格 1.基本概念 2.真题案例分析 二.质量属性与架构评估 1.基本概念 2.案例分析 三.Web架构综合考查 1.Web服务器技术演变 (1) 负载均衡技术 ...
- 软考高级-系统架构师-第五章软件架构设计
本篇博文目录: 一.软件架构设计 1.软件架构的定义 2.体系结构设计(SA)与生命周期 (1) 需求分析阶段 (2) 设计阶段 (3) 实现阶段 (4) 构建组装阶段 (5) 部署阶段 (6) 后开 ...
- 软考高级-系统架构师-案例分析-架构设计真题考点汇总
2010年-2021年(不包括2019年和2020年)涉及到架构设计考点的有: 2010年题1,4; 2011年题1,4; 2012年题1; 2013年题1,4; 2014年题1,4; 2015年题1 ...
最新文章
- pytorch 模型可视化_高效使用Pytorch的6个技巧:为你的训练Pipeline提供强大动力
- Python自动化运维之函数进阶
- SQLSERVER2014的内存优化表
- HDU1166 敌兵布阵 [线段树模板]
- 为什么你学C++就那么难?
- 怎么在html中加入pjax,pjax加载多说的三种方法
- SQL服务器引擎---协议
- Tensorflow 循环神经网络 文本情感分析概述02
- 2.11_tree_树
- 目标检测——模型的快速验证
- 黑客如何让脚本定时执行
- vue-drag-resize + html2canvas合成图片并下载
- Spring Boot实现动态数据库配置
- 5. JanusGraph Schema和数据类型
- sony电视投屏android,Wow,将苹果Macbook投屏到索尼BRAVIA原来是这样玩…教程分享
- 小米神隐模式破解(反系统息屏后网络中断)
- 原来CSS可以添加多个阴影
- 帝国cms安装 mysql支持错误_帝国CMS安装时 mysql出错。
- 中国-东盟数字经济合作有韧性前景好
- 二维空间内,如何判断两条线段是否相交,相离,平行,重合,并求交点
热门文章
- Android手机的像素密度(dpi)计算
- 解决Element-ui中Table表格里的show-overflow-tooltip不兼容safari浏览器问题。
- 成都产科生产日记(十六)(建档、入院生产、上户、少儿互助金、疫苗、儿保)全...
- 微信春节大数据出炉:《三体》阅读量第一 ;曝iOS 17应用商店将向第三方开放;斯坦福大学推出DetectGPT|极客头条...
- ogr2ogr shp转换kml ERROR 4: Unable to open Contour_map.shx
- 再接再厉,一次性轻松通过CISA考试
- 题目23:你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
- android 天气动画,安卓实现旋转风车动画(仿华为天气预报)
- 三款“零差评”的手机推荐,入手不亏
- 使用PotPlayer出现屏幕倒转