Encryption 访问控制机制(如RBAC或ABAC)如何保护资源?

Encryption 访问控制机制(如RBAC或ABAC)如何保护资源?,encryption,authorization,access-control,xacml,abac,Encryption,Authorization,Access Control,Xacml,Abac,访问控制机制(如RBAC或ABAC)如何保护资源?我知道RBAC、ABAC等访问控制机制是如何工作的。换句话说,我知道访问控制引擎如何评估请求并做出决策(允许、拒绝等)。但是,我不知道他们是如何保护资源的 我的意思是,例如,ABAC如何执行拒绝决定 资源是加密的吗 或者它们存储在一个安全的数据库中 RBAC和ABAC以不同的方式实现相似的目标:访问控制 它们的原理是相同的:简化授权管理。不过,RBAC主要发生在您为用户分配角色和权限的管理时间。然后让目标应用程序根据用户拥有的角色和权限强制执行

访问控制机制(如RBAC或ABAC)如何保护资源?我知道RBAC、ABAC等访问控制机制是如何工作的。换句话说,我知道访问控制引擎如何评估请求并做出决策(允许、拒绝等)。但是,我不知道他们是如何保护资源的

我的意思是,例如,ABAC如何执行拒绝决定

  • 资源是加密的吗
  • 或者它们存储在一个安全的数据库中

RBAC和ABAC以不同的方式实现相似的目标:访问控制

它们的原理是相同的:简化授权管理。不过,RBAC主要发生在您为用户分配角色和权限的管理时间。然后让目标应用程序根据用户拥有的角色和权限强制执行授权。OAuth2和scopes采用类似的方法。这会导致耦合授权,因为授权由应用程序执行。您将得到类似于
的代码,如果UserInRole(r),那么

RBAC还需要角色工程,可以实现某种程度的静态职责分离(例如,买方不能同时是审批人)

在ABAC中,您可以清楚地将应用程序与授权逻辑分离。应用程序所做的只是调用一个策略决策点,返回许可或拒绝(根据标准)

体系结构如下(以及流程):


PEP或策略实施点通常是位于要保护的应用程序前面或内部的拦截器或代理。它可以是API网关,如Mulesoft或Servlet过滤器。它们通常非常容易写。(我就是在这里工作的)提供了几个SDK来帮助您无缝地完成这项工作。

RBAC和ABAC以不同的方式工作,以实现类似的目标:访问控制

它们的原理是相同的:简化授权管理。不过,RBAC主要发生在您为用户分配角色和权限的管理时间。然后让目标应用程序根据用户拥有的角色和权限强制执行授权。OAuth2和scopes采用类似的方法。这会导致耦合授权,因为授权由应用程序执行。您将得到类似于
的代码,如果UserInRole(r),那么

RBAC还需要角色工程,可以实现某种程度的静态职责分离(例如,买方不能同时是审批人)

在ABAC中,您可以清楚地将应用程序与授权逻辑分离。应用程序所做的只是调用一个策略决策点,返回许可或拒绝(根据标准)

体系结构如下(以及流程):


PEP或策略实施点通常是位于要保护的应用程序前面或内部的拦截器或代理。它可以是API网关,如Mulesoft或Servlet过滤器。它们通常非常容易写。(我就是在这里工作的)提供了两个SDK来帮助您无缝地完成这项工作。

除了@DavidBrossard关于RBAC和ABAC保护资源的精彩解释之外,我想强调的是,这两种机制专门用于访问控制,即请求者访问资源时的决策方式,但并不涉及消息级安全性

据我所知,您关心的是消息级或传输级安全。例如,消息加密、完整性、不可否认性等是消息级或传输级安全,不能直接使用RBAC或ABAC解决。这些是在访问控制机制范围之外管理的安全控制

例如,如果您希望确保以安全的DB和加密格式存储某些内容,则可以通过为写入此类数据(例如PCI相关数据)而定义的组织合规策略来控制这些内容

RBAC和ABAC是只能回答以下问题的机制:谁可以访问什么和/或在什么条件下访问?


如果我理解正确,希望能澄清。

除了@DavidBrossard关于RBAC和ABAC保护资源的精彩解释之外,我想强调的是,这两种机制专门用于访问控制,即请求者访问资源时的决策方式,但并不涉及消息级安全性

据我所知,您关心的是消息级或传输级安全。例如,消息加密、完整性、不可否认性等是消息级或传输级安全,不能直接使用RBAC或ABAC解决。这些是在访问控制机制范围之外管理的安全控制

例如,如果您希望确保以安全的DB和加密格式存储某些内容,则可以通过为写入此类数据(例如PCI相关数据)而定义的组织合规策略来控制这些内容

RBAC和ABAC是只能回答以下问题的机制:谁可以访问什么和/或在什么条件下访问?


如果我理解正确,希望能澄清。

谢谢@DavidBrossard。我知道ABAC和RBAC是如何工作的。但是,我不知道他们是如何保护资源的。他们只是做一个决定(例如,允许或拒绝)。他们是如何执行这样的决定的?就像我写的,RBAC让应用程序执行。ABAC定义了一个执行点,负责执行。谢谢@DavidBrossard。我知道ABAC和RBAC是如何工作的。但是,我不知道他们是如何保护资源的。他们只是做一个决定(例如,允许或拒绝)。他们是如何执行这样的决定的?就像我