iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0
Software Development

軟體架構備忘錄系列 第 7

Day 7 資訊安全 - 授權 (知識點029~033)

  • 分享至 

  • xImage
  •  

角色為基礎授權

描述

RBAC (Role Base Access Control,以角色為基礎授權) 取代傳統以屬性為基礎的權限控管架構(Attribute Base Access Control,ABAC)。RBAC以抽象化的各使用者角色為基礎,進行權限控管。透過設定該角色可執行的動作清單,再分配人員至角色。減少權限控管的複雜度並降低錯誤的可能性。

優點

  • 減少用戶身分變更的複雜度:特定用戶角色變更時,無須修改所有使用的動作權限控管,只需要將其從原始角色移除,並附加到新角色即可。
  • 較易於定期權限檢核作業:只需要檢視對應各角色的成員是否正確即可。
  • 降低錯誤的可能性:由於權限變更的動作數、複雜度降低,因此錯誤的可能性較低。

缺點

  • 建置成本較高:需要更多時間規劃與建置抽象化的角色
  • 複雜的系統角色難以定義:如果成員有多種複雜、重疊的角色,後續管理與維護時可能會有大量角色

傳統以屬性為基礎授權的例子

這種形式的授權,任何成員異動皆需要檢視相關聯的動作清單的授權

  • 查詢商品清單:成員A, B, C, D, E
  • 新增商品清單:成員A, B, C
  • 刪除商品清單:成員A, B, C

以角色為基礎授權的例子

RBAC的授權下,任何成員變更都只需要檢視該成員目前隸屬的角色清單即可

動作

  • 查詢商品清單:商品查詢者
  • 新增商品清單:商品管理者
  • 刪除商品清單:商品管理者

角色

  • 商品查詢者:成員A, B, C, D, E
  • 商品管理者:成員A, B, C

分層授權原則

描述

針對資源的重要性與敏感度,設定不同的權限控管層級。謹慎控管高層級權限的授權範圍,以減少高風險資源的被濫用或洩漏的風險。

案例

以下方商品進貨、上架、審核等常見流程為例,越高層級權限的動作,其授權管控流程需要更謹慎。

  • 高層級權限:檢視與修改商品進貨的合約資料權限
  • 中層級權限:商品上架時,審核資料、制定價格的權限
  • 低層級權限:商品上架、銷售後,可修改商品數量、基本資料的權限

職責分離原則

描述

職責分離原則中,減少不同角色間的權限重疊度,減少特定角色被滲透或內部成員濫用權力的風險。

案例

在管理面上,應明確下方各種角色之間的職責區分。並且避免任一成員身兼多種角色。以避免該成員的身分資料洩漏或濫用權力時,造成過大的傷害。
例如:程式開發人員兼任伺服器管理人員 可能會造成程式架構並未遵循安全原則而無人追蹤與稽核

  • 伺服器管理人員:負責管理伺服器更新、軟體安裝作業
  • 資料庫管理人員:負責管理資料庫設定、備份等作業
  • 資安管理人員:負責檢視資訊安全是否有漏洞
  • 程式開發人員:負責撰寫程式邏輯

最小授權原則

描述

最小授權原則是指無論使用者或是系統,都只給予執行業務需求所需的最小權限,以減少過度提供權限所產生的安全性風險。

優點

  • 該角色或系統被滲透時,降低損害的範圍

案例

  • 系統只允許最少的指令執行權限、允許最少可連線的IP與Port
  • 角色只允許最少的動作執行權限,如果該角色並不需要使用此動作,則不需要授予進行該動作的權限

存取權檢核

描述

存取權檢核 (Access Review) 是指定時檢查授權內容是否正確。

常見檢核內容

  • 各角色、系統的授權符合最小授權原則。
  • 各角色的成員清單上記載的成員,仍然擔任該角色。

避免風險

  • 因系統多次設定變更,而保有不須執行的指令或網路存取權限
  • 角色成員錯誤:因成員職位異動後,未正確從角色中移除成員
  • 角色授權過大:角色職能調整後,未正確移除不需要執行的動作

常見實施方式

  • 定時產生存取權檢核報告,供各授權負責人檢視授權清單是否正確

上一篇
Day 6 資訊安全 - 認證 (知識點023~028)
下一篇
Day 8 系統架構 - 執行環境 (知識點034~041)
系列文
軟體架構備忘錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言