Bảng phân quyền cho phép phân các quyền truy cập đối với người dùng

Trả lời nhanh

Bảng phân quyền cho phép phân các quyền truy cập đối với người dùng: mỗi người dùng (hoặc nhóm người dùng) được ghi rõ có quyền gì trên từng đối tượng dữ liệu như xem, thêm, sửa, xoá. Nhờ đó người không có thẩm quyền không thể tự ý đọc hay thay đổi dữ liệu, còn người có quyền chỉ làm được đúng phần việc của mình.

Bảng phân quyền là gì?

Trong một hệ cơ sở dữ liệu (CSDL) có nhiều người cùng làm việc, không phải ai cũng nên được làm mọi thứ. Kế toán cần xem và sửa bảng lương, nhưng nhân viên bán hàng thì không. Vì vậy người quản trị lập ra bảng phân quyền để quy định rõ “ai được làm gì với cái gì”.

Bảng phân quyền là một biện pháp bảo mật thông tin của hệ CSDL. Nó nằm ở khâu kiểm soát quyền truy cập: sau khi hệ thống biết bạn là ai, nó tra bảng phân quyền để biết bạn được làm những thao tác nào.

Cách đọc một bảng phân quyền

Bảng thường có hàng là người dùng (hoặc nhóm), cột là đối tượng dữ liệu (bảng, truy vấn, biểu mẫu, báo cáo…), còn ô giao nhau ghi các quyền được cấp. Dưới đây là ví dụ do mình tự đặt cho CSDL của một cửa hàng sách.

Người dùng Bảng SÁCH Bảng KHÁCH HÀNG Bảng LƯƠNG
Quản trị viên Xem, thêm, sửa, xoá Xem, thêm, sửa, xoá Xem, thêm, sửa, xoá
Nhân viên bán hàng Xem Xem, thêm Không có quyền
Kế toán Xem Xem Xem, thêm, sửa

Đọc theo hàng: nhân viên bán hàng chỉ được xem danh mục sách, được xem và thêm khách hàng mới, nhưng hoàn toàn không đụng được vào bảng lương. Đây chính là nghĩa “phân các quyền truy cập đối với người dùng”.

Vì sao đây là cách hiểu đúng?

  • Đối tượng được phân quyền là người dùng. Bảng gắn quyền với từng tài khoản hoặc nhóm, không gắn với dữ liệu một cách chung chung.
  • Nội dung được phân là quyền truy cập (đọc, ghi, sửa, xoá…), chứ không phải việc biến đổi dữ liệu thành dạng khác.
  • Mục đích là hạn chế truy cập trái phép và giảm rủi ro do thao tác nhầm.

Phân biệt với các biện pháp bảo mật khác

Nhiều bạn nhầm bảng phân quyền với các biện pháp dưới đây. Hãy nhớ mỗi biện pháp “giữ cửa” ở một chỗ khác nhau.

Biện pháp Làm gì?
Bảng phân quyền Quy định từng người dùng được thực hiện thao tác nào trên dữ liệu nào.
Nhận dạng người dùng (tên và mật khẩu) Xác minh “bạn là ai” trước khi cho vào hệ thống.
Mã hoá thông tin Biến dữ liệu thành dạng khó đọc để kẻ lấy được cũng không hiểu.
Nén dữ liệu Giảm dung lượng lưu trữ, không phải mục đích bảo mật chính.
Lưu biên bản hệ thống Ghi lại ai đã làm gì, lúc nào để truy vết và khôi phục khi có sự cố.

Mẹo nhớ: mật khẩu trả lời câu hỏi “Bạn là ai?“, bảng phân quyền trả lời câu hỏi “Bạn được làm gì?“, mã hoá trả lời “Nếu bị lộ thì có đọc được không?“.

Lỗi sai thường gặp

  • Cho rằng có mật khẩu là đã phân quyền xong. Thực tế mật khẩu chỉ xác nhận danh tính; hai người đăng nhập hợp lệ vẫn có thể có quyền khác nhau.
  • Nhầm bảng phân quyền với mã hoá. Phân quyền chặn ở cửa vào, mã hoá bảo vệ khi dữ liệu đã bị lấy ra.
  • Cấp quyền quá rộng “cho tiện”. Nguyên tắc tốt là cấp vừa đủ để người dùng làm việc.

Bài luyện tập

Bài 1. Trong bảng ví dụ ở trên, kế toán có được xoá bản ghi trong bảng LƯƠNG không?
Đáp án: Không, vì chỉ được cấp quyền xem, thêm, sửa.

Bài 2. Hệ thống yêu cầu nhập tên và mật khẩu trước khi vào. Đó là phân quyền hay nhận dạng người dùng?
Đáp án: Nhận dạng người dùng; phân quyền diễn ra sau đó, khi quyết định người này được làm gì.

Bài 3. Thêm một dòng cho “Thực tập sinh” vào bảng trên sao cho chỉ được xem bảng SÁCH.
Đáp án gợi ý: Thực tập sinh – Bảng SÁCH: Xem; Bảng KHÁCH HÀNG: Không có quyền; Bảng LƯƠNG: Không có quyền.

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

Bảng phân quyền dùng để làm gì?

Dùng để quy định mỗi người dùng hoặc nhóm người dùng được phép thực hiện những thao tác nào (xem, thêm, sửa, xoá) trên từng đối tượng dữ liệu, nhằm hạn chế truy cập trái phép.

Bảng phân quyền khác gì với mật khẩu?

Mật khẩu xác nhận danh tính người dùng khi đăng nhập, còn bảng phân quyền quyết định người đó được làm gì sau khi đã đăng nhập.

Bảng phân quyền có mã hoá dữ liệu không?

Không. Mã hoá là biện pháp riêng, biến dữ liệu thành dạng khó đọc. Bảng phân quyền chỉ kiểm soát quyền truy cập của người dùng.

Một người dùng có thể có nhiều quyền khác nhau không?

Có. Cùng một người dùng có thể có quyền khác nhau trên các đối tượng khác nhau, ví dụ chỉ xem bảng này nhưng được sửa bảng kia.