云敏自研基础模块之CBAC引擎介绍

序言

CBAC是“基于上下文的访问控制”(Context based Access Control)的英文首字母缩写,它是指云敏团队自研的一套以配置即代码为基础的高性能、可审计、可编程的分布式权限访问控制引擎,用于根据权限设置控制用户的操作,提升系统的安全性。

云敏自研基础模块之CBAC引擎介绍

一、访问控制概述

云敏自研基础模块之CBAC引擎介绍

访问控制是物理安全和信息安全领域的重要概念,它是指有选择性地限制对某个位置或资源的访问。而这里所说的“访问”可以包括消耗、进入或者使用。对某个资源的访问的许可被称为鉴权。

有效地进行访问控制,能够规避越权操作为系统安全性和使用体验带来的风险。诸如访问控制列表(ACL)、基于角色的访问控制(RBAC)都是我们常见的访问控制方式。

云敏自研基础模块之CBAC引擎介绍
云敏自研基础模块之CBAC引擎介绍

二、为什么要自研CBAC引擎?

云敏自研基础模块之CBAC引擎介绍

诚然,市面上有很多现成的访问控制系统,但这些系统往往都会有些功能方面的限制条件。比如上面提到的RBAC这种访问控制策略,最适合实现“只有甲方项目经理能够修改流水线”。但是如果我们期望使用访问控制规则实现“只有周五下午六点到七点之间可以启动部署流水线”,那么RBAC就无能为力了。因此,我们有必要回归到软件系统访问控制的本质上,实现一套通用的访问控制引擎,RBAC其实就是这个引擎中所配置的策略之一。

云敏自研基础模块之CBAC引擎介绍
云敏自研基础模块之CBAC引擎介绍

三、CBAC是如何被设计出来的?

云敏自研基础模块之CBAC引擎介绍

在软件系统的访问控制中,我们往往能够使用这样的句子来描述:

当满足 <某种关于用户、服务器的约束>,允许 <某种访问> 进行。

比如:

  • 当用户年龄满18岁,允许进入游戏

  • 当用户使用谷歌浏览器,允许获取短信验证码

  • 当服务器内存占用超过50%,允许执行内存回收

  • 当访问的服务器位于北京,允许购买华北机房的服务器

  • 当用户角色是系统管理员,允许修改系统设置

这些描述的背后,暗含了三个重要的要素:

  1. 上下文:当前访问环境的即时状态信息,既包括客户端上下文(当前用户、角色、浏览器等),也包括服务端的上下文(当前服务器的硬件基础设施、操作系统、软件等)

  2. 访问控制策略:依据上下文和约束条件进行鉴权结果计算的算法

  3. 访问:每一种访问都是包含了所使用的控制策略的约束条件输入

因此,我们有了一个公式:

鉴权结果 = 控制策略(上下文,访问约束条件)

根据这个公式,我们便得到了这个模型:

云敏自研基础模块之CBAC引擎介绍
云敏自研基础模块之CBAC引擎介绍
云敏自研基础模块之CBAC引擎介绍

四、实现可配置性和可编程性

云敏自研基础模块之CBAC引擎介绍

可配置性和可编程性是CBAC的核心基础,只有这样,CBAC引擎才能根据不同的需求配置不同的访问控制策略。为此,我们的CBAC引擎构建于云敏流水线的另一个基础模块“配置即服务”(后序文章会为陆续介绍),同时技术选型采用Node.js作为开发语言。

我们先将js脚本嵌入到了YAML配置文件中,以rbac策略的配置为例:

云敏自研基础模块之CBAC引擎介绍

而要让这段字符串可以执行,我们使用了Data URL机制,直接将字符串转变为es模块。

云敏自研基础模块之CBAC引擎介绍

最后,将整个鉴权机制封装成服务,我们便得到了一套高性能、可编程、高可配置的访问控制引擎!

云敏自研基础模块之CBAC引擎介绍
云敏自研基础模块之CBAC引擎介绍

总结

CBAC引擎为云敏流水线带来了巨大的便利,实现了快速的权限配置和鉴权机制,大大加快了开发进度,如果您对此感兴趣,或者想了解云敏流水线的最新进展,欢迎与我们取得联系。

云敏自研基础模块之CBAC引擎介绍

文章作者:李   淳

排版设计:王蔚棋

手绘插画:岳   媛

原创文章,作者:EBCloud,如若转载,请注明出处:https://www.sudun.com/ask/33155.html

Like (0)
EBCloud的头像EBCloud
Previous 2024年4月2日 下午3:28
Next 2024年4月2日 下午3:28

相关推荐

  • 如何在宁波搭建一个高效的网站?

    宁波,这座充满活力的城市,随着互联网的发展,越来越多的企业和个人都开始意识到拥有一个高效的网站对于业务发展的重要性。然而,在如今竞争激烈的市场中,如何在宁波搭建一个高效的网站却成为…

    行业资讯 2024年4月12日
    0
  • 关闭防火墙

    在当今网络安全加速行业中,有一个备受争议的话题——关闭防火墙。什么是防火墙?为什么需要关闭?关闭防火墙会对网络安全造成什么影响?如何正确关闭防火墙?关闭防火墙后如何保证网络安全?这…

    行业资讯 2024年3月19日
    0
  • 怎么查看被edge屏蔽的网站,edge怎么查看cookie

    5. 查看相关新闻:在互联网上搜索有关被Edge 阻止的网站的相关新闻。在某些情况下,有人可能会分享类似的经历并提出解决方案。 6.联系客户服务:如果您使用上述任何方法都无法确定网…

    行业资讯 2024年5月11日
    0
  • 公司网站建设,中核控制工程有限公司网页

    如今,随着互联网的发展,企业网页已成为企业广告营销的重要渠道。一个有效的企业网页不仅可以提高您的企业形象,还可以吸引更多的潜在客户。那么如何设计一个有效的企业网页呢?在设计阶段应该…

    行业资讯 2024年4月2日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注