关于数据库:多模型构建的多层级权限管控体系

40次阅读

共计 2768 个字符,预计需要花费 7 分钟才能阅读完成。

在论述 CloudQuery 权限体系之前,想先跟大家分享下咱们团队在客户侧收集到了的一些实在场景与诉求:

- 对特定对象进行操作管控(SQL 命令)- 对某个字段实现准确动静脱敏
- 对某一条 SQL 语句进行准确提权
- 对高危命令进行拦挡
- 实现用户登录时的数据精准过滤
- 实现动静脱敏
- 实现数据导出的管控
- 实现后果集复制的管控
- 实现数据订正的管控
- 心愿能对数据库的拜访工夫做限度
- 心愿能对用户查问的行数,次数做限度

这些诉求涵盖了对数据库操作的权限治理、数据保护、拜访安全控制等,看上去这些需要如同比拟离散,但总结下来咱们能够将它们演绎为 「不同维度的管控需要」

那让咱们来回顾下 CloudQuery 社区版 1.x 系列是如何来满足这些需要的。在产品状态上,CloudQuery 1.x 系列将用户的管控需要对立称为“权限”。在「数据库连贯治理」模块之下,通过数据操作权限、工夫权限、受限资源权限、动静脱敏治理以满足用户不同的“管控”诉求。

然而,“权限”这个词蕴含了太多的需要,基于此前提,2.x 系列中,咱们心愿以更加具体、明确的形式来援用它。在 CloudQuery 权限概念上,通过采纳不同的“术语”来辨别这些权限需要,所以咱们设计了全新「多模型、多层级」的权限体系。

程序员眼中的 ” 权限 ” 有多种模型,包含 ACL、DAC、MAC、RBAC、ABAC,针对主体(人)与资源(数据库资源)不同模型对应着不同的交互体现。在进行权限革新之前,咱们围绕着管控需要、零碎菜单、性能菜单进行分类,拆分零碎与业务,并对 20 多种数据库的 SQL 语法和数据类型从新进行了整顿。

性能介绍

在 2.x 系列的产品中,咱们对业务进行拆分,将以往的权限治理分为两个不同的模块:数据库治理和数据保护,其中数据库治理又拆分成连贯治理与受权治理两局部,这样的拆分旨在实现更准确的管控目标。

连贯治理

连贯治理,是针对拜访数据库时创立的连贯进行治理。在连贯治理中,咱们减少了连贯管控与资源纳管。

  • 连贯管控: 通过对连贯的治理和管制,能够确定以后数据库是否容许建设连贯。这个维度确保只有通过受权的主体可能拜访数据库,从而保障数据的安全性。
  • 资源纳管: 对数据库中的资源进行纳管,将承载数据库对象的最小容易单位(schema)定义为纳管操作的最小单位资源。这样的定义有助于咱们以更精密的形式治理和管制数据库中的资源,并满足不同数据库类型和概念的管控诉求。

![在这里插入图片形容](https://img-blog.csdnimg.cn/90e6582c176d40bfba6ed27858bfd07a….)

受权治理

受权治理,则是针对咱们纳管的资源进行受权管控。值得注意的是,受权治理又分为 针对纳管资源的最大单位(schema)管控、针对最小单位(数据库对象)的细粒度受权。

  • schema 的根底设置: 咱们为每个连贯和资源分配惟一的标识符,以便在权限管制中精确定位和辨认这些资源。这些标识符能够包含测试环境标识、复核形式标识以及无权对象暗藏标识,以满足客户对不同管控形式的需要。
  • 平安设置: 对每个资源和数据库对象,咱们提供了丰盛的拜访策略设置。客户能够依据具体需要,为每个资源定义拜访策略,如限度查问、进行二次复核等。这样的平安设置使得客户可能实现对资源的精细化治理。
  • 操作权限等级: 咱们定义了不同的操作权限等级,以定义每个主体对资源的具体操作级别。大家能够发现 2.x 系列提供了默认的五个权限等级,包含无权限、仅拜访、仅查问、可编辑和可治理。默认的权限等级能够帮忙客户更不便地受权给不同的主体,也能够为咱们下一步受权革新提供根底的权限规范。
  • 细粒度受权: 在数据库对象层级,咱们能够针对用户调配不同的细粒度权限,包含查问、批改、增加、删除、导入和导出等操作权限。同时,也反对对单个用户或批量用户进行权限治理。

通过性能上的细分,咱们能够更加准确地治理和管制人员对数据库资源的拜访行为,确保数据的安全性和可控性。

值得一提的是,在 2.x 系列中,咱们对权限一词进行了简化,它仅代表数据库 SQL 操作的聚合以构建权限体系。目前,咱们公布了资源受权视图,并打算在后续版本中推出主体受权和我的项目封装受权,以满足更多的受权需要。咱们致力于晋升权限体系的齐备性和灵活性,以满足用户在数据安全管控方面的多样需要。

数据保护

在 2.x 系列产品中,提供了数据保护性能,旨在加强数据的安全性和隐衷爱护。

数据保护常常会波及两个关键词:数据脱敏和数据过滤。通常,数据查问后果以二维表的模式展现,其中类似类型的数据以列的形式存储。然而,数据保护的需要并不仅限于特定数据类型,而是实用于所有相干数据的展现和爱护。因而,咱们将对类似类型数据进行平安解决称为脱敏,而对相干展现数据进行平安解决称为过滤。

简而言之,脱敏关注的是表的列,而过滤波及表的行。咱们的数据保护性能正是基于这两个概念而设计的。

对于脱敏和过滤的实现,咱们采纳了两种技术形式,别离是前置规定和后置规定。前置规定应用 SQL 改写形式对数据进行解决,而后置规定则通过后果集命中形式进行改写。尽管后置规定绝对简略,但容易被绕过。因而,咱们倡议在应用时次要采纳前置规定,辅以后置规定来实现数据展现的爱护。通过这种组合形式,能更无效地确保数据的安全性。

在 2.x 系列产品中,具体实现了以下数据保护性能:

脱敏

  • 数据脱敏设置: 数据脱敏设置是一种后置规定,用于对后果集中的敏感数据进行脱敏解决,以爱护数据的隐衷。同时能够在数据脱敏设置页面中配置自定义的正则表达式,以命中并改写相干数据。
  • 字段脱敏设置: 字段脱敏设置是一种前置规定,用于在数据查问之前对特定字段进行脱敏解决,以爱护敏感数据的隐衷。用户能够抉择须要爱护的表、字段以及实用的脱敏算法进行配置。

过滤

  • 行过滤规定设置: 行过滤规定设置是一种前置规定,用于在数据查问之前定义规定以过滤掉后果集中的局部行数据,以爱护敏感信息和隐衷。用户能够依据特定条件设置规定,如条数限度、含糊搜寻、单条件过滤、多条件过滤等,实现对后果集中行的筛选和过滤。

总结

CloudQuery 2.x 系列通过多维度的权限体系,满足用户对数据安全治理和访问控制的需要。连贯治理和受权治理的拆分,实现对连贯和资源的管控与纳管,以及对资源的受权治理。数据保护性能包含数据脱敏和数据过滤,通过前置规定和后置规定对敏感数据进行解决和后果集的筛选。

这种多维度权限体系可满足各种离散的管控需要,实现数据的平安治理和访问控制。

另外,咱们将在 7 月 19 日(周三)晚 19:00 发展第一期 CQ 用户说栏目直播,邀请到 大型保险公司 DBA 王珂进行 CloudQuery 应用分享!直播将在 <font color=”#071d75″>bilibili(CloudQuery 询盾)视频号(BinTools 图尔兹) 进行,欢送大家预约观看~

点击图片进入流动页详情👇

正文完
 0