Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Permission design

thanhgit
April 29, 2022

Permission design

- Hiểu về nguyên tắc thiết kế AAA (authN & authZ & audit)
- Phân tích ưu nhược điểm của các phương pháp thiết kế phân quyền như:
+ Access control list
+ Role-based access control (RBAC)
- Lý do tại sao cần audit system
- Để xuất giải pháp cho từng phạm vi của dự án

thanhgit

April 29, 2022
Tweet

More Decks by thanhgit

Other Decks in Research

Transcript

  1. Tại sao phải thiết kế phân quyền -Nhằm bảo mật

    thông tin, phân chia nhiệm vụ, quyền truy cập giữa các đối tượng liên quan -Một hệ thống phân quyền tốt sẽ giúp các hệ thống, module cùng vận hành và tích hợp
  2. Nguyên tắc thiết kế AAA - AAA (Authentication, Authorization, Audit)

    - Các phương pháp hiện tại: + Identity-based authentication gồm: * Capability-based system: mỗi principle nắm giữ một danh sách các quyền * Access control list: mỗi ALC nắm giữ một danh sách các principle + Discretionary access control (DAC): người nắm giữ resource sẽ xác định access policy và danh sách người được truy cập với quyền truy cập xác định. Tương tự việc chia sẻ truy cập trên drive
  3. Nguyên tắc thiết kế AAA + Mandatory access control: access

    control policy được định nghĩa bởi sysadmin, hiện thực như một multi-level access system + Role-based access control (RBA): là hình thức phân quyền dựa vào role, mỗi subject sẽ thuộc về 1-n role. Mỗi role có 1-n permissions + Attribute-based authorization: Nó chứa resources cụ thể và được truy cập bởi một subject cụ thể tương đồng với các actions của attribute của subject đó trong điều kiện được xác định bởi environment https://smartech.gatech.edu/bitstream/handle/1853/39585/Mohan_Apurva_201105_phd.pdf https://dzone.com/articles/access-control-101-why-attribute-based-access-cont https://kipalog.com/posts/Mo-hinh-phan-quyen---ACL--DAC--MAC--RBAC
  4. Access control list for an object - Định nghĩa một

    danh sách các permissions đến object thường phân quyền theo nhóm như: + Theo chức vụ: giám đốc, trưởng phòng, nhân viên - Ưu điểm: đơn giản, nhanh chóng - Nhược điểm: khó mở rộng
  5. Phân quyền theo chức năng - Ưu điểm: dễ thao

    tác trên một nhóm và dễ lập trình - Nhược điểm: khó giải quyết được bài toán nhiều nhóm, nhiều tầng kết hợp với nhau
  6. Role-based access control (RBAC ) - Được thiết kế xung

    quanh role và permission, với các mối quan hệ: + Role-permission + User-role + command-access level
  7. RBAC.1 (role-based authorization) phân quyền ở dạng true/false đến một

    nhóm đối tượng như HR, sales Ví dụ: HR sẽ có các quyền General role, và HR role -Các role sẽ định nghĩa khả năng truy cập vào thư mục, db với các quyền Read,Write, RW
  8. RBAC.2 (Object-based authorization) phân quyền với nhiều giá trị đến

    một đối tượng cụ thể như Nguyễn Văn A, ... - Ưu điểm: phổ biến, dễ maintain - Nhược điểm: phức tạp
  9. Audit system - Ghi lại hành động của user khi

    thực hiện một chức năng của hệ thống + Giúp debug errors + Giúp recovery system from errors - Việc ghi log có 2 tác vụ: + Đánh giá hoạt động + Theo dõi hoạt động -> giúp hệ thống rõ ràng, mình bạch và an toàn
  10. Proposal solutions Nếu phạm vi dự án ở mức trung

    bình, và chỉ dùng authorization cho documents thì đề xuất dùng Role-based authorization