本文为您介绍基于实时数仓Hologres的简单权限模型。
背景
Hologres兼容Postgres,使用与Postgres完全一致的权限系统(简称专家模式,详情请参见专家权限模型)。典型的Postgres权限系统划分非常严格,在实际业务场景中使用时,操作较为复杂,通常存在如下痛点:
如果您想要给某个用户授权,需要执行大量的授权语句。
不同的角色有不同的权限,在操作上非常繁琐,有时也会出现某条授权语句遗漏导致某个权限缺失的情况。
每新增一个用户就需要执行相同的批量授权语句,浪费大量时间。
尽管我们提供了Postgres的标准授权语句作为参考,但当使用习惯不同时,面对不同的权限,常常难以准确执行正确的授权语句,在权限管理方面容易混乱。这在一定程度上也会给业务带来安全风险,同时也加大了您的管理成本、时间成本和使用成本。
为解决以上业务痛点,Hologres在PostgreSQL权限的基础上,提供了一种粗粒度的简单权限模型(Simple Permission Model,SPM)。简单权限模型以DB作为维度,划分admin(管理员)、developer(开发者)、writer(读写者)以及viewer(分析师)四种角色,您可以通过少量的权限管理函数,即可对DB中的对象进行方便且安全的权限管理。
简单权限模型介绍
在简单权限模型中,每个DB有如下几种权限等级:
DB管理员:{db}_admin
开发者:{db}_developer
读写者:{db}_writer
分析师:{db}_viewer
每个角色对应的权限如下表所示。
角色 | 权限 |
{db}_admin |
|
{db}_developer |
|
{db}_writer |
|
{db}_viewer |
|