Bỏ qua để đến nội dung

Row-Level Security (RLS)

Row-Level Security (RLS) giới hạn mỗi người dùng chỉ thấy phần dữ liệu được phép — cùng một báo cáo, nhưng nhân viên vùng A chỉ thấy dữ liệu vùng A.

  1. Tạo role trên semantic model (Desktop).
  2. Gán DAX filter cho bảng trong role đó.
  3. Gán người dùng vào role trên Service.
-- Role "Vùng Miền Bắc": chỉ thấy dữ liệu miền Bắc
[Region] = "Miền Bắc"

Mỗi vùng một role — đơn giản nhưng nhiều vùng thì nhiều role.

-- Một role áp cho tất cả, lọc theo email người đăng nhập
[UserEmail] = USERPRINCIPALNAME()
  • USERPRINCIPALNAME() trả về email người đang xem.
  • Cần bảng ánh xạ người dùng ↔ phạm vi dữ liệu trong model.
  • Một role phục vụ mọi người — dễ bảo trì hơn nhiều static.
  • RLS áp ở semantic model → áp cho mọi report dùng model đó.
  • Test role ngay trong Desktop (“View as role”) trước khi publish.
  • Người ở vai trò Admin/Member/Contributor của workspace bỏ qua RLS khi xem trong workspace — RLS áp cho Viewer và người dùng app.
Chia sẻ: