零信托:为企业设计授权模型

2025-05-19 07:34来源:本站

  使用多个代码库构建复杂应用程序的企业需要确保合适的人员或服务只能访问他们所需的东西,而无需很难维护埋在应用程序中的代码。他们也不想管理繁琐的手动方式来跟踪访问逻辑的更改。围绕此逻辑的规则定期更改,新功能,法规等

  Cerbos首席执行官Emre Baran。

  可以定制基于代码的解决方案以满足业务需求,但是它们很难学习和耗时。企业的正确授权模型将根据组织的规模和所使用的应用程序类型而有所不同,但是所有企业都需要确保其选择的解决方案能够随着业务的增长而扩展。

  企业通常会选择设计一个与自己的层次结构紧密相关的授权模型,用户和权限反映了企业的结构。在短期内,这是有效的,但是在层次结构变化的情况下,这种缺乏灵活性通常会导致需要重新设计和重新实现该模型,这既昂贵又耗时。相反,对于企业,实施满足要求的关键建模概念可能是有益的,但是与现有的治理模型和内部政策相关联。组织可以选择两个流行的设计概念。基于角色的访问控制和基于属性的访问控制。

  你可能喜欢

  凭证合作的权威指南

  建立弹性的劳动力安全策略

  混合动力工作如何重塑公司安全

  基于角色的访问控制

  使用基于角色的访问控制(RBAC),可以根据角色定义访问权限,每个角色都包含一组特定的权利和功能。这使您可以轻松地根据需要添加和删除用户,而无需单独调整每个用户的权限。角色可以看作是过滤器;例如,应收账款角色将可以访问应收帐款工具和数据,而应付帐款的角色将无法访问。RBAC模型具有两种不同的方法。核心和分层。

  基于核心角色的访问控制

  Core RBAC由指定的管理员控制,该管理员负责定义零值网络访问(ZTNA)的用户,角色和权限。具有共同特征的用户被分组,然后分配一个角色,并带有一组特定的权限。然后,允许用户在此角色内执行一组特定的任务。

  在模型驱动的设计中,数据库用于描绘角色,权限,用户及其相关关联。它存储实体,并可以根据授权模型中的关系分配权限。企业还可以选择使用第三方应用程序,例如Active Directory或Auth0进行身份验证和授权。

  基于层级角色的访问控制

  分层RBAC可以是管理访问不同部门或业务部门的有用工具。它可以帮助消除可能由角色重叠引起的冗余,也可以帮助定义组织的结构。此外,分层的RBAC反映了组织的权威水平;确保用户在组织中的排名越高,系统中的访问权限越高。当父母角色具有许多子女角色时,它是一种非常有用的模型。

  模型驱动的设计也可以在分层RBAC中使用;通过在角色表中创建一个名为“父”的新列来得出亲子关系,或者创建将父子关系存储在此内的映射表。后者是更可扩展的选项,在管理数据时提供了更大的灵活性和更少的问题。

  企业还可以集成技术堆栈(第三方工具)以在其代码中实现RBAC。其中包括基于注释的权限,例如Spring Security或Cerbos,这是一种插件工具,可在多个部门和层次结构之间提供开源访问控制。

  基于属性的访问控制

  基于属性的访问控制(ABAC)是一个更灵活的访问模型,它提供了应用于对象属性的动态安全规则。它更复杂,但允许组织引入有用的措施,例如特定于位置的规则。授权是实时授予的,ABAC中的每个属性都是个体实体,由一个动态的键值对组成,可以更改以反映企业的灵活性。

  使用基于策略的语言(PCL)对ABAC进行交流,该语言是基于自然语言政策的。PCL有四个构建块,一个是“主题”,它是主动实体,并具有对“对象”(其他两个构建块)执行“动作”的权限。这三个组件构成了访问决定,“合格短语”(包括时间或位置信息)通常用于进一步影响决定。

  企业可以再次集成技术堆栈以设计基于策略的语言。JBoss Xacml和Spring Security的Xacml都使用可扩展的访问控制标记语言来定义和评估策略。Cerbos是一个提供上下文感知授权的开源访问控制,它允许企业对细粒度的访问权限进行建模。

  RBAC还是ABAC?

  基于角色的访问控制是具有明确定义群体的中小型企业的理想选择。实施的处理时间和资源要少,如果预算有限,则是一个不错的选择。基于属性的访问控制提供了更大的灵活性,但首先是资源丰富且耗时的。对于那些需要更多颗粒状和更快的权限供应速度或在多个位置,时区和安全间隙水平上运行的企业的企业来说,这是首选的方法。

  无论选择如何,企业都必须设计一个容易集成到现有系统的授权模型,并提供与组织适应和成长的授权模型。

  我们提供了最好的业务VPN解决方案

左文资讯声明:未经许可,不得转载。