1. 前言
在《疾速开始 PieCloudDB》中,咱们理解了如何在 PieCloudDB 创立账号,进行数据上传、查问和邀请用户。本文承接《疾速开始 PieCloudDB》,将对管控平台如权限治理、内部接入等进阶操作通过实例进行介绍和演示。
2. 账户实体
PieCloudDB 以账户实体的模式是账户在数仓实例中具象体现,每一个 PieCloudDB 账户都领有四类账户实体,如下图所示。
其中:
- 用户实体 代表该账户下所有从属用户。用户能够创立并成为数据库对象的所有人,并通过权限零碎和角色将数据库对象权限下放给特定角色下的其余用户。
- 角色实体 能够实现零碎和数据库权限的调配,PieCloudDB 零碎中共有四个预设角色,咱们会在后续进行介绍。
- 虚构数仓实体 代表计算资源。有相干权限的用户,可在账户下创立提供计算反对的虚构数仓。
- 功能模块实体 为 PieCloudDB 数据性能的汇合,包含数据洞察、数据集成等。这些性能通过虚构数仓的反对,实现查问、ETL 等与数据相干的操作。
对 PieCloudDB 账户实体整体状况了一个大抵的意识后,接下来咱们深刻细节,进一步理解 PieCloudDB 权限零碎的外围:角色性能。
3. 角色
PieCloudDB 权限管理系统是以角色为治理单位的权限管理工具。
角色是用户权限概念的具象化,代表了权限的汇合。权限以角色的形式下放给各个用户。一个角色可对应一个用户,也可对应一类用户 。用户与角色并非一对一关系, 一个用户可被授予多个角色,而一个角色可被授予给多个用户。每个用户都会被赋予至多一种角色,每一种角色都有其对应的权限。
PieCloudDB 角色权限分为 数据库对象权限 和零碎权限 两局部。数据库对象权限对应账户内各角色的数据权限,且只有数据库对象所有者可治理相应权限。而零碎权限对应各角色管控平台的性能权限,其中包含计算资源的管理权限。
- 赋予与继承
继承是权限以角色的模式传递给另一个角色的动作。继承的角色在层级上要高于被继承的角色,且继承角色的权限与被继承角色的权限保持一致,意味着即便发出继承角色所继承的权限,该权限状态会与被继承角色保持一致,并不会被发出。一个角色能够继承另一个角色的权限。继承的权限即便被改变,状态也会与被继承角色绝对应的权限保持一致。继承关系使得各角色间出现一个角色层次结构。
赋予 是权限以角色的模式下放给用户的动作。领有角色管理权的角色,可将角色及其权限赋予给用户。
5. 零碎预设角色
PieCloudDB 中,每个账户都预设了四个角色:
- 一般使用者 是 PieCloudDB 预设角色中最根底的角色。每一位新用户在创立后都会主动被授予一般使用者角色,领有如拜访数据库、进行数据洞察等一些根底性能的权限。
- 用户管理员 继承一般使用者权限,次要负责用户及角色的权限治理,可邀请、增加、审核新用户、删除已有用户,有权创立、删除角色,治理各角色对应的零碎权限。
- 数据管理员 继承一般使用者,次要负责数据库对象权限、计算资源管理,有权应用数据集成性能。数据管理员能够创立、更改、删除和监控虚构数仓,除账户管理员外,其余预设角色只有权查问、应用虚构数仓。
- 账户管理员 是账户权限管理系统中等级最高的存在,继承数据库治理及用户管理员权限,也是账户的计费单位。账户管理员能够将权限以角色的形式下放给其余用户进行治理。
预设角色零碎权限详情及继承关系如下图所示:
这些预设角色不可被删除。在通常状况下,倡议零碎角色由不同用户承当,管理员类角色尽量应用 PieCloudDB 零碎预设角色。
6. 赋权步骤
在这一部分,咱们将从账户管理员起步,演示创建自定义角色的过程,具体步骤如下图所示。
假如账户管理员已将用户管理员及数据库管理员赋予了相应的用户,用户管理员可为新用户组建设自定义角色,并对该角色的零碎权限进行设置。
在自定义角色设立后,数据库管理员创立该角色所对应的数据库对象,并将相应的数据库权限赋予该角色,通过数据库权限这种形式来束缚相应数据的读写权。
零碎权限和数据库权限设置结束后,用户管理员再将该角色赋予用户组。角色权限管控下的用户组,可通过其对应的角色,在适当的权限条件下摸索数据。
7. 权限调配实例
假如某公司须要对某几类线上产品的销售额进行存储和剖析,销售额数据结构如图所示,这里的示例数据与《疾速开始 PieCloudDB》中示例的数据平行。
该公司的数据管理团队决定由 David、Betty 和 Charlie 三位负责管理这部分数据及其从属的权限,并反对业务部门的 Adam 进行销售数据分析工作。
首先,David 作为账户管理员,须要将用户管理员角色赋予 Betty。被赋予用户管理员权限后,Betty 再将数据库管理员的角色赋予给 Charlie。
各管理员角色就位后,Betty 为 Adam 创立其对应的角色。依据 Adam 的需要,Charlie 再为其角色创立对应的数据库对象,将这些数据库对象的权限调配给 Adam 的角色。角色权限设置实现后,Betty 最初将该角色赋予给 Adam。
通过相似的步骤,咱们能够依据每组用户如数据类型、性能需要等个性来创立对应的角色。
在本文的实例中,用户管理员 Betty 和数据库管理员 Charlie 能够通过同样的步骤为来自其余业务部门的 Ella 和 Fiona 建设相应的角色,并依照她们的需要赋予零碎、数据库对象权限。
Adam、Ella 和 Fiona 在「线上销售数据」数据库中的读取权限图示
在演示示例中,Adam、Ella 和 Fiona 都来自业务部门,所属团队的不同使得他们对数据权限及开发的需要各不相同。PieCloudDB 权限零碎能够使得这些用户以角色的模式,在各管理员的监督下,依据各自角色的权限,平安读、写所需的数据,并进行对应的清理、剖析与开发工作。
8. 管控平台实操 — 为 Adam 建设自定义角色
在这一部分,咱们将以用户 Adam 为例,演示如何创立、授予角色,并将相应的数据库对象权限授予给特定角色。
在《疾速开始 PieCloudDB》中,除账户管理员 David 之外,咱们还另外创立了三个用户:Charlie、Betty 和 Adam。David 登录管控平台后,点击菜单栏「用户」性能,能够看到该账户下目前共有 4 个用户。点击用户名称可查看各用户详细信息,包含授予给用户的角色。这里除 David 外,以后所有用户都是 Public 角色。
点击用户名称可查看各用户详细信息,包含授予给用户的角色。这里除 David 外,以后所有用户都是 Public 角色。
8.1 账户管理员指定用户管理员
第一步,账户管理员 David 须要将用户管理员角色授予 Betty。点击菜单栏「角色」性能,PieCloudDB 会以关系图和列表两种模式显示账户下所有角色。领有相干权限的用户可在该界面管理系统权限及角色继承关系。
「角色」菜单栏关系图模式:
「角色」菜单栏列表模式:
在 David 的账户中,目前只有四个零碎预设的角色。点击「usermanager」用户管理员角色,David 可查问以后该角色的零碎权限及数据库对象权限,也可点击「角色继承」在该界面查问角色的继承关系。点击「用户授予」,能够看到目前暂无被授予的用户。
点击上图中的蓝色按钮「授予给用户」,在「将被授予角色的用户」一栏抉择用户 Betty,再点击「授予」,将用户管理员授予 Betty。
除此之外,在角色已创立的状况下,David 也可通过用户界面,将用户管理员快捷授予给 Betty。
最初点击「授予」,即可快捷授予角色。
8.2 用户管理员指定数据库管理员
在被授予用户管理员后,Betty 即能够该身份登录管控平台,治理用户、角色及对应零碎权限。登录后咱们能够看到,用户管理员左侧的性能菜单栏多以「用户」、「角色」性能为主。
下一步,Betty 须要将数据库管理员授予 Charlie,并为 Adam 创立自定义角色「顾客数据分析」。用户管理员角色使得 Betty 有权创立、治理、删除角色。菜单栏点击「角色」,和 David 的步骤相似,Betty 点击「dbmanager」数据库管理员角色,将该角色授予 Charlie。
8.3 用户管理员创立新角色
点击右上角增加角色,输出角色名称等信息,Betty 即可创立自定义角色。
留神,所有自定义角色在不指认任何继承关系的状况下,默认继承 public 角色。
因为 Adam 有更改、上传客户信息的需要,咱们须要对应角色的零碎权限中减少数据导入菜单的权限。点击新建角色「顾客数据分析」,再点击「零碎权限」界面的「管理权限」,在「授予的权限」下拉菜单中抉择「数据导入」等五项权限,为 Adam 对应的角色减少应用导入菜单所需的零碎权限。
这其中,新添角色若想有权应用数据导入性能,则首先须要「数据导入菜单」的父级权限「数据集成菜单」,再将「数据导入菜单」权限赋予该角色。在角色领有相干菜单权限的根底上,给予角色「数据导入」性能权限,这样新添角色才能够应用「数据导入」性能进行数据上传。
除此之外,「导入工作详情」和「导入历史数据」权限能够赋予该角色查看导入历史及导入历史详情的权限。在管控平台中增加步骤如下图所示。
增加权限结束后,点击右下角的「更新权限」实现权限更新。
在零碎权限设置结束后,Betty 即可将该角色赋予 Adam。
8.4 数据库管理员为新角色创立、治理数据库对象权限
作为数据库管理员 Charlie 须要为 Adam 创立所需的数据库对象,并将这些数据库对象的权限下放给 Adam。除此之外,Charlie 还需为 Adam 创立计算所需的虚构数仓。
Charlie 登录管控平台后,先进入「虚构数仓」菜单,为 Adam 创立虚构数仓。具体步骤详见《疾速开始 PieCloudDB》。
胜利创立虚构数仓起初到数据洞察界面,创立所需的数据库对象,步骤与《疾速开始 PieCloudDB》中统一。
刷新数据库局部,能够看到新创建的数据库对象已更新。创立完结后,再到「数据集成」的「导入数据」界面,上传数据文件至对应的表中,这里的步骤与《疾速开始 PieCloudDB》中统一。
在上述过程中,数据库管理员 Charlie 为虚构销售数据创立了多个数据库对象。Charlie 能够应用「数据库」性能查问这些数据库对象的元数据,治理相干权限。在「数据库」界面点击须要查问的数据库、schema、表或者视图,即可显示数据库对象的字段信息以及权限列表。数据库对象的所有者可应用界面右上角的「受权」按钮,将数据库对象权限下放给其余角色。
留神,在 Charlie 不作任何受权动作的状况下,同一个账户下的其余用户都无法访问这些数据库对象。这里以 Adam 为例,当 Adam 登录并进入「数据洞察」界面,尝试查问顾客信息时,界面显示报错并提醒 Adam 并无相干权限。
数据库管理员 Charlie 能够应用「数据库」的「受权性能」,将数据库对象权限受权给特定角色,该角色下的用户才有权读或写这些数据库对象。对于 Adam 而言,他所需的数据如下图所示。
PieCloudDB 一共有三个层级的权限:数据库层、模式(schema)层及数据库对象层。
在权限设计中,Adam 领有销售数据的只读权及用户数据的读写权。为了让 Adam 取得绝对应的读写权,Charlie 需:
- 第一步将数据库的 Connect 权限授予「顾客数据分析」角色。
- 再将三个模式(schema)对应的权限授予该角色。
- 最初,依据理论所需的数据库对象,将相应数据库对象权限授予该角色。
这一部分的具体操作,请参考 PieCloudDB 权限零碎视频。这里以「服装产品数据表」为例,受权步骤如下图所示:
数据库对象的权限(如 create,connect,usage 等)概念与 PostgreSQL 平行,可参考 PostgreSQL 权限相干内容。
8.5 赋权实现
实现受权步骤后,David 账户下的四个用户通过角色性能,调整了权限构造。比照来看,David 领有账户下所有零碎权限,Betty 次要领有角色、用户及管理系统权限的权力,Charlie 在管控平台可应用的性能次要围绕数据库和虚构数仓,Adam 在一般使用者的零碎权限之上减少了应用「数据导入」性能的权限。
权限设置结束后,Adam 登录即可发现,菜单栏新增了「数据集成」性能。如 Adam 取得了一份蕴含新用户数据的文件,Adam 能够应用该性能,自行将新用户导入用户数据表中。
权限设置结束后,Charlie 和 Adam 都可通过各自的角色来与销售数据进行交互。这里以 Adam 为例,依照相应权限,Adam 可对顾客数据进行读、写等操作。
如下图所示,Adam 可依据本人的需要从顾客数据中读取数据,也可应用 insert 语句将新数据退出该表。
这里咱们用顾客 ID 验证一下新增的数据是否在顾客数据表中存在。
与此同时,并未被赋予数据库对象权限的 David 和 Betty 则无奈获取这些数据。这里以 David 为例,能够看到 David 无权读取顾客数据。
以上为 PieCloudDB 权限零碎介绍的所有内容,感谢您的浏览。欢送大家登录 PieCloudDB「云上云」版,开启属于本人的的数据探索之旅。