Giáo trình tự học miễn phí · Dịch vụ hỗ trợ theo nhu cầu.
Bài 0235phút ước tínhThực chiến · Builder
2. Thiết Kế Database Động & Bảo Mật Dữ Liệu Bằng Row Level Security (RLS)
Thiết kế bảng dữ liệu quan hệ trên PostgreSQL Supabase và viết chính sách bảo mật RLS ngăn chặn người dùng xem trộm dữ liệu của nhau.
🛡️ Nguyên Tắc Hoạt Động Của Row Level Security (RLS)
- Mặc định khi bật RLS, mọi truy vấn từ Frontend đều bị từ chối ($0$ kết quả).
- Bạn phải viết các chính sách (Policies) rõ ràng dựa trên hàm
auth.uid()của người dùng đang đăng nhập.
-- CẤU HÌNH BẢNG DỮ LIỆU VÀ CHÍNH SÁCH BẢO MẬT RLS CHUẨN
CREATE TABLE profiles (
id UUID REFERENCES auth.users ON DELETE CASCADE PRIMARY KEY,
full_name TEXT NOT NULL,
avatar_url TEXT,
role TEXT DEFAULT 'member' CHECK (role IN ('admin', 'member', 'guest')),
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- Bật RLS
ALTER TABLE profiles ENABLE ROW LEVEL SECURITY;
-- Chính sách 1: Mọi người được phép xem hồ sơ công khai
CREATE POLICY "Public profiles are viewable by everyone."
ON profiles FOR SELECT USING (true);
-- Chính sách 2: Người dùng chỉ được sửa hồ sơ của chính mình
CREATE POLICY "Users can update own profile."
ON profiles FOR UPDATE USING (auth.uid() = id);
Thực hành
Thực hành và tự đánh giá
Tạo một bảng orders trên Supabase và viết chính sách RLS chỉ cho phép khách hàng xem đơn hàng do chính mình tạo ra (auth.uid() = customer_id).
🏢 BẠN MUỐN TRIỂN KHAI CHO CẢ PHÒNG BAN / DOANH NGHIỆP?
Đề Xuất Công Ty Tài Trợ & Đào Tạo In-House Trọn Gói
AI Tinh Gọn hỗ trợ khảo sát hiện trạng, kèm 1-1 on-premise bảo mật dữ liệu, setup hạ tầng riêng và xuất hóa đơn VAT hợp pháp cho doanh nghiệp.
⚖️ Bản quyền sở hữu trí tuệ: © 2026 AI Tinh Gọn (aitinhgon.vn) · Giấy phép Creative Commons CC BY-NC-ND 4.0. Cho phép tự học cá nhân, nghiêm cấm thương mại hóa hoặc bán lại.
Giáo trình mở →
Tiến độ tự học lưu trên trình duyệt này. Chỉ đánh dấu khi đã kiểm tra sản phẩm thực hành.