写点什么

GaussDB(for Redis) 多租户:读写权限控制和数据库隔离的完美融合

  • 2023-07-26
    广东
  • 本文字数:1617 字

    阅读完需:约 5 分钟

GaussDB(for Redis)多租户:读写权限控制和数据库隔离的完美融合

本文分享自华为云社区《GaussDB(for Redis)企业级特性揭秘之多租户管理》,作者: GaussDB 数据库 。


华为云 GaussDB(for Redis)持续完善企业级增强特性,是名副其实的"Redis Plus",其中很经典的企业级特性是多租户能力,支持添加只读账号、读写账号,并且可约束每个账号可访问的数据库(DB)范围,避免误操作其他租户数据。该特性可以帮助企业在共享 Redis 实例的情况下,保护不同租户的数据安全,为企业的开发和管理提供便利。

哪些用户需要使用租户管理功能?


多租户是数据库用户刚需的一个功能,例如,企业中有两个业务部门 A 和 B,他们都需要使用 Redis 来存储自己的数据,如果不使用多租户权限功能,那么 A 和 B 的数据就会混在一起,这样就会存在数据泄露和误操作的风险。一旦使用了多租户管理功能,就可以将 A 和 B 的数据分别存储在不同的 Redis 实例/DB 中,并且对这些实例/DB 进行权限控制,从而保障数据的安全性和可靠性。


在数据库领域,多租户技术往往有以下一些标准属性:比如读写权限控制、跨 DB 鉴权隔离等等;而 GaussDB(for Redis)就是具备完善的多租户管理技术的一个典范,实现了读写权限控制和数据库(DB)隔离这两大特性的完美融合。

Redis 6.0 已具备 ACL 功能,为什么还要使用 GaussDB(for Redis)的多租户功能?


关于权限控制,开源 Redis 虽然在 6.0 新版本有 ACL,但只能设置为只读、读写,每个账号还是可以看到所有的 DB 的。这个设计比较鸡肋,跟数据库多租户的原理背道而驰。举个例子,业务开发小王应该用 DB1,但有天忘记 SELECT,不小心清库了小张的 DB0,导致生产事故。而 GaussDB(for Redis)的权限隔离就从根源上解决了这个问题,如小王被设置为只有 DB1 的权限而没有 DB0 的权限,那么即使他误操作也不会对 DB0 的数据产生影响。


此外,开源 Redis 的多租户功能只有单机才可以使用,一旦业务上量需要集群,多 DB 功能反而就不可用了,只剩一个 DB0;GaussDB(for Redis)基于自身天然的集群架构做了多 DB 增强,支持 6w+DB,同时可创建 200+个 ACL 子账号,满足多种业务场景的需要。



开源 Redis 6.0 和 GaussDB(for Redis)所具备的权限管理能力比较

功能听上去很全面,具体怎么使用?


GaussDB(for Redis)的租户管理功能需要用户在控制台的账号管理页面建立账号,并为每个账号设置 DB 的只读/读写权限,操作非常直观方便。例如,下图创建了账号 test123,具备读写权限,且只能访问 DB1、DB2。



账号建立好之后,用户可以直接在程序中使用“user:pwd”组合字串作为密码参数,并配置目标 DB 号,即可使用业务专属 DB。


下面以一个形象的例子来说明如何通过多租户管理功能来实现账户间的权限隔离。蜀国技术总监诸葛孔明需要为蜀国的用户和合作伙伴吴国的用户设计不同的 DB 权限,从而达到公有信息共享和机密信息保护这两个目的。


首先,他为刘备设置了所有 DB 的读写权限;为大将关羽和张飞设置了“桃园结义”DB0 和“华容道”DB1 和的读写权限,然后为秘书赵云设置了“长坂坡”DB2 的读写权限和其余 DB(除“桃园结义”DB0)的只读权限。至于吴国的合作伙伴,周瑜和黄盖被授予了“赤壁之战”DB3 的读写权限,而他们的主公孙权则被设置了“赤壁之战”DB3 的只读权限。


听上去是不是很复杂很难操作?其实 GaussDB(for Redis)的账号管理页面设计得很灵活直观,孔明可以通过点击“授权所有数据库”为刘备授权,又可以选择一个或者多个 DB 为关羽张飞授权,还能选择“未授权数据库”为赵云免除“桃园结义”DB 的只读权限,非常方便设置和后期管理。





总结


本文详细介绍了 GaussDB(for Redis)全面的多租户管理特性,并以几个生动的例子为例,阐明了开源 Redis 账号管理能力的不足,以及 GaussDB(for Redis)是如何解决这些不足的。在当前的大数据时代,GaussDB(for Redis)的企业级特性完美弥补了开源 Redis 的短板,为企业的数据安全保驾护航。

附录


• 本文作者:华为云数据库 GaussDB(for Redis)团队

• 杭州/西安/深圳简历投递:yuwenlong4@huawei.com

• 更多产品信息,欢迎访问官方博客:bbs.huaweicloud.com/blogs/248875


点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 2
用户头像

提供全面深入的云计算技术干货 2020-07-14 加入

生于云,长于云,让开发者成为决定性力量

评论

发布
暂无评论
GaussDB(for Redis)多租户:读写权限控制和数据库隔离的完美融合_数据库_华为云开发者联盟_InfoQ写作社区