Nếu bất kỳ người dùng đã đăng nhập nào có thể đọc các hàng của người dùng khác, cơ sở dữ liệu của bạn đang tin tưởng ứng dụng sẽ hoạt động đúng. Tôi chuyển quy tắc vào chính PostgreSQL với các chính sách và vai trò bảo mật cấp hàng, sau đó chứng minh bằng các thử nghiệm rằng một người dùng không thể truy cập dữ liệu của người dùng khác.
Tôi sẽ thiết lập bảo mật cấp hàng PostgreSQL để mỗi người dùng chỉ thấy dữ liệu của riêng họ, bao gồm cả Supabase
Đánh giá bảo mật cấp hàng cho tối đa 5 bảng, với mỗi lỗ hổng được hiển thị bằng một truy vấn.
- Đánh giá tối đa 5 bảng
- Báo cáo bằng văn bản
- Truy vấn ví dụ
Chính sách và vai trò trên tối đa 10 bảng, với các thử nghiệm chứng minh các quy tắc được tuân thủ.
- Chính sách trên tối đa 10 bảng
- Báo cáo bằng văn bản
- Truy vấn ví dụ
Tối đa 25 bảng, giới hạn kế hoạch trong cơ sở dữ liệu, di chuyển và kiểm tra trong CI.
- Tối đa 25 bảng, giới hạn kế hoạch, CI
- Báo cáo bằng văn bản
- Truy vấn ví dụ
Yêu cầu ưu đãi tùy chỉnh
Đăng nhập để yêu cầu ưu đãi tùy chỉnh
Tạo tài khoản miễn phí hoặc đăng nhập để yêu cầu ưu đãi cá nhân hóa từ Zinner này.
Đăng nhập / Đăng kýĐặt câu hỏi trước khi bán hàng
Đăng nhập để đặt câu hỏi
Để giảm thư rác trên nền tảng, tin nhắn trước khi bán chỉ có thể được gửi bởi người dùng đã đăng nhập.
Tạo tài khoản miễn phí hoặc đăng nhập để nhắn tin trực tiếp cho Zinner này.
Đăng nhập / Đăng kýYêu cầu đăng nhập
Tạo tài khoản miễn phí hoặc đăng nhập để nhắn tin cho Zinner này.
Đăng nhập / Đăng kýYêu cầu đăng nhập
Tạo tài khoản miễn phí hoặc đăng nhập để yêu cầu ưu đãi cá nhân hóa.
Đăng nhập / Đăng kýTổng quan
Thông tin chi tiết về dịch vụ này để giúp bạn quyết định. Được tạo bởi Zinn Hub, không phải người bán.
Vị trí giá trị
Lớp thực thi
Các nền tảng được hỗ trợ
Bằng chứng công việc
Định dạng giao hàng
Những gì bạn sẽ nhận được
Mô tả đầy đủ
Bất kỳ ứng dụng nào có tài khoản người dùng, gói trả phí hoặc nhiều nhóm trong một cơ sở dữ liệu đều phải quyết định ai có thể xem hàng nào. Nếu quy tắc đó chỉ nằm trong mã ứng dụng, nó sẽ thất bại ngay lần đầu tiên ai đó truy cập dữ liệu bằng một cách khác: một điểm cuối mới mà ai đó quên bảo vệ, một ứng dụng thứ hai trên cùng cơ sở dữ liệu hoặc API mà Supabase tạo ra cho các bảng của bạn. Bảo mật cấp hàng đặt quy tắc vào nơi dữ liệu.
Tôi đã thực hiện điều này trên một sản phẩm đăng ký theo NDA: các chính sách bảo mật cấp hàng trên các bảng và một vai trò cơ sở dữ liệu riêng biệt cho mỗi cấp độ đăng ký, vì vậy những gì một gói bao gồm được thực thi bởi PostgreSQL, không phải bởi một kiểm tra mà ai đó có thể quên.
Trong Gói Khởi đầu, tôi xem xét các chính sách mà tối đa năm bảng có hoặc thiếu và gửi một danh sách các lỗ hổng bằng văn bản, với một truy vấn ví dụ hiển thị từng lỗ hổng. Gói Tiêu chuẩn viết hoặc sửa các chính sách trên tối đa mười bảng, thiết lập các vai trò mà ứng dụng của bạn cần, cung cấp chúng dưới dạng tệp di chuyển và thêm các bài kiểm tra trong đó người dùng A cố gắng đọc và thay đổi các hàng của người dùng B và thất bại. Gói Nâng cao bao gồm tối đa hai mươi lăm bảng, thêm giới hạn gói hoặc cấp độ được thực thi trong cơ sở dữ liệu và chạy các bài kiểm tra trong CI.
Trên Supabase, các tính năng PostgreSQL tương tự được áp dụng, với auth.uid() và các yêu cầu JWT được sử dụng trong các chính sách. Trên PostgreSQL thuần túy, các chính sách đọc người dùng hiện tại từ một cài đặt phiên mà phần phụ trợ của bạn đặt cho mỗi yêu cầu.
Không có cuộc gọi. Mỗi gói đều kết thúc bằng một ghi chú bằng ngôn ngữ đơn giản về ai có thể xem gì; trên Tiêu chuẩn và Nâng cao, các chính sách cũng được cung cấp dưới dạng di chuyển trong kho lưu trữ của bạn, cùng với các bài kiểm tra. Trong 14 ngày sau khi giao hàng, tôi sẽ sửa bất kỳ điều gì không hoạt động như chúng ta đã thỏa thuận, miễn phí.
Các bước để hoàn thành dự án của bạn
1. Lập bản đồ dữ liệu - Tôi liệt kê các bảng, ai sở hữu mỗi hàng và ai nên đọc hoặc thay đổi nó: chủ sở hữu, thành viên nhóm, quản trị viên, mỗi gói.
2. Xem xét những gì tồn tại - Các chính sách, quyền và vai trò hiện tại được kiểm tra dựa trên bản đồ đó, và mọi lỗ hổng được ghi lại bằng một truy vấn hiển thị nó.
3. Chính sách và vai trò - Các chính sách được viết cho mỗi bảng và mỗi hành động, với các vai trò cho các gói hoặc nhóm, dưới dạng tệp di chuyển mà bạn có thể xem xét.
4. Chứng minh - Các bài kiểm tra đăng nhập với tư cách người dùng khác nhau và cố gắng đọc và thay đổi dữ liệu của nhau. Mọi hành động bị cấm phải thất bại, và mọi hành động được phép phải hoạt động.
5. Bàn giao - Một ghi chú ngắn gọn bằng ngôn ngữ đơn giản về ai có thể xem gì, các di chuyển và cách thêm chính sách khi một bảng mới xuất hiện.
Đảm bảo chất lượng Zinner
Mỗi Zinner đều được xem xét và phê duyệt trước khi tham gia nền tảng.
Tất cả các dịch vụ đều được đảm bảo bởi cam kết chất lượng của chúng tôi.
Khoản thanh toán của bạn được bảo vệ cho đến khi bạn chấp thuận công việc đã giao.
So sánh các gói
| Chức năng | Người mới bắt đầu | Tiêu chuẩn | Nâng cao |
|---|---|---|---|
| Thời gian giao hàng | 2 ngày | 5 ngày | 10 ngày |
| Sửa đổi | 1 | 2 | 3 |
| Phạm vi | Đánh giá tối đa 5 bảng | Chính sách trên tối đa 10 bảng | Tối đa 25 bảng, giới hạn kế hoạch, CI |
| Báo cáo bằng văn bản | ✓ | ✓ | ✓ |
| Truy vấn ví dụ | ✓ | ✓ | ✓ |
Chi tiết dịch vụ
Câu hỏi thường gặp
Kiểm tra ứng dụng bảo vệ các đường dẫn bạn nhớ. Bảo mật cấp hàng bao gồm mọi truy vấn chạy dưới các vai trò cơ sở dữ liệu của ứng dụng của bạn, bao gồm các điểm cuối được thêm sau này và các cuộc gọi trực tiếp đến API của Supabase. Người dùng siêu cấp, chủ sở hữu bảng và khóa dịch vụ của Supabase bỏ qua nó theo thiết kế, đó là lý do tại sao các thông tin đăng nhập đó vẫn nằm trên máy chủ. Hầu hết các nhóm đều giữ cả hai loại kiểm tra.
Có thể, nếu một chính sách gọi một hàm chậm hoặc bỏ lỡ một chỉ mục. Tôi viết các chính sách có tính đến điều đó, và bản đánh giá liệt kê bất kỳ chính sách nào cần một chỉ mục.
Không. Một lược đồ không có dữ liệu là đủ để viết và kiểm tra các chính sách. Các bài kiểm tra chạy trên dữ liệu hạt giống mà tôi tạo.
Không. Bảo mật cấp hàng ở dạng này là một tính năng của PostgreSQL và dịch vụ này được xây dựng dựa trên PostgreSQL.
Đánh giá của khách hàng
Xem khách hàng của chúng tôi nói gì về Zinn này
Danh mục
Chính sách Zinner
Zinns liên quan







