詞彙表

什麼是 資料列層級安全性?

資料列層級安全性(RLS)是資料庫的一項功能,它逐列決定每位使用者能讀取或修改哪些紀錄,因此即使應用程式多要求了資料,客戶也只會看到自己的訂單。

沒有它的話,「使用者只能看到自己的資料」這項規則就只存在於應用程式的程式碼中。只要有一個畫面或 API 忘了檢查,私人資料就可能外洩。

使用資料列層級安全性時,這項規則就存在於資料庫本身。你撰寫一條政策,例如「只有當 orders 中某一列的 customer_id 與已登入使用者相符時,該列才可見」,資料庫就會把它套用到每一次查詢上。

Postgres 支援資料列層級安全性,而部分後端服務大量依賴它,因為它們的應用程式會直接從瀏覽器與資料庫溝通。在這類架構中,沒有設定政策的資料表可能任何人都能讀取。

RLS 只是一層防護,而不是唯一的防護。應用程式仍然需要妥善的登入機制、伺服器端檢查,以及對管理員存取權的謹慎處理。

範例

  • 入口網站中的客戶只能看到自己的文件
  • 工具中的每個團隊只能看到自己的專案

常見問題

我需要資料列層級安全性嗎?

如果你的應用程式為大量使用者儲存私人資料,而且其中任何部分會直接從瀏覽器查詢資料庫,那就需要。如果所有存取都經過會檢查權限的後端,RLS 則是額外的安全網。

資料列層級安全性和角色是同一回事嗎?

不是。角色描述某人是哪一種使用者,例如管理員或一般會員。資料列層級安全性則是利用使用者的 ID 或角色等資訊,決定他們能存取哪些特定資料列。

另請參閱

  • 如何新增角色型存取控制
  • AI 建置應用程式的安全檢查清單

Mythex · Pricing · 用 AI 打造任何東西 · 網站與應用程式範本 · Mythex 比較 · AI 應用程式開發詞彙表 · 免費的 AI 應用程式開發工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港)