跳转到主要内容

粗粒度和细粒度访问控制之间的区别是什么?

细粒度访问控制是基于对单个数据资源的多个条件和/或多个权限来授予或拒绝对关键资产(如资源和数据)的访问的能力。另一方面,粗粒度访问控制是基于单个因素(即角色或权限)授予或拒绝对资源的访问的能力。

细粒度授权等同于基于属性的访问控制(ABAC)或基于策略的访问控制,而粗粒度访问控制等同于基于角色的访问控制。

为什么细粒度访问控制很重要?

细粒度访问控制非常重要,因为它改变了静态授权的规则,并实现了许多更敏感信息资产的安全共享。然而,这确实需要一个有效且经过验证的细粒度授权工具,如Axiomatics动态数据屏蔽解决方案。这可以通过一个例子得到最好的解释。

设想一个存档,其中保存了有关客户端的条目。大多数实际正文应与不同工作职能的工作人员共享。但是,没有所需授权的用户无法查看有关单个客户端的敏感元数据。

除非授权系统足够精细以过滤掉这些细节,否则所有条目都必须保持不公开,以保护数据的完整性。如果不能根据细粒度条件过滤出敏感的细节或整个条目,信息将无法共享。如果只能在目录级别上设置权限,则即使整个目录仅包含数百个用户未授权的文档中的一个,整个目录也将保持不受限制。

细粒度授权如何实现安全信息共享?

细粒度授权允许执行丰富的业务规则和授权策略。策略编写者可以创建复杂的规则和策略,这些规则和策略包含与时间、位置、角色、操作等相关的多个条件,这些条件将被强制执行。丰富的细粒度控件也可以应用于单个资源中。

让我们来看一个业务规则细粒度访问控制的典型示例。这可能发生在我们的任何保险公司客户身上,因为它涉及表中存储的资产:

  • 理赔员A在审查工资损失赔偿索赔时,可以从公司计算机查看合同持有人的姓名、社会保险号码和工资。但是,出于财务隐私的原因,不得披露发票费用。
  • 正在审核发票费用的理赔员B不应查看合同持有人的工资信息或社保号码。
  • 除非有明确的案例分配,否则调整人C只应查看分配给其部门的合同持有人、该部门的代理人或承包商的一般信息。

这些复杂的业务规则需要细粒度的访问控制,因为它们涉及具有许多列的表中的大型数据集,以及行和单元格级别的安全性。即使数据资源是粗粒度的,必须应用的规则也可以是细粒度的。

粗粒度与细粒度访问控制

选择何时使用粗粒度授权和何时使用细粒度授权类似于决定何时使用RBAC或ABAC。然而,当角色是应用于访问的唯一条件时,可以将RBAC和细粒度访问控制结合起来,但共享资源需要被屏蔽,如上面的保险公司示例所示。

在以下情况下选择粗粒度访问控制:

  • 组织中的角色数量是可管理的,可用于管理对敏感信息的安全访问和共享
  • 当对资源中的哪些数据没有限制时,允许的用户或计算机可以查看/访问

在以下情况下选择细粒度访问控制:

  • 在高度监管的行业中共享敏感信息资产
  • 跨地理边界共享可能影响出口管制的敏感信息
  • 数据安全限制正在减缓协作、业务和创新
  • 组织中的角色数量无法管理,无法管理对敏感数据的安全访问和共享
  • 对于资源中的哪些信息,允许的用户或计算机可以查看/访问存在限制

将细粒度授权连接到API网关

API是许多企业面向客户计划的核心。因此,API安全性是最重要的,尽管它经常被推到优先级列表的下面。向API网关添加一层细粒度访问控制可能是解决方案,因为它是外部化的,而是从业务策略服务器集中控制。由于担心安全性的时间减少了,可以将更多的时间用于开发以客户为中心的API。

我们的解决方案用于授权许多API网关中的数据,包括:

  • Apigee
  • Amazon API Gateway
  • Axway
  • Azure
  • CA API Gateway
  • Kong
  • IBM Data Power
  • Mulesoft
  • Oracle API Gateway
  • WS02