保護(hù)使用中數(shù)據(jù)
假設(shè)這樣一個(gè)場(chǎng)景:你要讓客戶服務(wù)代表訪問(wèn)包含客戶電話號(hào)碼和電子郵件地址的數(shù)據(jù)庫(kù)。你仍希望他們能夠驗(yàn)證來(lái)電用戶的身份,因此除了客戶電話號(hào)碼的最后四位數(shù)外,其余數(shù)字需要加密,而不會(huì)透露給服務(wù)代表。如何實(shí)施適合這種情況的解決方案?
動(dòng)態(tài)數(shù)據(jù)掩碼
動(dòng)態(tài)數(shù)據(jù)掩碼是一種基于策略的安全功能,會(huì)在針對(duì)指定的數(shù)據(jù)庫(kù)字段運(yùn)行查詢后返回的結(jié)果集中隱藏敏感數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)庫(kù)中的數(shù)據(jù)不變。它允許客戶指定在對(duì)應(yīng)用程序?qū)赢a(chǎn)生最小影響的前提下可以透露的敏感數(shù)據(jù)量,從而幫助防止未經(jīng)授權(quán)的用戶訪問(wèn)敏感數(shù)據(jù)。
在下圖中,電話號(hào)碼列的最后三位數(shù)和其余字符被掩碼。
數(shù)據(jù)掩碼規(guī)則包含要應(yīng)用掩碼的列,以及對(duì)數(shù)據(jù)進(jìn)行掩碼的方式。使用標(biāo)準(zhǔn)掩碼或指定自己的自定義掩碼邏輯。
?下表顯示了需要掩碼的列以及邏輯:
場(chǎng)景解決方案
默認(rèn)
改為顯示該數(shù)據(jù)類型的默認(rèn)值
信用卡
XXXX-XXXX-XXXX-1234
電子郵件
aXX @
隨機(jī)數(shù)
在選定邊界之間生成隨機(jī)數(shù)
自定義文本
在公開(kāi)的前綴和公開(kāi)的后綴字符之間添加填充字符串
備注
請(qǐng)注意,動(dòng)態(tài)數(shù)據(jù)掩碼是一項(xiàng)顯示層功能,管理員始終可以查看未掩碼的數(shù)據(jù)。
假設(shè)這樣一個(gè)場(chǎng)景:某個(gè)數(shù)據(jù)庫(kù)由所有授權(quán)級(jí)別的用戶查詢和訪問(wèn)。沒(méi)有管理員特權(quán)的用戶查詢包含一些敏感客戶數(shù)據(jù)(例如電話號(hào)碼、電子郵件等)以及購(gòu)買(mǎi)信息和產(chǎn)品信息的表。
?如何實(shí)施一個(gè)解決方案,以便隱藏敏感信息,同時(shí)允許用戶查看其他字段?
使用中數(shù)據(jù)的動(dòng)態(tài)數(shù)據(jù)掩碼 - 可以使用電子郵件、信用卡等的默認(rèn)掩碼邏輯設(shè)置動(dòng)態(tài)數(shù)據(jù)掩碼策略?;蛘邽橄嚓P(guān)字段指定自定義文本或隨機(jī)數(shù)??梢栽试S其他用戶查看掩碼版本,將他們添加到掩碼列表中已排除的 SQL 用戶即可。
適用靜態(tài)數(shù)據(jù)和傳輸中數(shù)據(jù)的 功能
是旨在為訪問(wèn)特定數(shù)據(jù)庫(kù)列中存儲(chǔ)的敏感數(shù)據(jù)(例如信用卡號(hào)、身份證號(hào)等)提供保護(hù)的一項(xiàng)功能。訪問(wèn)者包括數(shù)據(jù)庫(kù)管理員,或有權(quán)訪問(wèn)數(shù)據(jù)庫(kù)以執(zhí)行管理任務(wù)的其他特權(quán)用戶。數(shù)據(jù)始終處于加密狀態(tài),這意味著加密數(shù)據(jù)只在有權(quán)訪問(wèn)加密密鑰的客戶端應(yīng)用程序需要處理數(shù)據(jù)時(shí)才解密。此密鑰可存儲(chǔ)在 證書(shū)存儲(chǔ)或 Azure 密鑰保管庫(kù)中。
的工作原理
下面解釋了 的分步過(guò)程:
重要
不能與動(dòng)態(tài)數(shù)據(jù)掩碼配合工作。無(wú)法加密和掩碼同一列。需要優(yōu)先保護(hù)使用中數(shù)據(jù),而不是通過(guò)動(dòng)態(tài)數(shù)據(jù)掩碼來(lái)掩碼應(yīng)用用戶的數(shù)據(jù)。
假設(shè)這樣一個(gè)場(chǎng)景 - 客戶在其營(yíng)業(yè)地點(diǎn)有一個(gè)本地客戶端應(yīng)用程序。在將其數(shù)據(jù)庫(kù)遷移到云的過(guò)程中,他們需要評(píng)估 Azure SQL 數(shù)據(jù)庫(kù)。他們打算將數(shù)據(jù)庫(kù)維護(hù)工作外包給第三方。他們想要防止第三方供應(yīng)商或云管理員訪問(wèn)敏感數(shù)據(jù)。你的建議是什么?
適用于靜態(tài)數(shù)據(jù)和傳輸中數(shù)據(jù)的 - 確保在數(shù)據(jù)庫(kù)管理員和應(yīng)用程序管理員之間實(shí)現(xiàn)職責(zé)分離。通過(guò)將 密鑰存儲(chǔ)在本地托管的受信任密鑰存儲(chǔ)中,他們可以確保 云管理員無(wú)法訪問(wèn)敏感數(shù)據(jù)。 使客戶能夠放心地存儲(chǔ)不受其直接控制的敏感數(shù)據(jù)。
七、Azure SQL Edge 設(shè)計(jì)
Azure SQL Edge 是已針對(duì) IoT 和 IoT Edge 部署進(jìn)行優(yōu)化的關(guān)系數(shù)據(jù)庫(kù)引擎。Azure SQL Edge 構(gòu)建在與 SQL 和 Azure SQL 相同的引擎基礎(chǔ)之上。這意味著,擁有 SQL 服務(wù)器技能的開(kāi)發(fā)人員可以重用他們的代碼在 Azure SQL Edge 上構(gòu)建特定于邊緣的解決方案。Azure SQL Edge 提供流式傳輸、處理和分析關(guān)系與非關(guān)系數(shù)據(jù)(例如 JSON、圖和時(shí)序數(shù)據(jù))的功能。
Azure SQL Edge 有兩個(gè)不同的版本,如下表中所述。這些版本具有相同的功能集,并且僅在使用權(quán)限和它們?cè)谥鳈C(jī)系統(tǒng)上可以訪問(wèn)的內(nèi)存量和內(nèi)核數(shù)方面存在差異。
了解 Azure SQL Edge 部署模型
Azure SQL Edge 支持兩種部署模式。
重要
Azure SQL Edge 針對(duì) IoT 用例和工作負(fù)載進(jìn)行了優(yōu)化。相比之下,SQL 和 SQL 數(shù)據(jù)庫(kù)是針對(duì)關(guān)鍵任務(wù)、數(shù)據(jù)管理解決方案和業(yè)務(wù)線 (LOB) 應(yīng)用而構(gòu)建的。
Azure SQL Edge 的工作原理
Azure SQL Edge 是容器化的 Linux 應(yīng)用程序。啟動(dòng)內(nèi)存占用量小于 500 MB。這使得用戶能夠設(shè)計(jì)和構(gòu)建可在許多 IoT 設(shè)備上運(yùn)行的應(yīng)用。SQL Edge 可以:
下圖顯示了 SQL Edge 捕獲和存儲(chǔ)流數(shù)據(jù)的功能。
對(duì)于 IoT 數(shù)據(jù)數(shù)據(jù)庫(kù)備份解決方案,重要的是不僅要捕獲不斷增加的連續(xù)實(shí)時(shí)數(shù)據(jù)流,還要從中衍生有價(jià)值的見(jiàn)解。Azure SQL Edge 支持內(nèi)置的流式處理引擎,可以幫助滿足這些需求。它具有以下功能
下圖顯示了 Azure SQL Edge 與網(wǎng)絡(luò)邊緣組件(包括邊緣網(wǎng)關(guān)、IoT 設(shè)備和邊緣服務(wù)器)的交互。
在將 IoT 應(yīng)用部署到邊緣時(shí),安全性是一個(gè)主要考慮因素。由于 Azure SQL Edge 基于 SQL 技術(shù)(最安全的數(shù)據(jù)庫(kù)平臺(tái)之一),因此具有與 SQL 相同的安全功能。另外,同樣的安全策略和做法也從云擴(kuò)展到了邊緣。
保護(hù) Azure SQL Edge 部署涉及到下表中所述的步驟:
平臺(tái)和系統(tǒng)安全性。這包括物理 主機(jī)、主機(jī)上的操作系統(tǒng),以及將物理設(shè)備連接到應(yīng)用程序和客戶端的網(wǎng)絡(luò)系統(tǒng)。
身份驗(yàn)證和授權(quán)。SQL 身份驗(yàn)證是指使用用戶名和密碼連接到 Azure SQL Edge 時(shí)對(duì)用戶進(jìn)行身份驗(yàn)證。授權(quán)是指為 Azure SQL Edge 中的數(shù)據(jù)庫(kù)內(nèi)的用戶分配的權(quán)限
數(shù)據(jù)庫(kù)對(duì)象安全性?!鞍踩珜?duì)象”是服務(wù)器、數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)包含的對(duì)象。加密增強(qiáng)了安全性。采用透明數(shù)據(jù)加密 (TDE) 的數(shù)據(jù)保護(hù)能夠遵守許多安全法規(guī)。 提供數(shù)據(jù)所有者和管理者之間的分離
應(yīng)用程序安全性。Azure SQL Edge 安全性最佳做法包括編寫(xiě)安全的客戶端應(yīng)用程序。
場(chǎng)景 - 實(shí)時(shí)引入數(shù)據(jù)
假設(shè)你就職于一家汽車制造公司。你正在研發(fā)一款 IoT 應(yīng)用,該應(yīng)用可以從你們公司生產(chǎn)的汽車上的多個(gè) IoT 傳感器獲取數(shù)據(jù)。無(wú)論車輛的應(yīng)用處于在線還是離線狀態(tài),數(shù)據(jù)都必須始終保持可用,這一點(diǎn)非常重要。另一個(gè)目標(biāo)是使用這些數(shù)據(jù)來(lái)幫助進(jìn)行產(chǎn)品開(kāi)發(fā)。這意味著,數(shù)據(jù)必須與在 Azure SQL 中構(gòu)建的基于云的數(shù)據(jù)庫(kù)系統(tǒng)輕松同步。
你的任務(wù)是專門(mén)為 SQL 推薦一個(gè)解決方案,該解決方案應(yīng)該足夠強(qiáng)大,可以支持邊緣計(jì)算。它應(yīng)該足夠安全,有助于滿足 IoT 應(yīng)用程序的隱私需求。
Azure SQL Edge 占用空間小,并已針對(duì) IoT 設(shè)備進(jìn)行邊緣優(yōu)化,因此最適合用于滿足上述要求。
在什么情況下使用 Azure SQL Edge?
Azure SQL Edge 非常適合用于:
要求
SQL Edge 功能
連接限制
Azure SQL Edge 支持使用或不使用網(wǎng)絡(luò)連接的解決方案。
寬帶連接速度緩慢或間歇性斷開(kāi)
Azure SQL Edge 提供功能強(qiáng)大的本地?cái)?shù)據(jù)庫(kù)。使用它,你無(wú)需將所有數(shù)據(jù)轉(zhuǎn)發(fā)到基于云的數(shù)據(jù)庫(kù),從而消除了延遲。
數(shù)據(jù)安全和隱私考量
Azure SQL Edge 實(shí)現(xiàn)了 RBAC 和 ABAC、加密和數(shù)據(jù)分類。這可以幫助你保護(hù)和控制對(duì) IoT 應(yīng)用數(shù)據(jù)的訪問(wèn)。
與后端系統(tǒng)的同步和連接
在 Azure SQL Edge 中可與 Azure SQL 數(shù)據(jù)庫(kù)、SQL 和 Azure DB 等其他系統(tǒng)輕松交換數(shù)據(jù)。
熟悉程度
Azure SQL Edge 與 SQL 共用相同的代碼庫(kù)。擁有 SQL 或 SQL 數(shù)據(jù)庫(kù)技能的開(kāi)發(fā)
人員可以重用他們的代碼和技能
八、Azure DB 和表設(shè)計(jì)
Azure DB 是一個(gè)完全托管的 NoSQL 數(shù)據(jù)庫(kù)服務(wù),用于新式應(yīng)用開(kāi)發(fā)。它的響應(yīng)時(shí)間不到 10 毫秒,在任何規(guī)模下都能保證速度。
作為一項(xiàng)完全托管的服務(wù),Azure DB 利用自動(dòng)管理、更新和修補(bǔ)功能為你管理數(shù)據(jù)庫(kù),解放你的雙手。它還通過(guò)經(jīng)濟(jì)高效的無(wú)服務(wù)器和自動(dòng)縮放選項(xiàng)處理容量管理,這些選項(xiàng)可響應(yīng)應(yīng)用程序的需求,使容量與需求相匹配。
Azure DB 的部分功能包括:
備注
Azure DB 非常靈活,以原子記錄序列 (ARS) 格式存儲(chǔ)數(shù)據(jù)。然后將數(shù)據(jù)抽象化并投影為 API。
Azure 存儲(chǔ)表和 Azure DB 表之間的差異
Azure 表存儲(chǔ)是一項(xiàng)在云中存儲(chǔ)非關(guān)系結(jié)構(gòu)化數(shù)據(jù)(也稱為結(jié)構(gòu)化 NoSQL 數(shù)據(jù))的服務(wù),它提供具有無(wú)架構(gòu)設(shè)計(jì)的鍵/屬性存儲(chǔ)。由于表存儲(chǔ)無(wú)架構(gòu),因此可以很容易地隨著應(yīng)用程序需求的發(fā)展使數(shù)據(jù)適應(yīng)存儲(chǔ)。
表存儲(chǔ)的常見(jiàn)用途包括:
Azure DB 為針對(duì) Azure 表存儲(chǔ)編寫(xiě)的、需要高可用性、可伸縮性和專用吞吐量等高級(jí)功能的應(yīng)用程序提供表 API。
如果考慮遷移數(shù)據(jù)庫(kù)備份解決方案,請(qǐng)記住 Azure 存儲(chǔ)表與 Azure DB 表之間的一些行為差異。例如:
雖然這些差異很小,但你需要仔細(xì)查看應(yīng)用以確保遷移不會(huì)導(dǎo)致意外問(wèn)題。
遷移到 DB 的其他好處
只需進(jìn)行少量的代碼更改,即可將針對(duì) Azure 表存儲(chǔ)編寫(xiě)的應(yīng)用程序遷移到 DB 表 API。Azure DB 表 API 和 Azure 表存儲(chǔ)通過(guò)其 SDK 共享相同的表數(shù)據(jù)模型,并公開(kāi)相同的創(chuàng)建、刪除、更新和查詢操作。
如果當(dāng)前使用 Azure 表存儲(chǔ),那么改用 Azure DB 表 API 可以獲得以下好處:
表存儲(chǔ)Azure DB 表 API
延遲
快速,但對(duì)延遲沒(méi)有上限。
讀取和寫(xiě)入個(gè)位級(jí)毫秒延遲,由 10-ms 延遲讀取和 15-ms 延遲寫(xiě)入支持,第 99 個(gè)百分位,任何規(guī)模,全球任何地點(diǎn)。