文章轉自https://www.jb51.net/article/151723.htm數據庫
什麼是多租戶安全
多租戶技術或稱多重租賃技術,簡稱SaaS
,是一種軟件架構技術,是實現如何在多用戶環境下(此處的多用戶通常是面向企業用戶)共用相同的系統或程序組件,而且可確保各用戶間數據的隔離性。服務器
簡單講:在一臺服務器上運行單個應用實例,它爲多個租戶(客戶)提供服務。從定義中咱們能夠理解:多租戶是一種架構,目的是爲了讓多用戶環境下使用同一套程序,且保證用戶間數據隔離。那麼重點就很淺顯易懂了,多租戶的重點就是同一套程序下實現多用戶數據的隔離。架構
數據隔離方案ide
多租戶在數據存儲上存在三種主要的方案,分別是:.net
獨立數據庫設計
即一個租戶一個數據庫,這種方案的用戶數據隔離級別最高,安全性最好,但成本較高。code
共享數據庫,獨立 Schemahtm
多個或全部租戶共享Database,可是每一個租戶一個Schema(也可叫作一個user)。底層庫好比是:DB二、ORACLE等,一個數據庫下能夠有多個SCHEMA。開發
共享數據庫,共享 Schema,共享數據表
即租戶共享同一個Database、同一個Schema,但在表中增長TenantID多租戶的數據字段。這是共享程度最高、隔離級別最低的模式。
簡單來說,即每插入一條數據時都須要有一個客戶的標識。這樣才能在同一張表中區分出不一樣客戶的數據,這也是咱們系統目前用到的(provider_id)