it-swarm-vi.com

Sự khác biệt giữa RBAC và DAC / ACL là gì?

Lợi ích của mỗi loại này là gì và khi nào tôi nên chọn cái này hơn cái kia? Có những tình huống mà những điều này nên được sáp nhập?

Bạn có ví dụ về cách sử dụng phổ biến?

Và những gì về MAC, nơi đó phù hợp?

64
AviD

RBAC (Kiểm soát truy cập dựa trên vai trò) dựa trên việc xác định danh sách các vai trò kinh doanh và thêm từng người dùng trong hệ thống vào một hoặc nhiều vai trò. Quyền và đặc quyền sau đó được cấp cho mỗi vai trò và người dùng nhận được chúng thông qua tư cách thành viên của họ trong vai trò (tương đương với một nhóm). Các ứng dụng thường sẽ kiểm tra người dùng về tư cách thành viên trong một vai trò cụ thể và cấp hoặc từ chối truy cập dựa trên điều đó.
[.__.] Kiểm soát truy cập tùy ý (DAC) cho phép người dùng hoặc quản trị viên xác định Danh sách kiểm soát truy cập (ACL) trên một tài nguyên cụ thể (ví dụ: tệp, khóa đăng ký, bảng cơ sở dữ liệu, đối tượng hệ điều hành, v.v.), Danh sách này sẽ chứa các mục nhập (ACE) xác định mỗi người dùng có quyền truy cập vào tài nguyên và đặc quyền của cô ấy là gì đối với tài nguyên đó.

Lợi ích chính của RBAC so với DAC, là dễ quản lý - về nguyên tắc bạn có rất ít vai trò, được quản lý tập trung, bất kể có bao nhiêu người dùng và vấn đề chỉ là trao cho mỗi người dùng vai trò chính xác; trái ngược với DAC, nơi đối với mỗi người dùng mới (hoặc thay đổi người dùng hoặc xóa, v.v.), bạn phải đi xung quanh tất cả các tài nguyên cô ấy cần truy cập và thêm chúng vào danh sách.
[.__.] Mặt khác, DAC thường đơn giản hơn và thường chi tiết hơn. Ngoài ra, trong mô hình DAC, chủ sở hữu dữ liệu có thể quyết định ai có quyền truy cập (nếu anh ta có quyền đó trên dữ liệu) và thêm hoặc xóa người khỏi danh sách.

Ví dụ rất phổ biến của DAC là hệ thống tệp Windows. Mặt khác, ví dụ rất phổ biến của RBAC là DAC trên các máy chủ tệp công ty - bất kỳ ai trong nhóm ActiveDirectory "Bán hàng" sẽ có quyền truy cập vào thư mục chia sẻ\Sales \. Phổ biến hơn là nhóm Quản trị viên trong Windows.

MAC là Kiểm soát truy cập bắt buộc, đây có thể được xem là cấp độ phân loại hoặc quyền riêng tư. Điều này thường được sử dụng trong các hệ thống quân sự và trở lại trong thời kỳ Mainframe :). Không còn được sử dụng nhiều nữa, mặc dù các hệ điều hành hiện tại đang thực hiện một hương vị của điều này, chẳng hạn như Cấp độ toàn vẹn của Vista/Win7.

Để tổng hợp sự khác biệt:

  • DAC dựa trên quyền cá nhân, RBAC dựa trên quyền "nhóm" -level
  • DAC được đặt bởi chủ sở hữu dữ liệu, RBAC bởi chủ sở hữu hệ thống (thường là nhà phát triển xác định quyền truy cập được cung cấp cho từng vai trò và quản trị viên vận hành đặt người dùng vào vai trò)
  • Các định nghĩa về DAC thường được gắn vào dữ liệu/tài nguyên, trong khi RBAC thường được xác định ở hai vị trí: trong mã/cấu hình/siêu dữ liệu (quyền truy cập vai trò) và trên đối tượng người dùng (hoặc bảng - vai trò của mỗi người dùng).
  • Mặt khác, các vai trò RBAC được quản lý tập trung (người được liên kết với vai trò nào), trong khi đó, DAC được quản lý "trên tài nguyên" (nghĩa là bạn quản lý từng tài nguyên riêng lẻ).
  • Định nghĩa về quyền cho mỗi vai trò thường là tĩnh trong RBAC và người dùng chỉ được cấp vai trò; trong DAC, các quyền trên mỗi tài nguyên thường được thay đổi khi chạy.
  • DAC nên được xem là liệt kê "ai có quyền truy cập vào dữ liệu của tôi" và RBAC định nghĩa "người dùng này có thể làm gì".
87
AviD