Postgresql

允許在視圖中選擇,同時隱藏其定義

  • May 5, 2020

我需要在 PostgreSQL 中創建一個具有最低權限的使用者。因此,使用者將只被允許對特定的表和視圖進行查詢。不應允許該使用者獲取任何其他資訊,尤其是看不到視圖定義。如何才能做到這一點?

如果不以會破壞事物的方式修改數據庫元數據,就無法對使用者隱藏視圖定義。但是向使用者顯示視圖定義是沒有問題的。

更重要的是定義視圖,security_barrier = true以便使用者無法使用具有副作用的函式來獲取基礎表。

如果要隱藏用於提取數據的查詢,最好的選擇可能是編寫一個生成數據的 C 函式。如果使用者無權訪問數據庫伺服器,那應該是安全的。

引用自:https://dba.stackexchange.com/questions/266539