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

Permission design

6ddf14675dfb386411b41f6737bc758f?s=47 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

6ddf14675dfb386411b41f6737bc758f?s=128

thanhgit

April 29, 2022
Tweet

More Decks by thanhgit

Other Decks in Research

Transcript

  1. Research permission design Thanh Nguyen

  2. References https://medium.com/eway/security-101-c%C3%A1c-c%C3%A1ch-thi%E1%BA%BFt-k%E1%BA%BF-h%E1%BB%87- th%E1%BB%91ng-ph%C3%A2n-quy%E1%BB%81n-f7fcb0984678 https://viblo.asia/p/bai-toan-phan-quyen-van-de-muon-thuo-1VgZvw9mlAw http://bloghoctap.com/security/authentication-authorization-va-accounting.html

  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. Proposal solutions https://www.okta.com/resources/whitepaper/ad-architecture/ Nếu phạm vi dự án định hướng

    thêm authorization giữa các service-to-service