Slovník pojmů

Co je zabezpečení na úrovni řádků?

Zabezpečení na úrovni řádků (RLS) je funkce databáze, která řádek po řádku rozhoduje, které záznamy smí každý uživatel číst nebo měnit, takže zákazník vidí jen své objednávky, i kdyby aplikace žádala víc.

Bez něj žije pravidlo „uživatelé vidí jen svá data“ v kódu aplikace. Pokud některá obrazovka nebo API na kontrolu zapomene, mohou soukromá data uniknout.

S řádkovým zabezpečením žije pravidlo v samotné databázi. Napíšete politiku, například „řádek v objednávkách je viditelný jen tehdy, když jeho customer_id odpovídá přihlášenému uživateli“, a databáze ji použije na každý dotaz.

Postgres řádkové zabezpečení podporuje a některé backendové služby na něm silně stojí, protože jejich aplikace mluví s databází přímo z prohlížeče. V takových nastaveních může být tabulka bez politiky čitelná pro kohokoli.

RLS je jedna vrstva ochrany, ne jediná. Aplikace stále potřebují řádné přihlášení, kontroly na serveru a pečlivé zacházení s přístupem správce.

Příklady

  • Klienti v portálu vidí jen své vlastní dokumenty
  • Každý tým v nástroji vidí jen své vlastní projekty

Otázky

Potřebuji zabezpečení na úrovni řádků?

Pokud vaše aplikace ukládá soukromá data mnoha uživatelů a některá její část se dotazuje databáze přímo z prohlížeče, pak ano. Pokud veškerý přístup jde přes backend, který kontroluje oprávnění, je RLS navíc jako pojistka.

Je zabezpečení na úrovni řádků totéž co role?

Ne. Role popisují, jaký typ uživatele někdo je, například administrátor nebo člen. Zabezpečení na úrovni řádků používá údaje jako id uživatele nebo roli k rozhodnutí, na které konkrétní řádky může sáhnout.

Viz také

  • Jak přidat řízení přístupu podle rolí
  • Bezpečnostní kontrolní seznam pro aplikace postavené s AI

Mythex · Pricing · Vytvořte cokoli s AI · Šablony webů a aplikací · Mythex v porovnání · Slovník tvorby aplikací s AI · Bezplatné nástroje pro tvorbu aplikací s AI · English

English አማርኛ العربية Български বাংলা Bosanski Català 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 简体中文 繁體中文(香港) 繁體中文(台灣)