逻辑集群中的用户权限

举报
一只小蜜蜂 发表于 2021/04/17 15:48:57 2021/04/17
【摘要】 功能描述逻辑集群是基于NodeGroup机制来划分物理节点的一种集群模式。 GaussDB A通过逻辑集群管理,实现了在一个大的MPPDB物理集群中,将集群划分成多个小的逻辑集群,以达到逻辑集群间的计算和存储资源的隔离,并且用户数据互相隔离,同时也能保证在授权情况下的业务用户可以跨集群进行数据表访问。实现原理在每个逻辑集群内,客户可以独立管理业务资源,通过用户权限设置,实现逻辑集群内的资源隔...

功能描述

逻辑集群是基于NodeGroup机制来划分物理节点的一种集群模式。 GaussDB A通过逻辑集群管理,实现了在一个大的MPPDB物理集群中,将集群划分成多个小的逻辑集群,以达到逻辑集群间的计算和存储资源的隔离,并且用户数据互相隔离,同时也能保证在授权情况下的业务用户可以跨集群进行数据表访问。


实现原理


在每个逻辑集群内,客户可以独立管理业务资源,通过用户权限设置,实现逻辑集群内的资源隔离和逻辑集群间的数据互访。

对于每个逻辑集群系统,都相当于自主管理的独立集群,由多个物理节点组成,每个物理节点上有多个逻辑DN。这些逻辑集群共同使用相同的CN、GTM和CM等组件。

1.jpg


逻辑集群与多租户关系如下图所示:

2.jpg


多租户场景下,一个用户仅能绑定一个租户,而一个租户可以被多个用户绑定。既实现同一租户下,多用户协同处理同一业务(如图用户2和用户3),又实现不同用户访问相互隔离的逻辑集群资源(如图用户1和用户2)。


另一场景下,通过角色管理,在授权的情况下还可以实现跨逻辑群的数据互访(如图,逻辑集群2对用户1授权后,用户1可以访问逻辑集群2中的数据),实现资源的独立和按需共享,满足业务性能的最大化。


本例针对新建物理集群划分为逻辑集群,说明如何在逻辑集群中进行用户权限的控制。

本例新安装了6个DN节点的物理集群,如下图:

3.jpg

4.jpg

划分为2个逻辑集群,如下:

5.jpg

集群中用户、角色分布,如下:

6.jpg


user_lc_a与user_lc_a1绑定在逻辑集群LC_A上,user_lc_b绑定在逻辑集群LC_B上。2个逻辑集群中的数据库、数据表资源如下:


逻辑集群LC_A:

 

  • 用户user_lc_a1:

8.jpg


  • 用户user_lc_a:

9.jpg


逻辑集群LC_B:


  • 用户user_lc_b:

10.jpg


  • 逻辑集群LC_A中,有2个用户,分别为:user_lc_a,user_lc_a1。其中Schema下包含了一张t_lc_a的表格。
  • 逻辑集群LC_B中,有1个用户,user_lc_b。


按照逻辑集群功能,user_lc_b不能访问LC_A中的数据,user_lc_a与user_lc_a1无法访问逻辑集群LC_B的数据,并且user_lc_a1也无法访问user_lc_a的数据。

11.jpg

如上图所示,user_lc_b访问集群LC_A中的数据时,提示“ERROR:permission denied for relation t_lc_a”

12.jpg

如上图所示,user_lc_a1访问逻辑集群LC_A内user_lc_a的数据时,提示“ERROR:permission denied for relation t_lc_a”


逻辑集群内访问授权


对于每个逻辑集群系统,都相当于自主管理的独立集群,数据隔离与正常的独立集群一致。

本例中在逻辑集群LC_A中,表t_lc_a处于user_lc_a的schema,user_lc_a1无法访问表t_lc_a,如下:

13.jpg

如果用户user_lc_a1访问表t_lc_a,那么需要对user_lc_a1进行赋权:

14.jpg


逻辑集群内DML

本例中将Schema下的表t_lc_a的所有权限都赋给了user_lc_a1,用户user_lc_a1具备对表t_lc_a的所有权限,如下图所示,select、insert、update、delete对表的操作都可以正常进行。

15.jpg


1.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。