選取並設定適當的方法來防範資料安全性威脅,包括虛刪除、備份、版本設定,以及不可變儲存體
Azure Storage 為 Blob Storage 和 Azure Data Lake Storage Gen2 提供全面的資料保護,幫助你為需要恢復被刪除或覆寫資料的情況做好準備。 資料保護是您安全策略中的關鍵組成部分,符合零信任原則,假設遭到入侵,並確保您能從安全事件中恢復。 在可能因惡意行為者、意外刪除或操作錯誤等可能威脅資料的事件發生前,思考如何最佳保護資料非常重要。
基本資料保護的建議
如果您要尋找儲存體帳戶及其所包含資料的基本資料保護涵蓋範圍,則 Microsoft 建議您採取下列步驟來開始:
- 在儲存帳號上設定 Azure 資源管理員鎖定,以保護帳號免於刪除或設定變更。 這可防止整個儲存帳戶被意外或未經授權刪除。
- 啟用儲存帳號的容器軟刪除 功能,以恢復已刪除的容器及其內容。 這為防止意外遺失容器提供了安全網。
-
在固定間隔儲存一個斑點的狀態:
- 針對 Blob 儲存體工作負載,啟用 Blob 版本設定,以在每次覆寫 Blob 時自動儲存資料的狀態。
- 針對 Azure Data Lake Storage 工作負載,請建立手動快照集,以在特定時間點儲存資料的狀態。
資料保護選項概觀
下表摘要說明適用於常見資料保護案例的 Azure 儲存體中可用的選項。 選擇適用於您情況的案例,以深入了解您可用的選項。 目前並非所有功能都可供已啟用階層命名空間的儲存體帳戶使用。
安全提醒:實施多層資料保護提供深度防禦,確保您能從各種事件中恢復,包括勒索軟體攻擊、意外刪除及惡意資料修改。
| 場景 | 數據保護選項 | 建議 | 保護權益 | 適用於 Data Lake Storage |
|---|---|---|---|---|
| 防止刪除或修改儲存體帳戶。 | Azure Resource Manager 鎖定 瞭解更多資訊。。。 |
使用 Azure Resource Manager 鎖定來鎖定所有儲存體帳戶,以防止刪除儲存體帳戶。 | 保護儲存體帳戶免於刪除或設定變更。 不會保護帳戶中的容器或 Blob 不遭到刪除或覆寫。 |
是的 |
| 防止刪除 Blob 版本,以取得您所控制的間隔。 | Blob 版本的不變性原則 瞭解更多資訊。。。 |
在個別 Blob 版本上設定不變性原則,以保護業務關鍵性文件,例如,為了符合法律或法規合規性需求。 | 保護 Blob 版本免於遭到刪除,並防止其中繼資料遭到覆寫。 覆寫作業會建立新版本。 如果至少有一個容器已啟用版本層級不變性,儲存體帳戶也會受到保護以避免刪除。 如果容器中至少存在一個 Blob,容器刪除就會失敗。 |
否 |
| 防止容器及其 Blob 在您控制的間隔內被刪除或修改。 | 容器的不變性原則 瞭解更多資訊。。。 |
在容器上設定不變性原則,以保護業務關鍵性文件,例如,為了符合法律或法規合規性需求。 | 保護容器及其 Blob 不受所有刪除和覆寫。 當法律保留或鎖定的時間型保留原則生效時,儲存體帳戶也會受到保護以避免刪除。 未設定不變性原則的容器不會受到刪除保護。 |
是的 |
| 在指定的間隔內還原已刪除的容器。 | 容器虛刪除 瞭解更多資訊。。。 |
針對所有儲存體帳戶啟用容器虛刪除,最小保留間隔為 7 天。 啟用 Blob 版本設定和 Blob 虛刪除以及容器虛刪除,以保護容器中的個別 Blob。 將需要不同保留期限的容器儲存在不同的儲存體帳戶中。 |
已刪除的容器及其內容可能會在保留期間內還原。 只能還原容器層級的操作(例如刪除容器)。 如果刪除了容器中的個別 Blob,則容器虛刪除無法還原該 Blob。 |
是的 |
| 在覆寫 Blob 時,自動將 Blob 的狀態儲存在舊版中。 | Blob 版本設定 瞭解更多資訊。。。 |
對於需要為 Blob 資料提供最佳保護的儲存體帳戶,啟用 Blob 版本控制以及容器虛刪除和 Blob 虛刪除。 將不需要版本設定的 Blob 資料儲存在個別帳戶中,以限制成本。 |
每個 Blob 寫入作業會建立新版本。 如果刪除或覆寫目前版本,則可以從舊版還原 Blob 的目前版本。 | 否 |
| 在指定的間隔內還原已刪除的 Blob 或 Blob 版本。 | Blob 虛刪除 瞭解更多資訊。。。 |
對所有儲存體帳戶啟用 Blob 虛刪除,最小保留間隔為 7 天。 啟用 Blob 版本設定和容器虛刪除以及 Blob 虛刪除,以實現對 Blob 資料的最佳保護。 將需要不同保留期間的 Blob 儲存在不同的儲存體帳戶中。 |
已刪除的 Blob 或 Blob 版本可能會在保留期間內還原。 | 是的 |
| 將一組區塊 Blob 還原至先前的時間點。 | 時間點還原 瞭解更多資訊。。。 |
若要使用時間點還原還原為先前的狀態,請設計您的應用程式來刪除個別區塊 Blob,而不是刪除容器。 | 一組區塊 Blob 可能會還原成其過去特定點的狀態。 僅還原對區塊 Blob 上執行的作業。 不會還原在容器、分頁 Blob 或附加 Blob 上執行的任何作業。 |
否 |
| 在指定的時間點手動儲存 Blob 的狀態。 | Blob 快照集 瞭解更多資訊。。。 |
當版本設定不適用於您的案例,基於成本或其他考慮因素,或者當儲存體帳戶啟用了階層命名空間時,建議作為 Blob 版本設定的替代方案。 | 如果覆寫 Blob,可能會從快照集還原 Blob。 如果刪除 Blob,也會刪除快照集。 | 是的 |
| Blob 可以刪除或覆寫,但資料會定期複製到第二個儲存體帳戶。 | 使用 Azure 儲存體物件複寫或 AzCopy 或 Azure Data Factory 之類的工具,將資料複製到第二個帳戶的自有解決方案。 | 對非預期的刻意動作或無法預測的案例,建議使用安心保護。 在與主要帳戶相同的區域中建立第二個儲存體帳戶,以避免產生輸出費用。 |
如果主要帳戶以任何方式遭到入侵,則可以從第二個儲存體帳戶還原資料。 | 支援 AzCopy 和 Azure Data Factory。 不支持物件複寫。 |
依資源類型的資料保護
下表摘要說明 Azure 儲存體資料保護選項,根據其所保護的資源。
| 數據保護選項 | 保護帳戶免於刪除 | 保護容器免於刪除 | 保護物件免於刪除 | 保護物件不受覆寫 |
|---|---|---|---|---|
| Azure Resource Manager 鎖定 | 是的 | 否 | 否 | 否 |
| Blob 版本的不變性原則 | 是的 | 是的 | 是的 | 是的 |
| 容器的不變性原則 | 是的 | 是的 | 是的 | 是的 |
| 容器虛刪除 | 否 | 是的 | 否 | 否 |
| Blob 版本設定 | 否 | 否 | 是的 | 是的 |
| Blob 虛刪除 | 否 | 否 | 是的 | 是的 |
| 時間點還原 | 否 | 否 | 是的 | 是的 |
| Blob 快照集 | 否 | 否 | 否 | 是的 |
| 自行打造的解決方案,以將資料複製到第二個帳戶 | 否 | 是的 | 是的 | 是的 |
了解 Azure Storage 中資料保護的細節,揭示了多項對安全與合規都重要的營運洞見與限制:
- Azure Resource Manager 鎖定並不會保護容器免於刪除,只能保護儲存帳號本身。
- 如果至少有一個容器啟用了版本層級的不可變儲存,儲存帳號刪除即告失敗,這可防止帳號意外刪除。
- 只要容器中至少存在一個 blob,即使不變性原則已鎖定或解鎖,容器刪除也會失敗。
- 覆寫目前 Blob 版本的內容會建立新版本。 不可變政策保護版本的元資料不被覆寫,確保資料完整性。
- 雖然在容器範圍下存在法律保留或鎖定的時間保留政策,但儲存帳戶同時受到保護,避免被刪除,提供合規保護。
- 目前不支援 Data Lake Storage 工作負載 (適用於 blob 版本設定與時間點還原)。
- AzCopy 和 Azure Data Factory 是 Blob 儲存體和 Data Lake Storage 工作負載都支援的選項。 只有 Blob 儲存體工作負載才支援物件複寫。
復原已刪除或覆寫的資料
如果您需要復原已覆寫或刪除的資料,您繼續的方式取決於您啟用的資料保護選項,以及哪些資源受到影響。 下表描述您可以採取以復原資料的動作。
| 已刪除或覆寫的資源 | 可能的復原動作 | 復原需求 |
|---|---|---|
| 儲存體帳戶 | 嘗試復原已刪除的儲存體帳戶 |
儲存器帳戶原本是使用 Azure Resource Manager 部署模型建立,並在過去 14 天內遭到刪除。 自從刪除原始帳戶之後,尚未建立具有相同名稱的新儲存體帳戶。 |
| 容器 | 復原虛刪除的容器及其內容 |
容器虛刪除已啟用,且容器虛刪除保留期限尚未到期。 |
| 容器和 Blob | 從第二個儲存體帳戶還原資料 | 所有容器和 Blob 作業都已有效地複寫到第二個儲存體帳戶。 |
| Blob (任何類型) | 從舊版恢復 Blob |
Blob 版本控制已啟用,且 Blob 有一或多個先前版本。 |
| Blob (任何類型) | 復原虛刪除的 Blob |
已啟用 Blob 虛刪除,且虛刪除保留間隔尚未到期。 |
| Blob (任何類型) | 從快照集還原 Blob |
Blob 有一或多個快照集。 |
| 區塊 Blob 集合 | 將一組區塊 Blob 復原到其先前的時間點的狀態 |
啟用時間點還原,而還原點在保留間隔內。 儲存體帳戶未遭入侵或損毀。 |
| Blob 版本 | 復原虛刪除的版本 |
已啟用 Blob 虛刪除 |
成本考量摘要
| 數據保護選項 | 成本考慮 |
|---|---|
| 儲存體帳戶的 Azure Resource Manager 鎖定 | 在儲存體帳戶上設定鎖定不收費。 |
| Blob 版本的不變性原則 | 在容器上啟用版本層級不變性不收費。 建立、修改或刪除以時間為基礎的保留原則或 Blob 版本的法務保存會導致寫入交易費用。 |
| 容器的不變性原則 | 在容器上設定不變性原則不收費。 |
| 容器虛刪除 | 啟用儲存體帳戶的容器虛刪除不收費。 虛刪除容器中的資料會以與作用中資料相同的費率計費,直到永久刪除虛刪除的容器為止。 |
| Blob 版本設定 | 為儲存體帳戶啟用 Blob 版本設定不收費。 啟用 Blob 版本控制之後,帳戶中 Blob 上的每個寫入或刪除作業都會建立新版本,這可能會導致容量成本增加。 Blob 版本會根據唯一區塊或頁面計費。 因此,成本會隨著基底 Blob 與特定版本不同而增加。 變更 Blob 或 Blob 版本層可能會對計費造成影響。 如需詳細資訊,請參閱 定價和計費。 視需要使用生命週期管理來刪除舊版,以控制成本。 如需詳細資訊,請參閱 自動化 Azure Blob 記憶體存取層來優化成本。 |
| Blob 虛刪除 | 為儲存體帳戶啟用 Blob 虛刪除不收費。 虛刪除 Blob 中的資料會以與作用中資料相同的費率計費,直到永久刪除虛刪除的 Blob 為止。 |
| 時間點還原 | 為儲存體帳戶啟用時間點還原不收費;不過,啟用時間點還原也會啟用 Blob 版本設定、虛刪除和變更摘要,這兩者都可能導致其他費用。 當您執行還原作業時,需要支付時間點還原的費用。 還原作業的成本取決於所還原的資料量。 如需詳細資訊,請參閱 定價和計費。 |
| Blob 快照集 | 快照集中的資料會根據唯一區塊或頁面計費。 因此,成本會隨著基底 Blob 與快照集不同而增加。 變更 Blob 或快照集層可能會對計費造成影響。 如需詳細資訊,請參閱 定價和計費。 視需要使用生命週期管理來刪除較舊的快照集,以控制成本。 如需詳細資訊,請參閱 自動化 Azure Blob 記憶體存取層來優化成本。 |
| 將資料複製到第二個儲存體帳戶 | 維護第二個儲存體帳戶中的資料將會產生容量和交易成本。 如果第二個儲存體帳戶位於與來源帳戶不同的區域中,則將資料複製到該第二個帳戶將會產生額外輸出費用。 |
災害復原
Azure 儲存體會一律維護資料的多個複本,以保護該資料不受計劃性和非計劃性事件影響,包括暫時性硬體故障、網路或電力中斷和大規模天然災害。 備援可確保您的儲存體帳戶即使在發生失敗時也能滿足可用性和持久性目標。
如果資料中心發生故障,且你的儲存帳號在兩個地理區域間是冗餘的(地理冗餘),你可以選擇將帳號從主要區域切換到次要區域。 此能力對業務持續性與災難復原規劃至關重要。
這很重要
目前不支援已啟用階層命名空間的儲存體帳戶進行客戶管理的容錯移轉。
實施資料保護的最佳實務
在為 Azure Storage 實施資料保護時,請考慮以下建議:
- 實施縱深防禦:同時使用多種防護機制。 例如,結合 blob 版本控制、軟刪除與不可變政策,全面防範各種資料遺失。
- 定期測試:定期測試資料復原程序,確保其運作如預期,且團隊熟悉復原流程。
- 保留期限規劃:根據您的合規要求設定適當的保留期限,同時也考慮保留軟刪除資料與版本所帶來的儲存成本。
- 使用不可變性政策來達成合規:對於受規範的產業,應在容器或 blob 版本上實施不可變性政策,以符合 WORM(寫入一次,多次讀取)的合規要求。
- 監控保護狀態:使用 Azure Monitor 和 Azure Policy 追蹤哪些儲存帳號啟用了資料保護功能,並找出保護策略中的缺口。
- 記錄您的策略:保持清楚的資料保護設定文件,包括啟用的功能、保留期限及復原程序。
- 考量成本與保護:雖然全面的資料保護很重要,但請在保護層級與儲存成本間取得平衡。 使用生命週期管理政策,根據需求自動刪除舊版本和快照。
- 關鍵資料的地理冗餘:對於業務關鍵資料,使用地理冗餘儲存(GRS 或 GZRS)以確保即使整個區域無法使用,資料仍能持續可用性。
- 結合備份解決方案:若想獲得額外保護,建議使用 Azure Backup for Azure Files 或第三方備份方案,提供更多復原選項與長期保存功能。