背景
近期,业内数据安全事件频发,给相关企业造成了无可挽回的损失,更为数据安全防护意识薄弱的企业敲响了警钟。如何对公司内部数据最为集中的数据分析、数据服务、数据治理等各种数据类产品进行权限管控,已经成为数据安全建设中最为重要的任务。
如果从控制力的角度来进行划分的话,权限管控可以分为功能级权限管控和数据级权限管控。早期的数据安全产品大多使用传统的权限模型,只能实现功能级权限管控,无法进行数据级权限管控。基于数据类产品更高的安全要求,我们需要构建一个同时满足各类产品数据安全的平台。
为此,美团用户平台应用研发组不仅设计了能表达和管控各种复杂关系的权限模型,还针对事前、事中、事后等三个场景,分别设计了审批、权限、审计三个子系统以保障数据安全的完整闭环,进而满足数据安全的各种要求。
权限模型
传统的权限模型有ACL(Access Control List)访问控制列表,RBAC(Role-Based Access Control)基于角色的访问控制等。以上模型比较适用于应用类型产品的权限管控,而数据类型的产品对信息安全的要求更高,而且各类资源间的关系也更复杂,使用传统的模型难以将内部关系进行清晰的表达,所以我们在RBAC权限模型的基础上,扩展设计了新的权限模型。
ACL访问控制列表,用户与权限直接关联,直接维护用户与列表中资源的关系从而达到权限管控的目的。
RBAC模型则是角色与权限进行关联,用户成为相应的角色而获得对应的权限。
为什么要设计新的权限模型?
ACL模型是用户与资源直接建立关系,没有角色的概念。当某些用户需要一批同样资源的权限时,赋权操作就变得很复杂,此时这种模型就不太适应了。
RBAC模型引入了角色的概念,角色与资源建立关系。当某些用户需要一批同样资源的权限时,只需要构建一个角色并赋予使用这批资源的权限。当用户加入这个角色时,则拥有该角色的所有权限。解决了赋权操作复杂的问题。