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