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
GaussDB(for Redis)多租户:读写权限控制和数据库隔离的完美融合的更多相关文章
- springmvc 事务控制与数据库隔离级别
springmvc 事物传播与数据库隔离控制 http://www.cnblogs.com/yangy608/archive/2011/06/29/2093478.html 一.Propagation ...
- Oracle用户的单张表的读写权限控制
在oracle数据库的用户下,一张表需要做读写控制,只能读和写,不能删除和修改.开发人员开始想从用户权限上去实现. 经过一番讨论,判读从权限上去实现该需求是不合适的. 这个用户下很多表,根本不会被一个 ...
- Oracle 用户管理与权限控制
Oracle 用户管理与权限控制 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create ...
- redis密码设置、访问权限控制等安全设置
redis作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护,方法有2,如下. 1.比较安全的办法是采用绑定IP的方式来进行控制. 请在redis.conf文件找到如下配置 # If y ...
- ASP.NET Core 实战:基于 Jwt Token 的权限控制全揭露
一.前言 在涉及到后端项目的开发中,如何实现对于用户权限的管控是需要我们首先考虑的,在实际开发过程中,我们可能会运用一些已经成熟的解决方案帮助我们实现这一功能,而在 Grapefruit.VuCore ...
- mysq'l系列之10.mysql优化&权限控制
网站打开慢如何排查 1.打开网页, 用谷歌浏览器F12, 查看network: 哪个加载时间长就优化哪个 2.如果是数据库问题 2.1 查看大体情况 # top # uptime //load av ...
- 华为云PB级数据库GaussDB(for Redis)揭秘第八期:用高斯 Redis 进行计数
摘要:高斯Redis,计数的最佳选择! 一.背景 当我们打开手机刷微博时,就要开始和各种各样的计数器打交道了.我们注册一个帐号后,微博就会给我们记录一组数据:关注数.粉丝数.动态数-:我们刷帖时,关注 ...
- SpringCloud微服务实战——搭建企业级开发框架(二十八):扩展MybatisPlus插件DataPermissionInterceptor实现数据权限控制
一套完整的系统权限需要支持功能权限和数据权限,前面介绍了系统通过RBAC的权限模型来实现功能的权限控制,这里我们来介绍,通过扩展Mybatis-Plus的插件DataPermissionInterce ...
- 深度评测丨 GaussDB(for Redis) 大 Key 操作的影响
本文分享自华为云社区<墨天轮评测:GaussDB(for Redis)大Key操作的影响>,作者: 高斯 Redis 官方博客. 在前一篇文章<墨天轮评测:GaussDB(for R ...
- MongoDB 安全和访问权限控制
MongoDB的访问控制能够有效保证数据库的安全,访问控制是指绑定Application监听的IP地址,设置监听端口,使用账户和密码登录 一,访问控制的参数 1,绑定IP地址 mongod 参数:-- ...
随机推荐
- 初探富文本之React实时预览
初探富文本之React实时预览 在前文中我们探讨了很多关于富文本引擎和协同的能力,在本文中我们更偏向具体的应用组件实现.在一些场景中比如组件库的文档编写时,我们希望能够有实时预览的能力,也就是用户可以 ...
- log4j漏洞CVE-2021-44228复现-排雷篇
一.环境搭建(用相同的环境才能保证一定成功) 下载vulhub,其他环境可能存在GET请求无效问题: git clone https://github.com/vulhub/vulhub.git 切换 ...
- IOI2020 国家集训队作业 Part 1
日期不对,但要保证顺序正确方便查找少了啥题. 计算几何和实在不会的题没写. 9.20 CF504E Misha and LCP on Tree *3000 二分,hash,树剖 CF505E Mr. ...
- 谈谈SSO单点登录的设计实现
谈谈SSO单点登录的设计实现 本篇将会讲讲单点登录的具体实现. 实现思路 其实单点登录在我们生活中很常见,比如学校的网站,有很多个系统,迎新系统,教务系统,网课系统.我们往往只需要登录一次就能在各个系 ...
- SQL改写案例1
一开发哥们找我改写SQL,他写的逻辑始终不对,安排! -- 他写的SQL: -- order_id 是主键 with a as ( select str_to_date(regist_time,'%Y ...
- JS 树形结构 根据子节点找到所有上级
需求:是根据子菜单找到所有他上级菜单 进行面包屑的回显 要求子节点里包含父级id 代码如下: parentTree(arr, id) { //arr 所有的树数据 id 某个子节点的id ...
- 为什么 Django 后台管理系统那么“丑”?
哈喽大家好,我是咸鱼 相信使用过 Django 的小伙伴都知道 Django 有一个默认的后台管理系统--Django Admin 它的 UI 很多年都没有发生过变化,现在看来显得有些"过时 ...
- LabVIEW用布尔控件实现上升沿和下降沿触发
我们利用了第三方布尔控件来记录摇杆的高低电平状态,并和摇杆布尔控件组成布尔数组,转换成十进制数进行判断上升沿和下降. 上升沿触发.例如一开始第三方布尔控件为T,夹紧松开布尔控件为F,然后我这时把摇杆控 ...
- 【Android】实现连接SQLite并尝试进行增删改查
- keil 5 安装教程
一.下载 keil 官网 二.安装教程 1.开始安装 双击安装包,开始安装,直接下一步 2.勾选同意,下一步 3.选择软件安装路径,下一步 4.填写信息 可以随意填写,下一步. 5.等待安装 6.安装 ...