前言
驗證(Authentication)與授權(Authorization)是存取控制中兩個常被混淆的概念,背後分別代表兩種問題:你是誰?你被允許做哪些事?同時也將介紹幾種常見的授權模式,例如 RBAC 與 ABAC 管理授權。
飯店背後的驗證與授權
抵達飯店後,櫃台人員要求出示證件以便「驗證」訂房資料與身份,驗證成功後拿到飯店鑰匙,鑰匙可以訪問飯店各種服務,這把鑰匙「授權」飯店客人使用飯店的服務,VIP 鑰匙、員工鑰匙、普通客人鑰匙……不同鑰匙有各自的授權範圍。
授權的模式
權限管理其實一般人就有機會接觸到,像是社群媒體設定中的「誰能看我的文章?」就是一種授權的體現。有許多現成模式可用於管理權限,而不同模式有各自的優劣,甚至能夠混合使用。
基於屬性的存取控制 Attribute-Based Access Control
ABAC 適合細緻靈活的權限控制,高度的靈活性、細粒度和動態性,能有效應對複雜的訪問控制需求。
基於角色的存取控制 Roles-Based Access Control
RBAC 簡化權限管理、增強可管理性、提供靈活的權限分配以及支持動態權限管理。
總結
- Authentication 驗證:確認使用者身分。
- Authorization 授權:確認使用者有權訪問什麼內容。
- Authorization Scope 授權範圍:使用者可存取的資源或可執行的操作範圍。
- Access token 存取權杖:存取資源的通行證。
延伸閱讀
- Learn about authentication and authorization - Google Workspace
- Role-based access control (RBAC) vs. Attribute-based access control (ABAC) - IBM Technology