【应用安全】关于细粒度与粗粒度授权,您需要了解的内容

本文涉及的产品
访问控制,不限时长
简介: 随着云原生安全和软件零信任方法的重要性日益增加,有关云资源访问级别的问题变得越来越重要。同样重要的是理解不同授权策略的价值。

随着云原生安全和软件零信任方法的重要性日益增加,有关云资源访问级别的问题变得越来越重要。同样重要的是理解不同授权策略的价值。

在本文中,我们概述了细粒度和粗粒度授权方法。关键要点包括:

  • 粗粒度授权适用于更广泛形式的访问控制,例如侧重于角色的访问控制。
  • 细粒度授权实现了更高级别的特定性,这通常是确保更复杂和可扩展的云原生开发所需的。
  • 开放策略代理(OPA)和Styra声明授权服务(DAS)有助于实现正确级别的访问控制,同时自动化策略管理和实施,从而实现大规模的细粒度访问控制。

什么是粒度授权?

授权策略控制谁或什么可以在给定系统中做什么。授权决策的具体程度决定了所涉及的粒度级别。换句话说,更细粒度是指授权系统或网络中的特定用户或实体所需的更高级别的细节或上下文。

仅基于关联角色的授权策略通常是粗粒度的。然而,所需的详细信息和上下文的数量(如一天中的位置或时间)越多,粒度就越大。

以下是关键区别:

  • 细粒度访问控制是根据多种条件授予或撤销对关键系统和数据的访问的能力。例如,某个角色下的用户只有在公司工作至少一年后才能访问服务a。
  • 粗粒度访问控制在授予或拒绝访问时需要较低级别的特定性。例如,特定角色(例如工程或人员操作)下的任何用户都可以访问服务a。

RBAC与ABAC:有什么区别?

虽然基于角色的访问控制(RBAC)通常与粗粒度授权相关联,但基于属性的访问控制通常是一种更细粒度的方法,因为它使团队能够指定更精细的细节和关于允许访问哪些资源的上下文信息。

基于角色的访问控制(RBAC)

RBAC允许您将用户分配给角色,然后将角色映射到权限。您可以为管理员用户创建一个角色,为普通用户创建另一个角色。作为一个静态模型,RBAC更易于管理和配置,但由于它为特定角色中的所有用户提供了相同的权限,因此它可能不太安全。

然而,这种方法适用于不需要多层条件的情况。例如,企业使用角色为员工提供不同的访问级别:经理可以查看其团队成员的工资信息,但团队成员无法访问彼此的工资信息。

角色爆炸是一个挑战

粗粒度授权的挑战之一是其有限的灵活性和可扩展性。在RBAC模型中,每个角色都有自己的权限集。随着用户数量或工作职能的增加,管理部门可能需要创建新的角色和权限,而这些角色和权限不容易与以前的映射相匹配,这可能会给RBAC管理带来巨大的复杂性。

正如我们在2022年云原生对齐报告中所发现的,64%的开发者表示,云原生扩展的最大挑战之一是为IT管理设置适当的员工控制。随着资源或功能的增加,由于角色爆炸,管理这些角色变得更具挑战性。

要点:当您的组织需要更多的灵活性和可扩展性时,它需要转向更细粒度的授权方法,例如ABAC。例如,正如我们所讨论的,RBAC对于Kubernetes API安全性是不够的。要了解更多信息,请下载我们的白皮书。

基于属性的访问控制(ABAC)

基于属性的访问控制为团队提供了更大程度的粒度,因为它映射到用户的属性,而这些属性可能比角色更加具体和基于上下文。例如,您可以为用户、资源和操作分配属性,然后创建细粒度策略,允许特定用户组仅在一天中的特定时间访问特定资源。这类政策有助于确保员工在工作时间之外不会访问关键信息。

正如您所料,细粒度授权通常更安全,因为它缩小了访问范围。移除权限的灵活性对于最大限度地减少横向移动和数据泄漏的风险也至关重要。正如《2022年数据泄露调查报告》所指出的,当涉及到泄露的记录数量时,特权方可能会比局外人造成更大的损害。

另一方面,ABAC的缺点是管理和配置可能更具挑战性,因为它可能需要一系列更复杂的策略来规定用户获得资源和服务访问权限的条件。

想了解更多有关云原生应用的细粒度控件吗?立即观看Styra网络研讨会。

摘要:粗粒度与细粒度访问控制

在高度分布式和异构的云架构中,应用程序有不同的授权需求。细粒度控件与粗粒度控件之间的选择最终取决于手头的项目。

下面是一个快速分解:

 

  Coarse-Grained Authorization Fine-Grained Authorization
Level of granularity Less specificity is taken into account when determining who or what has access to resources  Multiple conditions determine access  
Flexibility Static authorization model that doesn’t always scale well, as it can lead to role explosion Dynamic approach that takes context into account for increased security
Example  Role-based access control (RBAC) Attribute-based access control (ABAC)
Use case Using employee’s job function to grant or deny access to salary information Access to data is limited according to employee’s location, budget managed or working hours 

在细粒授权和粗粒授权之间仍不确定?

您不需要在粗访问控制和细粒访问控制之间进行选择。使用OpenPolicyAgent(OPA)和StyraDAS实现云本地授权,您可以根据应用程序的独特需求实现RBAC和ABAC机制。作为开放策略代理(OPA)的控制平面,Styra DAS有助于大规模实施授权,因为它自动化了云原生环境中的策略管理。


Tags

本文:https://architect.pub/what-you-need-know-about-fine-grained-vs-coarse-grained-authorization

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
6月前
|
存储 大数据 API
大数据隐私保护策略:加密、脱敏与访问控制实践
【4月更文挑战第9天】本文探讨了大数据隐私保护的三大策略:数据加密、数据脱敏和访问控制。数据加密通过加密技术保护静态和传输中的数据,密钥管理确保密钥安全;数据脱敏通过替换、遮蔽和泛化方法降低敏感信息的敏感度;访问控制则通过用户身份验证和权限设置限制数据访问。示例代码展示了数据库、文件系统和API访问控制的实施方式,强调了在实际应用中需结合业务场景和平台特性定制部署。
1595 0
|
26天前
|
存储 安全 前端开发
OAuth 2.0资源授权机制与安全风险分析
OAuth 2.0资源授权机制与安全风险分析
21 1
|
5月前
|
存储 安全 数据库
实现精细的权限控制系统的方法与实践
实现精细的权限控制系统的方法与实践
|
6月前
服务网格中授权策略对性能的影响大吗?
在使用服务网格时,面对一些大规模集群,大家可能会担心:网格中授权策略内容过于庞大时,对网格代理的性能影响大吗?本文中我们就会给大家简单测试一下:不同情况下,授权策略中配置上万条IP时,对请求影响有多大? 结论:大多数情况下,对请求影响十分微小。
228 1
|
区块链 数据安全/隐私保护 安全
带你读《自主管理身份:分布式数字身份和可验证凭证》——第4章 SSI 记分卡:SSI 的主要功能和优点(2)
带你读《自主管理身份:分布式数字身份和可验证凭证》——第4章 SSI 记分卡:SSI 的主要功能和优点(2)
带你读《自主管理身份:分布式数字身份和可验证凭证》——第4章 SSI 记分卡:SSI 的主要功能和优点(2)
|
安全 数据安全/隐私保护 网络安全
带你读《自主管理身份:分布式数字身份和可验证凭证》——第4章 SSI 记分卡:SSI 的主要功能和优点(3)
带你读《自主管理身份:分布式数字身份和可验证凭证》——第4章 SSI 记分卡:SSI 的主要功能和优点(3)
带你读《自主管理身份:分布式数字身份和可验证凭证》——第4章 SSI 记分卡:SSI 的主要功能和优点(3)
|
数据安全/隐私保护 安全 供应链
带你读《自主管理身份:分布式数字身份和可验证凭证》——第4章 SSI 记分卡:SSI 的主要功能和优点(1)
带你读《自主管理身份:分布式数字身份和可验证凭证》——第4章 SSI 记分卡:SSI 的主要功能和优点(1)
|
数据安全/隐私保护
15-企业权限管理-方法级别权限控制
15-企业权限管理-方法级别权限控制
15-企业权限管理-方法级别权限控制
|
网络安全 数据安全/隐私保护 开发者
精准访问控制功能使用介绍|学习笔记
快速学习精准访问控制功能使用介绍
109 0
精准访问控制功能使用介绍|学习笔记
|
存储 安全 测试技术
【应用安全】什么是细粒度访问控制?(以及为什么如此重要)
确定谁可以和不能访问某些数据的最传统方法之一是一个称为基于角色的访问控制(RBAC)的框架。此方法定义公司内的特定用户角色,然后为每个角色指定权限。