GaussDB(for Redis) 特性揭秘:多租户管理

电子说

1.3w人已加入

描述

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

哪些用户需要使用多租户功能?

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

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

为什么选择 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 的短板,为企业的数据安全保驾护航。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分