文档首页/ 云数据库 GeminiDB/ GeminiDB Redis接口/ 最佳实践/ 通过账号直达功能实现GeminiDB Redis实例的多租户管理
更新时间:2024-10-29 GMT+08:00
分享

通过账号直达功能实现GeminiDB Redis实例的多租户管理

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

应用场景

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

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

方案优势

关于权限控制,开源Redis虽然在新版本有权限控制列表(Acess Control List,简称ACL),但只能设置为只读、读写权限,每个账号还是可以看到所有的DB,这个设计跟数据库多租户的原理背道而驰。例如,业务开发小王应该用DB1,但有天不小心清库了小张的DB0,导致发生生产事故。而GeminiDB Redis的权限隔离就可以解决此问题,如小王被设置为只有DB1的权限而没有DB2的权限,那么即使误操作也不会对DB0的数据产生影响。

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

表1 开源Redis和GeminiDB Redis所具备的权限管理能力比较

Redis产品

是否支持账户读写权限控制

是否支持账户权限隔离

多DB是否支持集群

可支持DB数量

开源Redis

支持

支持

不支持

默认16

GeminiDB Redis

支持

支持

支持

默认1000

方案详情

GeminiDB Redis实例的租户管理功能,需要用户在管理控制台的账号管理页面建立账号,并为每个账号设置DB的只读/读写权限,操作非常直观方便。具体操作步骤请参考账号管理

账号建立好之后,用户可以通过auth USER PWD 或 auth USER:PWD的方式鉴权,并且通过SELECT DB访问到该账号所拥有权限的数据库。具体的使用步骤请参考文档开启账号直达DB

相关文档