Authing · 2019年09月03日

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关阅读

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

什么是 Authing?

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

<div align=center>Authing 在应用交互中的位置</div>

欢迎关注 Authing 技术专栏

Authing 社区

推荐阅读
关注数
2
文章数
42
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息