0
0
Lập trình
Admin Team
Admin Teamtechmely

Kiểm soát quyền truy cập dữ liệu với RLS và OLS trong Dataverse

Đăng vào 1 ngày trước

• 5 phút đọc

Giới thiệu

Khi xây dựng ứng dụng với Dataverse, việc chỉ xác định ai có quyền truy cập là chưa đủ. Chúng ta còn cần kiểm soát dữ liệu mà mỗi người có thể thấy. Hai phương pháp quản lý quan trọng giúp đạt được điều này là:

  • Row Level Security (RLS): Quyết định các bản ghi mà người dùng có thể nhìn thấy. Ví dụ, một nhân viên chỉ thấy bản ghi của chính mình, quản lý thấy bản ghi của phòng ban mình và nhân sự thấy tất cả mọi người.

  • Object Level Security (OLS): Quyết định các bảng hoặc trường mà người dùng có thể thấy. Ví dụ, chỉ có nhân sự mới thấy cột 'Lương', trong khi mọi người khác không thấy gì cả.

Bằng cách kết hợp hai phương pháp này, chúng ta đảm bảo rằng mọi người chỉ thấy dữ liệu liên quan đến họ, giữ thông tin nhạy cảm an toàn và tránh lộ thông tin không cần thiết.

Các khái niệm trong Dataverse

RLS: Kiểm soát các bản ghi (hàng) mà người dùng có thể thấy.
Được thực hiện thông qua các vai trò bảo mật và bảo mật phân cấp.

OLS: Kiểm soát các bảng (thực thể) và cột (trường) mà người dùng có thể thấy.
Được thực hiện thông qua quyền truy cập bảng và hồ sơ bảo mật cấp trường.

Tình huống

Bạn đang xây dựng một ứng dụng nhân sự trong Power Apps sử dụng Dataverse với các bảng sau:

  1. Nhân viên (EmployeeID, Tên, Phòng ban, Lương, Quản lý, vv)

  2. Phòng ban (DepartmentID, Tên phòng, Quản lýID, vv)

Quy tắc:

  1. Nhân viên thông thường chỉ thấy bản ghi của chính mình.

  2. Quản lý thấy nhân viên trong phòng ban của họ.

  3. Nhân viên nhân sự thấy tất cả nhân viên + trường Lương.

  4. Người dùng không phải nhân sự không bao giờ thấy Lương.

Cài đặt Row Level Security (RLS)

Đi đến Power Platform Admin Center > Chọn môi trường > Người dùng + quyền > Vai trò bảo mật
Tạo 3 vai trò: Vai trò Nhân viên, Vai trò Quản lý và Vai trò Nhân sự.

Quyền truy cập

Không = Không có quyền truy cập
Người dùng = Chỉ có quyền truy cập vào các bản ghi mà người dùng sở hữu
Đơn vị kinh doanh = Quyền truy cập vào các bản ghi trong cùng BU
Cha: Con BU = Quyền truy cập vào BU của họ + các BU con
Tổ chức = Quyền truy cập đầy đủ

Chọn bảng 'Nhân viên' và thiết lập quyền 'Đọc' là 'Người dùng' và lưu lại. Điều này có nghĩa là người dùng chỉ có thể thấy các hàng mà họ sở hữu.

Đối với Vai trò Quản lý, thiết lập quyền 'Đọc' là Đơn vị Kinh doanh và lưu lại. Quản lý sẽ thấy các bản ghi trong đơn vị kinh doanh của họ.

Đối với Vai trò Nhân sự, thiết lập quyền 'Đọc' là Tổ chức (quyền truy cập đầy đủ).

Cung cấp quyền rộng hơn (Tạo, Ghi, Xóa, vv) nếu nhân sự cần quản lý tất cả các bản ghi nhân viên.

Gán vai trò cho người dùng

Quay lại 'Cài đặt' trong trung tâm quản trị và dưới Người dùng + Quyền chọn 'Người dùng'.

Chọn một người dùng và chọn 'Quản lý vai trò bảo mật'. Bây giờ thêm vai trò phù hợp với công việc của họ (Nhân viên, Quản lý, Nhân sự). Nhấn lưu.

Kết quả

  • Nhân viên thông thường chỉ thấy bản ghi của chính mình.
  • Quản lý thấy nhân viên trong đơn vị kinh doanh của họ.
  • Nhân sự thấy tất cả nhân viên.

Cài đặt Object Level Security (OLS)

Chúng ta muốn ẩn Lương khỏi tất cả mọi người trừ nhân sự.

Quay lại cài đặt và chọn 'Hồ sơ bảo mật cột'.

Thêm một Hồ sơ Mới:

Thêm người dùng hoặc nhóm:

Kích hoạt bảo mật trường

Đi đến bảng 'Nhân viên' > chọn cột 'Lương' > thiết lập bảo mật cột/Kích hoạt bảo mật cột = Đã kích hoạt.

Bây giờ, chỉ những người trong Hồ sơ Bảo mật Trường mới có thể thấy/chỉnh sửa nó.

Điều này có nghĩa là, với tất cả những người khác (không nằm trong 'Hồ sơ Truy cập Dữ liệu Nhạy cảm của Nhân sự'), họ tự động nhận được Không có quyền truy cập. Lương sẽ bị ẩn khỏi các biểu mẫu, chế độ xem và ứng dụng.

Kết quả

  • Vai trò Nhân sự + hồ sơ Truy cập Dữ liệu Nhạy cảm của Nhân sự = toàn quyền xem Lương.
  • Mọi người khác = không thể thấy cột, nó hoàn toàn bị ẩn trong Dataverse, ứng dụng dựa trên mô hình và truy vấn API.

Thực hành tốt nhất

Lên kế hoạch vai trò trước: Căn cứ vào quy tắc kinh doanh trước khi triển khai.

Sử dụng nhóm bảo mật: Dễ dàng hơn so với việc quản lý cá nhân.

Kiểm tra: Sử dụng 'Xem dưới vai trò' hoặc tài khoản thử nghiệm.

Nguyên tắc quyền tối thiểu: Chỉ cung cấp dữ liệu tối thiểu cần thiết.

Tài liệu vai trò: Để quản lý, luôn giữ bản đồ về vai trò và quyền của nó.

Câu hỏi thường gặp (FAQ)

1. RLS và OLS có thể được sử dụng đồng thời không?
Có, sử dụng đồng thời RLS và OLS sẽ tạo ra một lớp bảo mật mạnh mẽ hơn cho dữ liệu.

2. Làm thế nào để kiểm tra quyền truy cập của người dùng?
Bạn có thể sử dụng tùy chọn 'Xem như vai trò' trong Power Platform Admin Center để kiểm tra quyền truy cập của từng vai trò.

3. Có thể thay đổi quyền truy cập sau khi đã cài đặt không?
Có, bạn có thể thay đổi quyền truy cập bất kỳ lúc nào thông qua cài đặt vai trò bảo mật.

4. Làm thế nào để biết ai đã truy cập vào dữ liệu?
Dataverse cung cấp các bản ghi hoạt động giúp theo dõi ai đã truy cập vào dữ liệu và khi nào.

Kết luận

Việc kiểm soát dữ liệu trong Dataverse không chỉ dừng lại ở việc xác định ai có thể truy cập mà còn phải đảm bảo rằng họ chỉ thấy những gì họ cần. Bằng cách áp dụng RLS và OLS, bạn có thể bảo vệ dữ liệu nhạy cảm, giảm thiểu rủi ro lộ thông tin và đảm bảo rằng ứng dụng của bạn hoạt động đúng cách. Hãy bắt đầu ngay hôm nay để xây dựng các ứng dụng an toàn và hiệu quả hơn với Dataverse!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào