咩係資料列層級安全性?
資料列層級安全性(RLS)係一項數據庫功能,逐行決定每位用戶可以讀取或更改邊啲記錄,所以即使 App 要求更多,客戶都只會睇到自己嘅訂單。
冇 RLS 嘅時候,「用戶只可以睇自己嘅資料」呢條規則只存在 App 程式碼入面。如果某個畫面或 API 漏咗檢查,私人資料就可能外洩。
有咗資料列層級安全性,規則就放喺數據庫本身。你可以寫一條政策,例如「只有當 orders 資料列嘅 customer_id 符合已登入用戶時,該資料列先可以見到」,數據庫就會喺每次查詢時套用。
Postgres 支援資料列層級安全性,而部分後端服務非常倚賴它,因為佢哋嘅 App 會直接由瀏覽器連接數據庫。喺呢類設定入面,冇政策嘅資料表可能任何人都可以讀取。
RLS 只係其中一層保護,並非唯一。App 仍然需要妥善嘅登入、伺服器端檢查,並小心處理管理員權限。
例子
- 客戶入口網站內,客戶只可以睇到自己嘅文件
- 工具內每個團隊只可以睇到自己嘅專案
常見問題
我需唔需要資料列層級安全性?
如果你嘅 App 為好多用戶儲存私人資料,而其中任何部分會直接由瀏覽器查詢數據庫,就需要。如果所有存取都經過一個會檢查權限嘅後端,RLS 就係額外嘅保護網。
資料列層級安全性同角色係同一樣嘢嗎?
唔係。角色描述用戶係邊種人,例如管理員或會員。資料列層級安全性則利用用戶 ID 或角色等資料,決定佢哋可以存取邊啲特定資料列。
另見
Mythex · Pricing · 用 AI 建造任何嘢 · 網站及應用程式範本 · Mythex 比較 · AI 應用程式開發詞彙表 · 免費 AI 應用程式開發工具 · English