雖然AWS有產(chǎn)品能夠同物聯(lián)網(wǎng)應(yīng)用協(xié)同工作,但是我曾經(jīng)讀到過PaaS數(shù)據(jù)庫架構(gòu)可能在涉及大數(shù)據(jù)時(shí)是一種更好的方式。那么PaaS數(shù)據(jù)庫應(yīng)用的安全含義是什么?在物聯(lián)網(wǎng)上什么時(shí)候采用才是合適的時(shí)機(jī)呢?
使用基于云的數(shù)據(jù)庫的核心安全含義在基礎(chǔ)架構(gòu)即服務(wù)以及平臺即服務(wù)上是通用的;有兩點(diǎn)重要的不同在于PaaS模型中的安全分擔(dān)責(zé)任,以及PaaS數(shù)據(jù)庫中共租戶問題。
任何時(shí)間你將一個(gè)應(yīng)用轉(zhuǎn)移到云端,你都需要同一個(gè)云提供商分擔(dān)安全責(zé)任。比如,如果你在AWS EC2實(shí)例上管理了自己的數(shù)據(jù)庫,你需要依賴AWS來提供物理安全以及執(zhí)行訪問控制。作為IaaS的一個(gè)客戶,你需要對確保操作系統(tǒng)安全以及具體的用戶授權(quán)負(fù)責(zé)。同PaaS工作時(shí),更多的責(zé)任轉(zhuǎn)移給了PaaS提供商。
PaaS提供商可以假定管理數(shù)據(jù)庫安全控制。具體而言,廠商要確保服務(wù)器、數(shù)據(jù)庫應(yīng)用、文件以及其他存儲機(jī)制的安全。這是更加關(guān)注應(yīng)用性能和分析物理網(wǎng)應(yīng)用開發(fā)者可以利用的優(yōu)勢,而不是關(guān)注數(shù)據(jù)庫管理。
在使用PaaS數(shù)據(jù)庫時(shí),你可能想要考慮和其他的PaaS用戶數(shù)據(jù)相對而言,自己的數(shù)據(jù)是如何存儲的。比如,如果使用一個(gè)鍵值數(shù)據(jù)庫,數(shù)據(jù)可能存儲于一個(gè)單一的邏輯數(shù)據(jù)庫中。在這個(gè)場景中,PaaS應(yīng)用必須包括具體的客戶標(biāo)識符,有一個(gè)鍵值確定,來避免與其他用戶的數(shù)據(jù)發(fā)生沖突。如果使用一個(gè)關(guān)系型數(shù)據(jù)庫來存儲應(yīng)用具體的數(shù)據(jù),比如來自汽車的傳感器讀取,然后PaaS提供商可能基于客戶ID使用一個(gè)單一的數(shù)據(jù)庫和分區(qū)。PaaS客戶的關(guān)鍵問題是“相對于其他客戶的數(shù)據(jù),自己的數(shù)據(jù)如何存儲,以及其他人訪問客戶的數(shù)據(jù),這種機(jī)制可能導(dǎo)致的潛在漏洞是什么?”
關(guān)于運(yùn)行在虛擬服務(wù)器上的應(yīng)用,多租戶也是一個(gè)問題。一個(gè)應(yīng)用的單一實(shí)例是否能從多個(gè)客戶處接受數(shù)據(jù)?比如,一個(gè)消息隊(duì)列,類似Kafka或者Kenesis,可以用來接受來自物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù);對于你而言,共享消息服務(wù)是可以接受的嗎?或者你要求有自己的消息隊(duì)列,獨(dú)立的輸入流?
PaaS提供商可能提供了具體的數(shù)據(jù)庫服務(wù),精準(zhǔn)適用于物聯(lián)網(wǎng)工作負(fù)載。理解多租戶是很重要的,尤其是數(shù)據(jù)加載服務(wù)、應(yīng)用是如何處理的以及數(shù)據(jù)存儲是如何實(shí)施的。