日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

簡單權限模型(SPM)

本文為您介紹基于實時數倉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的管理員(admin)。

  • {db}_admin組的權限是{db}_developer、{db}_writer和{db}_viewer組權限的合集。

  • 某個DB的owner,可以刪除DB。

  • 可管理當前DB的{db}_admin、{db}_developer、{db}_writer和{db}_viewer四個用戶組的成員,包括新增及移除用戶組成員。

  • 可以創建用戶,并將用戶加入某個用戶組。

  • 可以在該DB創建對象,例如Schema,并可以對對象進行增刪改查。

  • 可以在DB級別修改DB的配置項。

{db}_developer

  • DB的開發者(developer)。

  • {db}_developer組的權限是{db}_writer和{db}_viewer組權限的合集。

  • 該DB所有Schema中,除系統對象以外的所有表、外表、類表對象(如視圖等)、Function、Procedure、Foreign Server、FDW、Type及Language的owner,可以增刪查改所有Schema中的所有表。

  • 所有Schema的USAGE及CREATE權限,可以在任意非系統的Schema中進行創建表,創建視圖及創建外表等DDL操作。

{db}_writer

  • DB下的讀寫者(writer)。

  • {db}_writer組的權限是{db}_viewer權限的合集。

  • Schema中所有表、外表及類表對象(如視圖等)的數據,即擁有SELECT、INSERT、UPDATE及DELETE等權限。

  • 可以增刪查改所有Schema。

  • 可以訪問或使用developer所擁有的Function、Procedure、Foreign Server、FDW、Type及Language等對象。

  • 所有Schema的USAGE權限,不可進行DDL操作。

{db}_viewer

  • DB的分析師(viewer)。

  • 可以讀取所有schema下所有表、外表及類表對象(如視圖等)的數據,即擁有SELECT權限。

  • 可以訪問或使用developer所擁有的Function、Procedure、Foreign Server、FDW、Type及Language等對象。

  • 所有Schema的USAGE權限。