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. Roleportal_adminvàpolicy_managercó quyền này. Xem Role và quyền trên portal. - Những người trong policy đã có quyền
SELECTtrê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
- Ở thanh bên trái, chọn Data Security → Security policies, rồi mở tab Row level filter.
- Chọn Create policy.
- Nhập Policy name và Description (tùy chọn).
- 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.
- Chọn Catalog, Schema và Table. Mỗi policy chỉ áp dụng cho một bảng.
- Ở Row Filter Condition, nhập điều kiện mà dòng phải thỏa. Không nhập
WHERE. - Giữ nguyên Active.
- Chọn Create.
Permission luôn là SELECT và không thể đổi.

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ấy | Row 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ĩa | Cá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ó.