转载 | 术有专攻,谈一谈访问控制

2019-09-03 admin

说起访问控制,不同的人会有不同的理解。不过其最基本的解释,简单地讲,就是**“限制对资源的访问”**。然而,具体到我们各自的组织,要弄明白访问控制的实际意义,却远非说起来那么简单。

对于有些人来讲,只需基于用户身份验证机制有选择性地授予用户对账户的访问即可;对于有些人来讲,只需厘清用户角色即可;对于有些人来讲,只需控制好访问的许可即可。但对于另外一些人来讲,可能就需要对虚拟局域网进行锁定,这已经超出了用户的范畴,而是机器与机器之间的交互问题。

当然,还有很多的访问控制技术,并不是基于允许访问列表(即白名单)的访问控制,而是基于不允许访问列表(即黑名单)的访问控制,比如进行潜在流量过滤的WEB应用程序安全工具。

综上所述,访问控制在IT组织可以说是无处不在,并且在很多情况下又各有不同。

**具体到“访问策略”,大多数的访问控制方法都依赖于完全专业人士所制定的安全策略。**特别是白名单方法,该策略通常是由组织指定的。

黑名单则通常容易一些,因为对付不必要的访问(如恶意软件)通常不需要为每个用户设定个性化的访问控制技术。因此,尽管通过阻止一些不必要的访问的黑名单形式是一项非常棒的安全基准,但真正的访问控制通常只有通过基于组织特定的安全需求的附加的白名单才能够达成。

这正是访问控制麻烦的地方。在极端情况下,访问控制方法可以很简单、很流行并且可控,比如:

  • **基于身份识别的访问控制(IBAC):**请求者进行身份验证,通过验证获得所有访问权限,否则被拒绝访问
  • **基于角色的访问控制(RBAC):**请求者进行身份验证,并获得基于角色的访问权限;
  • **多层安全(MLS):**请求者拥有一定级别的身份标识,可以访问不高于其身份级别的分类资源。

这些方法的问题在于,其大部分对于组织至关重要的策略的实际执行都过于简单。例如,HIPAA法案要求,法案覆盖范围内的实体要努力限制自己“完成使用、披露、或请求目的的最低必要”。

这种通用的(我们称之为“高级”的)策略都是基于人类直觉的,使用的都是像IBAC、RBAC、MLS或列入黑名单之类的传统而又简单的访问控制方法,但却并不容易实现,。

相反地,这些通用的高级策略需要重新解读为可以在实际技术中实现的“低级的”、复杂的策略,比如“护士只允许查看其当前所服务的治疗医师所负责的患者的病历,并且该护士和患者应当属于同一病区”。这样的访问策略往往非常复杂、详细、包含动态信息和应用场景。

在过去的10到15年间,设计出了许多这样先进的访问控制方法来支持这样的复杂性。这些方法如属性访问控制(ABAC)——简单地讲,就是基于访问者、资源和场景的规则与属性来决定访问控制;风险自适应访问控制——基于风险计算实行访问权限变化的访问控制;还有基于邻近度的访问控制、基于业务流程的访问控制、基于历史记录的访问控制等等。

要弥补通用性高级访问策略和技术性可实现性低级策略之间的“语义鸿沟”通常是具有挑战性的。正确地实现这样的以及其他的先进访问控制策略需要很好地理解以下要点:

  • 当前日益复杂的安全策略需求及其对技术性访问控制实现的影响;
  • 越来越复杂的IT环境的影响,如云计算、物联网等访问策略;
  • 可用的高级访问控制方法所带来的好处与所面临的复杂性挑战;
  • 克服复杂性和动态性,管理高级访问策略的方法和流程;
  • 了解高级访问控制最适合的用例(如企业、大数据、云计算、物联网等)。

相关阅读

原文链接:https://www.aqniu.com/learn/1… 作者:nana 星期五, 三月 25, 2016

Authing 提供专业的身份认证和授权服务。 我们为开发者和企业提供用以保证应用程序安全所需的认证模块,这让开发人员无需成为安全专家。 你可以将任意平台的应用接入到 Authing(无论是新开发的应用还是老应用都可以),同时你还可以自定义应用程序的登录方式(如:邮箱/密码、短信/验证码、扫码登录等)。 你可以根据你使用的技术,来选择我们的 SDK 或调用相关 API 来接入你的应用。当用户发起授权请求时,Authing 会帮助你认证他们的身份和返回必要的用户信息到你的应用中。

Authing 在应用交互中的位置

欢迎关注 Authing 技术专栏

Authing 社区

[转载]原文链接:https://segmentfault.com/a/1190000020276230

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-74240.html

文章标题:转载 | 术有专攻,谈一谈访问控制

相关文章
nodejs搭建本地服务器并访问文件的方法
安装node:https://nodejs.org/en/download/ 在本地建立目录:f:/nodetest,在该目录下新建index.html作为我们将要访问的内容。新建server.js作为node开启的入口: $ cd f:&...
2017-03-13
2015年Web:追求原有“框架”外的新功能
Web目前正在经历一场巨大的变化,ServiceWorkers、传感器访问、推送通知等方式将打破Web原有的框架。而在2015年我们可以利用这几种方式快速的改变自己的网站。在不断增多的Web功能中寻求最合适自己的功能。 Web最初的设想是一...
2015-11-12
Web缓存基础:术语、HTTP报头和缓存策略
简介 对于您的站点的访问者来说,智能化的内容缓存是提高用户体验最有效的方式之一。缓存,或者对之前的请求的临时存储,是HTTP协议实现中最核心的内容分发策略之一。分发路径中的组件均可以缓存内容来加速后续的请求,这受控于对该内容所声明的缓存策略...
2016-01-13
javascript控制图片播放的实现代码
一般实现用鼠标控制图片的滚动效果都比较麻烦,大段大段的代码让新手头疼无从下手,下面我来写个简单的javascript控制图片滚动的效果。代码简洁明了,兼容ie、firefox和google浏览器。 分享代码如下: <!DOCTYPE ...
2017-03-29
使用iview的组件 Table 表格,有固定列,设置其中一个列适应屏幕大小
描述 在使用iview的组件Table表格时,有固定列,表格列宽不等。 在表格平铺时,不能自适应宽度。 问题 每个列有需要设置的宽度,有固定的列,很难调整某一列的宽度为刚刚好的。此时需要某一列自适应宽度。 解决 <template...
2018-09-28
有赞vant-ui Tabs、List、PullRefresh组件实践
功能需求是实现一个移动端的栏目列表切换,于此同时列表需要进行下拉刷新,上拉加载 如下图,大概是一个这样的东西 看起来是挺简单的,实现起来很方便。没错,我当时也是这么想的,结果满心欢喜就开始在前一个前端写好的的vantui 基本结构下开始编...
2018-08-21
js面向对象之公有、私有、静态属性和方法详解
现下,javascript大行其道,对于网站开发人员来说,javascript是必需掌据的一门语言,但随着jquery等框架的流行和使用,许多人对于原生javascript缺乏深入的理解,习惯了函数式的编辑风格,对于闭包、原型总是说不清道不...
2017-03-22
javascript实现控制文字大中小显示
部分网站内容页通常会看到有控制文字分别以 大,中,小 三种方式显示,下面就把这个小功能做一下记录,对提高网站用户体验度还是有一些帮助的哦! <html> <head> <meta http-equiv=&q...
2017-03-23
jquery使用animate方法实现控制元素移动
本文实例讲述了jquery使用animate方法实现控制元素移动。分享给大家供大家参考。具体分析如下: 通过jquery的animate方法控制元素移动,这里需要将元素的位置定义为relative, fixed, 或者 absolute! ...
2017-03-22
JavaScript实现获得所有兄弟节点的方法
本文实例讲述了JavaScript获得所有兄弟节点的方法。分享给大家供大家参考。具体如下: 这段代码先获得元素父节点,然后获得其父节点的所有子节点,然后删除自己便是所有兄弟节点 function sibling(elem){ var r...
2017-03-27
回到顶部