Apakah keselamatan peringkat baris (row-level security)?
Row-level security (RLS) ialah ciri pangkalan data yang memutuskan, baris demi baris, rekod mana yang dibenarkan dibaca atau diubah setiap pengguna, supaya pelanggan hanya melihat pesanan mereka sendiri walaupun aplikasi meminta lebih.
Tanpa ciri ini, peraturan "pengguna hanya melihat data mereka sendiri" berada dalam kod aplikasi. Jika satu skrin atau API terlupa menyemak, data peribadi boleh bocor.
Dengan row-level security, peraturan itu berada dalam pangkalan data itu sendiri. Anda menulis dasar seperti "baris dalam orders hanya kelihatan apabila customer_id sepadan dengan pengguna yang log masuk", dan pangkalan data menggunakannya pada setiap pertanyaan.
Postgres menyokong row-level security, dan sesetengah perkhidmatan backend sangat bergantung kepadanya kerana aplikasi mereka bercakap dengan pangkalan data terus dari pelayar. Dalam persediaan sebegitu, jadual tanpa dasar boleh dibaca oleh sesiapa sahaja.
RLS ialah satu lapisan perlindungan, bukan satu-satunya. Aplikasi tetap memerlukan log masuk yang betul, semakan di bahagian pelayan dan pengendalian akses admin yang teliti.
Contoh
- Pelanggan dalam portal hanya melihat dokumen mereka sendiri
- Setiap pasukan dalam alat hanya melihat projek mereka sendiri
Soalan lazim
Adakah saya perlukan row-level security?
Jika aplikasi anda menyimpan data peribadi untuk ramai pengguna dan mana-mana bahagiannya membuat pertanyaan terus ke pangkalan data dari pelayar, ya. Jika semua akses melalui backend yang menyemak kebenaran, RLS ialah jaring keselamatan tambahan.
Adakah row-level security sama dengan peranan?
Tidak. Peranan menerangkan jenis pengguna seseorang, seperti admin atau ahli. Row-level security menggunakan fakta seperti id pengguna atau peranan untuk memutuskan baris khusus yang boleh mereka capai.
Lihat juga
- Cara menambah kawalan akses berasaskan peranan
- Senarai semak keselamatan untuk aplikasi yang dibina AI
Mythex · Pricing · Bina apa sahaja dengan AI · Templat laman web dan aplikasi · Mythex dibandingkan · Glosari pembinaan aplikasi AI · Alat percuma untuk membina aplikasi dengan AI · English