Chuyển tới nội dung chính

Lọc dòng bằng policy lọc dòng

Policy lọc dòng cho phép nhiều team dùng chung một bảng, trong khi mỗi team chỉ thấy dòng của mình. Ví dụ, team kinh doanh của mỗi khu vực chỉ thấy đơn hàng của khu vực đó.

Điều kiện cần​

  • Role của bạn có governance:row_policies:write. Role portal_admin và policy_manager có quyền này. Xem Role và quyền trên portal.
  • Những người trong policy đã có quyền SELECT trên bảng thông qua policy truy cập.
  • Bạn biết tên các cột của bảng. Kiểm tra trong Data Explorer.

Tạo policy lọc dòng​

  1. Ở thanh bên trái, chọn Data Security → Security policies, rồi mở tab Row level filter.
  2. Chọn Create policy.
  3. Nhập Policy name và Description (tùy chọn).
  4. Thêm những người áp dụng bộ lọc vào User, Group hoặc Service Account. Thêm ít nhất một.
  5. Chọn Catalog, Schema và Table. Mỗi policy chỉ áp dụng cho một bảng.
  6. Ở Row Filter Condition, nhập điều kiện mà dòng phải thỏa. Không nhập WHERE.
  7. Giữ nguyên Active.
  8. Chọn Create.

Permission luôn là SELECT và không thể đổi.

Form tạo policy lọc dòng với điều kiện lọc dòng đã điền

Khoảng 1 phút sau, những người trong policy chỉ thấy các dòng khớp trong mọi truy vấn trên bảng đó.

Ví dụ điều kiện​

Viết điều kiện giống cách bạn viết sau WHERE.

Bạn muốn người dùng thấyRow Filter Condition
Dòng của một phòng ban.department = 'IT'
Dòng của nhiều khu vực.region IN ('North', 'Central')
Đơn hàng từ năm 2026 trở đi.order_date >= DATE '2026-01-01'
Dòng chưa được lưu trữ.is_archived = false

Điều kiện phải là một biểu thức duy nhất. Bạn không thể thêm câu lệnh thứ hai phía sau.

Kiểm tra policy hoạt động​

Nhờ một người trong policy chạy SELECT COUNT(*) trên bảng trong Query Editor. Số đếm chỉ gồm các dòng khớp. Người không thuộc policy vẫn thấy mọi dòng mà policy truy cập của họ cho phép.

Khi thao tác lỗi​

Thông báoÝ nghĩaCách xử lý
Enter a row filter condition.Row Filter Condition đang trống.Nhập điều kiện.
Only a single filter condition is allowed.Điều kiện chứa nhiều hơn một câu lệnh.Chỉ giữ một biểu thức. Kết hợp các kiểm tra bằng AND hoặc OR.
The row filter condition is invalid.Điều kiện sai cú pháp hoặc nêu tên cột không tồn tại.Kiểm tra chính tả và tên cột.
ghi chú

Mỗi bảng chỉ có một policy lọc dòng. Để đổi điều kiện, hãy sửa policy hiện có.

Bước tiếp theo​