全部產品
Search
文件中心

Hologres:基於Schema層級的簡單許可權模型概述

更新時間:Jun 30, 2024

本章節內容將會為您介紹在Hologres中基於Schema層級的簡單許可權模型。

背景資訊

即時數倉Hologres相容PostgreSQL,使用與Postgres完全一致的許可權系統(簡稱專家模式,詳情請參見專家許可權模型)。專家許可權模型授權較為細緻,在此基礎上,Hologres提供兩種簡單許可權模型供業務使用:
  • 簡單許可權模型(Simple Permission Model):簡稱SPM,該許可權模型授權是以DB為粒度,提供簡單方便的授權操作,詳情請參見簡單許可權模型
  • 基於Schema層級的簡單許可權模型(Schema-Level Permission Model):簡稱SLPM,該許可權模型基於Schema劃分,相比於簡單許可權模型更為細粒度,若是對許可權有嚴格劃分且又希望授權操作簡便可以使用該許可權模型。
    說明 Hologres管理主控台暫未提供SLPM授權操作,您需要使用串連工具對接Hologres執行個體後使用SQL命令進行授權操作。

基於Schema層級的簡單許可權模型介紹

當您開啟了基於Schema層級的簡單許可權模型時,每個DB會預設產生如下幾種許可權等級的使用者組:
  • 超級管理員:Superuser
  • DB管理員:{db}.admin
  • 開發人員:{db}.{schema}.developer
  • 讀寫者:{db}.{schema}.writer
  • 分析師:{db}.{schema}.viewer

每個角色對應的許可權如下表所示:

角色許可權
Superuser整個執行個體的管理員,擁有執行個體的所有許可權。
{db}.admin
  • 某個DB的管理員(admin)。
  • admin組的許可權是developer組、writer組及viewer組許可權的合集。
  • 某個DB的owner,可以刪除DB。
  • 可管理當前DB的{db}.admin、{db}.{schema}.developer、{db}.{schema}.writer和{db}.{schema}.viewer四個使用者組的成員,包括新增及移除使用者群組成員。
  • 可以建立使用者,並將使用者加入某個使用者組。
  • 可以在該DB建立對象,例如Schema,並可以對對象進行增刪改查。
  • 可以在DB層級修改DB的配置項。
{db}.{schema}.developer
  • DB下某個Schema的開發人員(developer)。
  • {db}.{schema}.developer組的許可權是{db}.{schema}.writer組及{db}.{schema}.viewer組許可權的合集。
  • 該DB對應Schema中,除系統對象以外的所有表、外表、類表對象(如視圖等)、Function、Procedure、Foreign Server、FDW、Type及Language的owner,可以增刪查改該Schema中的所有表。
  • 可使用DB層級的Foreign Server、FDW、Type及Language等對象。
  • 該Schema的USAGE及CREATE許可權,可以在任意非系統的Schema中進行建立表,建立視圖及建立外表等DDL操作。
{db}.{schema}.writer
  • DB下某個Schema的讀寫者(writer)。
  • {db}.{schema}.writer組的許可權是{db}.{schema}.viewer組許可權的合集。
  • Schema中所有表、外表及類表對象(如視圖等)的資料,即擁有SELECT、INSERT、UPDATE及DELETE等許可權。
  • 可以增刪查改該Schema下的對象。
  • 可以訪問或使用Schema的Function、Procedure。
  • 可使用DB層級的Foreign Server、FDW、Type及Language等對象。
  • 該Schema的USAGE許可權,不可進行DDL操作。
{db}.{schema}.viewer
  • DB的分析師(viewer)。
  • 可以讀取該Schema下所有表、外表及類表對象(如視圖等)的資料,即擁有SELECT許可權。
  • 可以訪問或使用Schema下的Function、Procedure。
  • 可使用DB層級的Foreign Server、FDW、Type及Language等對象。
  • 該Schema的USAGE許可權。