
|
143
第六章:身份識別、身份驗證與授權
第六章
身份識別、身份驗證與授權
多租戶
(
Multitenancy
)是一個很炫的名詞,代表能在單一大型系統中,支援許多獨立
的個體(
entity
)。在一個系統中支援多重獨立的個體,一般來說是很有用的,特別是
對每個個體而言,這個系統很昂貴或者維運這套系統是很複雜的。舉例來說,在單一
資料庫伺服器中執行多個資料庫,幾乎是每個
RDBMS
廠商都支援的能力。若用
Hadoop
來舉另一個例子,如果打造了一個龐大的叢集來執行每小時的商業運轉
MapReduce
任
務,一般而言在執行這些任務的間隔時間,會有閒置的資源。如果我們將使用者依群
組或使用情境各自獨立(
silo
),則所有群組的這些資源使用間歇現象將會消失。然而,
將較小的獨立叢集合併成一個大型叢集通常(但非絕對)是合理的。這不但簡化了營
運,也增加可用的資源,來服務客戶,平均來看,提升了系統資源的使用率。
不幸的是,營運一個多租戶系統往往伴隨著許多明顯的挑戰。控制資料與資源的存取
權限,馬上就變成一個考量點,特別是資料天生就有敏感性。若有兩組不同的用戶,
非但不能看到彼此的資料,甚至連對方的存在也不該知道。控制資源的存取權也變得
十分重要。不應該發生某一個群組壟斷整個共享系統資源的現象。在多租戶系統中,
系統管理者與資安稽核人員(
security and compliance staff
)必須能監控並稽核用戶的
活動,以確保資源政策有被落實。在一個多租戶系統中,隔離的維度可視為獨立(
silo
)
與共享佈署之間的可控因子( ...