Row-Level Security (RLS) trong Power BI: Phân quyền dữ liệu theo chi nhánh và phòng ban

B9023b99-9997-4453-8b4b-8d491718bc2b

Row-Level Security (RLS) trong Power BI: Phân quyền dữ liệu theo chi nhánh và phòng ban

Trong môi trường doanh nghiệp, bảo mật dữ liệu là ưu tiên hàng đầu. Khi xây dựng các báo cáo quản trị trên Power BI, bài toán đặt ra là: Làm thế nào để Giám đốc Chi nhánh A chỉ xem được số liệu Chi nhánh A, Trưởng phòng Nhân sự chỉ thấy dữ liệu phòng Nhân sự, trong khi Ban Giám đốc vẫn xem được toàn bộ báo cáo?

Giải pháp triệt để cho bài toán này chính là Row-Level Security (RLS) – Bảo mật cấp dòng trong Power BI.

1. Row-Level Security (RLS) trong Power BI là gì?

Row-Level Security (RLS) là tính năng cho phép giới hạn quyền truy cập dữ liệu ở cấp độ dòng (row) dựa trên vai trò (Role) của người dùng.

Thay vì phải tạo nhiều bản báo cáo riêng biệt cho từng phòng ban hay chi nhánh, bạn chỉ cần tạo duy nhất 1 báo cáo chuẩn và thiết lập RLS. Khi người dùng đăng nhập, Power BI sẽ tự động lọc dữ liệu phù hợp với quyền hạn của họ.

2. Lợi ích khi triển khai RLS cho doanh nghiệp

  • Tối ưu hóa nguồn lực: Tiết kiệm thời gian bảo trì và cập nhật báo cáo nhờ quản lý một tệp báo cáo tập trung.

  • Bảo mật thông tin tối đa: Ngăn chặn rò rỉ dữ liệu nhạy cảm giữa các bộ phận hoặc các chi nhánh trong cùng công ty.

  • Tăng trải nghiệm người dùng: Người dùng không bị ngợp bởi lượng dữ liệu không liên quan, tập trung ngay vào số liệu thuộc trách nhiệm của mình.

3. Các hình thức RLS phổ biến

Có 2 phương pháp triển khai RLS chính trong Power BI:

  1. Static RLS (RLS Tĩnh): Tạo các Role cố định với bộ lọc cứng (Ví dụ: [ChiNhanh] = "Hà Nội"). Phù hợp với cấu trúc phân quyền đơn giản, ít thay đổi.

  2. Dynamic RLS (RLS Động): Sử dụng các hàm DAX như USERNAME() hoặc USERPRINCIPALNAME() kết hợp với bảng phân quyền người dùng. Hệ thống sẽ tự nhận diện email đăng nhập để lọc dữ liệu tương ứng. Phù hợp với doanh nghiệp lớn, cấu trúc phức tạp.

4. Hướng dẫn thiết lập RLS cơ bản theo Chi nhánh & Phòng ban

Bước 1: Tạo Role trong Power BI Desktop

  1. Trên thanh công cụ, chọn thẻ Modeling > chọn Manage Roles.

  2. Chọn Create để tạo vai trò mới (Ví dụ: ChiNhanh_HCM hoặc Phong_KinhDoanh).

  3. Tại mục Tables, chọn bảng dữ liệu chứa thông tin chi nhánh/phòng ban (Ví dụ: Bảng_NhanVien hoặc Bảng_DoanhThu).

  4. Trong ô Table filter DAX expression, nhập biểu thức lọc:

    Đoạn mã [ChiNhanh] = "TP.HCM"
  5. Chọn Save để lưu thiết lập.

Bước 2: Kiểm tra phân quyền (View as Roles)

  1. Cũng tại thẻ Modeling, chọn View as.

  2. Tích chọn Role vừa tạo (hoặc nhập email nếu test RLS Động).

  3. Kiểm tra xem toàn bộ visual trên báo cáo đã tự động lọc đúng dữ liệu theo Role hay chưa.

Bước 3: Phân vai trò trên Power BI Service

  1. Xuất bản (Publish) báo cáo lên Power BI Service.

  2. Tại Workspace, tìm đến Dataset của báo cáo > chọn dấu 3 chấm (…) > chọn Security.

  3. Thêm tài khoản email của nhân viên vào đúng Role đã khởi tạo.

  4. Chọn Add > Save.

5. Những lưu ý quan trọng khi sử dụng RLS

  • Quyền trên Workspace: RLS chỉ áp dụng cho người dùng có quyền Viewer trên Workspace. Nếu người dùng giữ quyền Admin, Member, hoặc Contributor, họ sẽ có quyền chỉnh sửa và thấy toàn bộ dữ liệu.

  • Mối quan hệ dữ liệu (Data Relationships): Đảm bảo các mối quan hệ giữa các bảng được thiết lập chính xác (đặc biệt là chiều lọc – Cross filter direction) để điều kiện RLS được truyền đi đúng cách.

Tác giả: Phan Thị Như Phước – Data Analyst tại MCNA Technology School

📞 Hotline: 0939.866.825 (Mr. Minh Khang)

🌐 Website: mcna.vn

📍 Hà Nội: 30 Trung Liệt, Đống Đa | Liền kề 44B TT2 Văn Quán, Hà Đông

📍 TP.HCM: 50B Phan Tây Hồ, Cầu Kiệu

→ Chỉ mục