5.2.4.2 SaaS多用戶隔離
對(duì)于SaaS服務(wù)而言,解決SaaS底層架構(gòu)的安全問題關(guān)鍵在于,在多用戶共享應(yīng)用的情況下如何解決用戶之間的隔離問題。
解決用戶之間的隔離問題可以在云架構(gòu)的不同層次實(shí)現(xiàn),即物理層隔離、平臺(tái)層隔離和應(yīng)用層隔離。
(1)物理層隔離
這種方法為每個(gè)用戶配置單獨(dú)的物理資源,以實(shí)現(xiàn)在物理上的隔離。用戶不用去擔(dān)心服務(wù)器的地理位置和性能,不同的用戶可以申請(qǐng)分配到屬于自己的不同的服務(wù)器,那么用戶之間數(shù)據(jù)就不會(huì)發(fā)生沖突,同時(shí)也達(dá)到了隔離的目的。這種方法是最容易實(shí)現(xiàn),安全性較好,但也是硬件成本最高的,能夠支持的用戶數(shù)量也最少。
(2)平臺(tái)層隔離
平臺(tái)層處于物理層和應(yīng)用層之間,主要是封裝物理層提供的服務(wù),使用戶能夠更加方便地使用底層服務(wù)。要在這一層上實(shí)現(xiàn)隔離,需要平臺(tái)層能夠響應(yīng)不同用戶的不同需求,把屬于不同用戶的數(shù)據(jù)按照映射的方式反饋給不同的用戶,這樣就能夠達(dá)到隔離的目的。這種方式平臺(tái)層會(huì)消耗較多的資源,實(shí)現(xiàn)數(shù)據(jù)和用戶請(qǐng)求的映射,但硬件成本比物理層隔離方案低,能夠支持的用戶數(shù)量也比物理層隔離方案多。
(3)應(yīng)用層隔離
應(yīng)用層隔離主要包括應(yīng)用隔離沙箱和共享應(yīng)用實(shí)例方式。前者采用沙箱隔離應(yīng)用,每個(gè)沙箱形成一個(gè)應(yīng)用池,池中應(yīng)用與其他池中的應(yīng)用相互隔離,每個(gè)池都有一系列后臺(tái)進(jìn)程來處理應(yīng)用請(qǐng)求。這種方式能夠通過設(shè)定池中進(jìn)程數(shù)目達(dá)到控制系統(tǒng)最大資源利用率的目的。
后者要求應(yīng)用本身需要支持多用戶,用戶之間是隔離的,但是成千上萬的用戶可能使用同一個(gè)應(yīng)用實(shí)例,用戶可以用配置的方式對(duì)應(yīng)用進(jìn)行定制。這種方式具有較高的資源利用率和配置靈活性。