tft每日頭條

 > 科技

 > saas系統功能

saas系統功能

科技 更新时间:2024-05-13 22:14:37

本文作者将從産品的角度對SaaS産品設計時可能會涉及到的安全性問題進行大緻的闡述,enjoy~

saas系統功能(SaaS系統-應用安全)1

對于SaaS應用,由于如下原因:

  1. SaaS服務和數據部署在雲端而不是用戶本地機房,可能存在不可控問題;
  2. SaaS基于多租戶架構,多個租戶共用一套實例,可能存在數據安全性問題;
  3. 租戶基于網絡進行訪問,可能存在網絡劫持等不确定性因素。

因此,潛在用戶在考量是否采用SaaS服務時,系統安全性及穩定性必将成為一個重點考量的方向。

下面将從産品的角度對SaaS産品設計時可能會涉及到的安全性問題進行大緻的闡述,首先介紹的是如何實現應用的安全性

應用安全确保租戶在使用SaaS時能享有高可用性和高可靠性。為了實現應用安全,SaaS系統需要在身份認證,權限管理,日志管理等方面采取必要的措施。

身份認證

身份認證确保隻有經過系統合法授權的用戶才能操作和使用系統,是保證整個系統應用安全的基礎。通常在系統設計時可選用三種常見的身份認證模式,分别是集中式認證,非集中式認證,混合式認證。

三種認證方式對比結果如下:

saas系統功能(SaaS系統-應用安全)2

集中式身份認證

集中式身份認證的前提是通過部署一個統一的身份認證中心,該身份認證中心主要負責對登錄SaaS用戶的身份進行認證和維護,對應的圖示如下:

saas系統功能(SaaS系統-應用安全)3

雖然采用集中式身份認證方案可以很好的保證登錄用戶的安全性。但是,該方案需要租戶在SaaS應用的身份認證中心維護自己的身份,這樣必将導緻租戶信息不能與其他系統一起使用,更不能實現單點登錄。

非集中式身份認證中心

saas系統功能(SaaS系統-應用安全)4

非集中式身份認證中心就是每個租戶采用自己獨有的身份認證系統,各租戶通過SaaS系統發布的安全令牌,也就是Token進行通信。SaaS系統的身份認證中心通過接受解析接受到的Token來獲取對應用戶的信息。

非集中式身份認證最大程度保證系統的靈活性,通過租戶現有的身份認證中心,能夠實現租戶身份的統一維護,便于實現租戶各個系統之間的單點登錄。但這種認證方式依賴各租戶自身的身份認證系統,十分容易導緻SaaS應用的身份認證系統出現安全性問題。

混合式身份認證

saas系統功能(SaaS系統-應用安全)5

不管是集中式身份認證抑或是非集中式身份認證,在實際生産環境中,這兩種身份認證方式都會被會被廣泛的使用到。而且對于SaaS應用而言,需要服務的客戶千差萬别,很對中小型租戶并沒有專門的身份認證中心,要求SaaS本身提供身份認證服務;而對于大型公司而言,已有成型的身份認證系統。所以跟進上述情況,在設計SaaS産品是,既要提供集中式的身份認證模式,已滿足中小型租戶的使用需求,又要提供非集中式的身份認證模式供大型客戶使用。也就是提供混合型身份認證模式滿足各類型用戶需求。

權限管理

權限管理就是對訪問SaaS系統的租戶進行訪問權限的控制,确保隻有擁有對應權限的用戶才能操作對應的功能,下面将分别從權限模型,權限分配模式,權限校驗三個方向對SaaS應用的權限管理做詳細的介紹

權限模型

不管是傳統模式,還是SaaS模式,廣泛采用的權限模式就是RBAC模型。标準RBAC模型包含四種,分别是基礎模型RBAC0、角色分級模型RBAC1、角色限制模型RBAC2和統一模式RBAC3。

  • RBAC0:RBAC的基礎,定義了用戶、角色、會話、操作、操作指引的基礎概念及關系。
  • RBAC1:在RBAC0的基礎上強調角色間的繼承關系。
  • RBAC2:在RBAC0的基礎上強調角色間的限制,包含,約束關系。
  • RBAC3:強調繼承,也強調角色間的約束。

RBAC0基礎模型的基本原理圖:

saas系統功能(SaaS系統-應用安全)6

RBAC0模型在SaaS系統中同樣強調用戶、會話、角色、操作、資源等基本概念。但相對傳統應用所有資源都是全局屬性的模式,SaaS系統有着更多的不同性和更高的複雜性。對于SaaS系統而言,用戶是租戶所特有的;角色既有全局的,也有租戶自身的,而租戶的角色是需要隔離的。

權限分配

從上面的權限模型中可以看出,權限分配主要涉及角色管理、用戶到角色、角色許可分配。

角色在SaaS系統權限分配中發揮着重要的作用。對于SaaS系統而言,角色既有全局角色,也有租戶相關的角色。全局角色包含系統管理員和各租戶都會使用到的通用角色,系統管理員主要對系統和租戶進行維護及管理。通用角色主要是為了簡化租戶的操作而統一定義的系統操作角色。租戶相關的角色也可以進一步分為租戶管理員和租戶自定義的業務角色。

SaaS系統中的用戶到角色主要由租戶自己操作,對應的租戶可根據自己的實際業務需求自定義相關的角色,也可以直接采用系統通用角色。

角色許可分配涉及到兩個方面:

  1. 系統通用角色許可的分配,由系統管理員創建通用角色時統一分配;
  2. 租戶自定義角色許可的分配。由租戶管理員分配。

由于角色許可分配涉及具體操作權限的分配,相關實現方式可查看老鬼前幾篇文章。

權限校驗

權限校驗主要實現驗證對應請求用戶是否具有操作權限。首先校驗租戶是否購買相應的功能,如果購買了,再來校驗該用戶是否被授予使用權限。需要注意的是權限校驗模塊作為一個通用模塊,在實際應用中會被反複調用。所以在實現時,需要盡最大的努力保證高性能,高并發。

日志記錄

SaaS系統獲取用戶信任是需要解決的核心問題,試想一下如果用戶在系統中做了一些錯誤操作導緻重要數據丢失或出錯了,這個時候用戶可能會懷疑這些錯誤是系統導緻的,或者是其他租戶的操作造成的。這種懷疑将會導緻用戶對系統安全性的不信任,不信任的産生将會産生緻命的結果。所以,對于完整的SaaS系統,其在設計之初,就需要考慮到安全性問題,通過日志的形式規避這種可能存在的風險。

日志記錄就是要對用戶在系統的操作行為和操作數據進行記錄,以便對用戶在系統中進行的操作進行查證,确保用戶的行為不可僞造,不可銷毀,不可否認。

日志具體記錄包含兩部分:行為日志記錄和數據日志記錄。

  • 行為日志記錄:行為日志記錄就是記錄用戶在系統中訪問的每一個頁面,在頁面中所做的每一個行為都被記錄下來,記錄用戶的身份和行為的時刻。例如:租戶A的用戶A1在2018:08:04-15:00訪問了重要客戶列表,做了删除客戶操作。
  • 數據日志記錄:數據日志記錄,就是要對用戶在系統中所操作的數據進行記錄,記錄數據的變更過程和變更曆史。這在多人操作同一個數據的系統顯得尤為重要。

本文由 @老鬼 原創發布于人人都是産品經理。未經許可,禁止轉載

題圖來自 Pexels,基于 CC0 協議

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved