使用不可變儲存體,以單寫多讀 (WORM) 狀態的方式來儲存業務關鍵 Blob 資料
Azure Blob 儲存體的不變性儲存體可讓使用者以 WORM (一次寫入,多次讀取) 狀態儲存商務關鍵性資料。 在 WORM 狀態下,您無法在使用者指定的間隔內修改或刪除資料。 您可設定 Blob 資料的永久性原則,以免資料遭覆寫和刪除。
Azure Blob 儲存體的不可變儲存體支援兩種類型的不變性原則:
限時保留原則:使用限時保留原則,使用者可以設定原則以在指定間隔內儲存資料。 設定限時保留原則時,可以建立和讀取物件,但是無法修改或刪除物件。 保留期間到期後,物件可供刪除但無法覆寫。
合法保存原則:合法保存會儲存不可變的資料,直到明確清除合法保存為止。 設定法務保存措施後,物件可供建立及讀取,但無法修改或刪除。
這些原則可以彼此同時設定。 例如,使用者可以同時在相同的層級設定限時保留原則和法務保存措施。 為了讓寫入成功,您必須啟用版本控制,或者資料上既沒有法務保存措施,也沒有限時保留原則。 為了讓刪除成功,資料上也不得有法務保存措施或限時保留原則。
下圖顯示限時保留原則和合法保存如何在作用中時防止寫入和刪除作業。
不可變儲存體的範疇下有兩個功能:容器層級 WORM 和版本層級 WORM。 容器層級 WORM 只允許在容器層級設定原則,而版本層級 WORM 則允許在帳戶、容器或版本層級設定原則。
關於 Blob 的不可變儲存體
不可變儲存體可協助醫療保健組織、金融機構及相關產業(特別是經紀自營組織)安全地儲存資料。 不可變儲存體可用於任何情況,以保護重要資料不被修改或刪除。
典型應用包括:
法規遵循:Azure Blob 儲存體的固定儲存體可協助組織處理 SEC 17a-4(f)、CFTC 1.31(d)、FINRA 和其他法規。
安全文件保留:Blob 的不可變儲存體會確保任何使用者都無法修改或刪除資料,甚至是具有帳戶系統管理權限的使用者也不行。
合法保存:Blob 的不可變儲存體可讓使用者在所需的持續期間內,以防篡改的狀態儲存對訴訟或商務很重要的敏感性資訊,直到移除保存為止。 這項功能不受限於法務使用案例,也可視為以事件為基礎的保存或企業鎖定,需要根據事件觸發程序或公司原則來保護資料。
法規合規性
Microsoft 保留領先的獨立評估公司 Cohasset Associates,專門從事記錄管理和資訊治理,以評估 Blob 的不可變儲存體,以及其金融服務產業特定需求的合規性。 Cohasset 驗證了不可變儲存體在用來將 Blob 保留在 WORM 狀態時,符合 CFTC 規則 1.31(c)-(d)、FINRA 規則 4511 和 SEC 規則 17a-4(f) 的相關儲存體需求。 Microsoft 將這組規則設為目標,因為其代表針對金融機構的記錄保留最具規範性的指引。
您可以從 Microsoft 服務信任中心取得 Cohasset 報告。 Azure 信任中心包含有關 Microsoft 合規性認證的詳細資訊。 若要向 Microsoft 要求有關 WORM 不變性合規性的證明書,請連絡 Azure 支援。
限時保留原則
限時保留原則會根據指定間格,以 WORM 的格式儲存 Blob 資料。 設定限時保留原則時,用戶端可以建立和讀取 Blob,但無法修改或將其刪除。 保留間隔到期之後,可以刪除 Blob,但不能進行覆寫。
範圍
限時保留原則可設定為下列範圍:
- 版本層級 WORM 原則:您可以在帳戶、容器或版本層級設定限時保留原則。 如果在帳戶或容器層級進行設定,則會由個別帳戶或容器中的所有 Blob 繼承。 如果容器有合法保留,則無法為相同的容器建立版本層級 WORM。 這是因為由於法律保留而無法產生版本。
- 容器層級 WORM 原則:在容器層級設定的限時保留原則會套用至該容器中的所有 Blob。 個別 Blob 無法使用本身的不變性原則進行設定。
限時原則保留間隔
限時保留原則的最小保留間隔是一天,最大值為 146000 天 (400 年)。 設定限時保留原則時,受影響的物件在有效保留期間內會保持不可變狀態。 物件的有效保留期限,等同於 Blob 建立時間與使用者指定保留間隔之間的差異。 由於原則的保留間隔可以延長,因此固定儲存體會使用使用者所指定保留間隔的最新值,計算有效的保留期限。
例如,假如使用者建立限時保留原則,其保留間隔為五年。 該容器中的現有 Blob (testblob1) 建立於一年前,因此 testblob1 的有效保留期限為四年。 當新的 blob (testblob2) 上傳至容器時,testblob2 的有效保留期限是自其建立時間起的五年。
鎖定與解除鎖定的原則
當您第一次設定限時保留原則時,原則為未鎖定狀態以供測試之用。 完成測試時,您可以鎖定原則,使其完全符合 SEC 17a-4(f) 和其他法規合規性。
無論是鎖定和未鎖定的原則都能防止刪除和覆寫。 不過,您可以藉由縮短或延長保留期限來修改未鎖定的原則。 您也可以刪除解除鎖定的原則。 您無法刪除鎖定的以時間為基礎保留原則。 您可以延長保留期間,但無法縮短。 在容器層級定義的鎖定原則存留期內,最多可允許延長五次有效保留期間。 針對 Blob 版本設定的原則,有效期間的增加次數沒有任何限制。
重要
對於即將處於符合規範的不可變 (防寫和防刪保護) 狀態 Blob 而言,限時保留原則必須「鎖定」,才能符合 SEC 17a-4(f) 和其他法規。 Microsoft 建議您在合理的時間 (通常為 24 小時) 內鎖定原則。 雖然未鎖定狀態會提供不變性保護,但除了短期測試以外,不建議針對任何目的使用未鎖定狀態。
保留原則稽核記錄
啟用限時保留原則的每個容器,都會提供原則稽核記錄。 針對已鎖定的限時保留原則,稽核記錄最多可包含七個限時保留命令。 通常,記錄會在您鎖定原則後開始。 記錄項目包括使用者識別碼、命令類型、時間戳記及保留間隔。 依據 SEC 17a-4(f) 法規指導方針,在原則的存留期內會保留此稽核記錄。
Azure 活動記錄會提供更完整的所有管理服務活動記錄。 Azure 資源記錄會保留資料作業的相關資訊。 基於法規需求或其他目的,使用者有責任持續不斷地儲存這些記錄。
版本層級的限時保留原則變更不會經過稽核。
法務保存
法務保存是暫時的不變性原則,適用於法律調查用途或一般保護原則。 法務保存措施會以寫入一次、讀取多次 (WORM) 的格式儲存 Blob 資料,直到資料明確清除為止。 合法保存生效後,可以建立和讀取 Blob,但無法加以修改或刪除。 當資料必須保持在 WORM 狀態的時間長度不明時,請使用合法保存。
範圍
合法保存原則可設定於下列任一範圍:
版本層級 WORM 原則:您可以在個別的 Blob 版本層級上設定法務保存措施,以對敏感性資料進行精細的管理。
容器層級 WORM 原則:在容器層級設定的法務保存措施,會套用至該容器中的所有 Blob。 個別 Blob 無法使用本身的不變性原則進行設定。
標籤
容器層級合法保存必須與一或多個作為識別碼字串的使用者定義英數位元標籤相關聯。 例如,標籤可能包含案例識別碼或事件名稱。
稽核記錄
每個具有有效合法保存的容器,都會提供原則稽核記錄。 此記錄包含使用者識別碼、命令類型、時間戳記及合法保存標籤。 依據 SEC 17a-4(f) 法規指導方針,在原則的存留期內會保留此稽核記錄。
Azure 活動記錄會提供更完整的所有管理服務活動記錄。 Azure 資源記錄會保留資料作業的相關資訊。 基於法規需求或其他目的,使用者有責任持續不斷地儲存這些記錄。
對版本層級的法務保存措施變更不會進行稽核。
不可變儲存體功能選項
下表顯示容器層級 WORM 與版本層級 WORM 之間的差異明細:
類別 | 容器層級 WORM | 版本層級 WORM |
---|---|---|
原則細微性層級 | 原則只能在容器層級設定。 上傳至容器的每個物件都會繼承不可變的原則集。 | 原則可以在帳戶、容器或 Blob 層級設定。 如果原則在帳戶層級設定,則上傳至該帳戶的所有 Blob 都會繼承該原則。 容器會遵循相同的邏輯。 如果原則在多個層級設定,優先順序一律為 Blob -> 容器 -> 帳戶。 |
可用的原則類型 | 您可以在容器層級設定兩種不同類型的原則:限時保留原則和法務保存措施。 | 在帳戶和容器層級,只能設定限時保留原則。 在 Blob 層級,可以設定限時保留原則和法務保存措施。 |
功能依存性 | 此功能不依賴於其他任何功能或要求才能運作。 | 版本控制是使用此功能的必要條件。 |
現有帳戶/容器的啟用 | 此功能可以隨時因應現有容器加以啟用。 | 視細微性而定,並非所有現有的帳戶/容器都可啟用此功能。 |
帳戶/容器刪除 | 在容器上鎖定限時保留原則後,容器只有在其內容為空的時才會刪除。 | 在帳戶或容器層級上啟用版本層級 WORM 後,只有在帳戶或容器層級為空時,才能加以刪除。 |
支援 Azure Data Lake Storage (已啟用階層命名空間的儲存體帳戶) | 具有階層命名空間的帳戶支援容器層級 WORM 原則。 | 具有階層命名空間的帳戶尚不支援版本層級 WORM 原則。 |
若要深入了解容器層級 WORM,請參閱容器層級 WORM 原則。 若要深入了解版本層級 WORM,請造訪版本層級 WORM 原則。
容器層級與版本層級 WORM
下表可協助您決定要使用的 WORM 原則類型。
準則 | 容器層級 WORM 的使用方式 | 版本層級 WORM 的使用方式 |
---|---|---|
資料組織 | 您想要為特定資料集設定原則,這些資料集可以依容器分類。 該容器中的所有資料都必須在相同時間內保持為 WORM 狀態。 | 您無法依保留期間將物件分組。 所有 Blob 都必須根據該 Blob 的案例,設定個別的保留時間,或使用者的工作負載包含不同類型的資料,需要將部分資料群組以叢集整理到容器中,而其他 Blob 無法儲存在容器中。 您可能也想要在同一個帳戶內設定容器層級原則和 Blob 層級原則。 |
需要不可變原則的資料量 | 每個帳戶最多設定 10,000 個容器的原則即可。 | 您想要對所有資料或可依帳戶劃分的大量資料設定原則。 您知道使用容器層級 WORM,可能會超過 10,000 個容器的限制。 |
啟用版本控制的考量 | 您可能不想要啟用版本控制,無論是因為成本因素,還是因為工作負載會產生大量需要處理的額外版本。 | 您想要使用版本控制,或對使用此功能採開放態度。 您知道如果不啟用版本控制,就無法將對不可變 Blob 所做的編輯或覆寫保存為個別版本。 |
儲存體位置 (Blob 儲存體與 Data Lake Storage) | 您的工作負載完全集中在 Azure Data Lake Storage。 目前您沒有興趣或計劃改用未啟用階層命名空間功能的帳戶。 | 您的工作負載可能位於未啟用階層命名空間功能的 Blob 儲存體帳戶中,並且可以使用版本層級 WORM,或者您願意等待版本控制功能可供已啟用階層命名空間的帳戶 (如 Azure Data Lake Storage) 使用。 |
存取層
所有 Blob 存取層都支援不可變儲存體。 您可以使用「設定 Blob 層」作業來變更 Blob 的存取層。 如需詳細資訊,請參閱區塊資料的存取層。
備援設定
所有備援設定都支援不可變儲存體。 如需備援設定的詳細資訊,請參閱 Azure 儲存體備援。
建議的 Blob 類型
Microsoft 建議您針對區塊 Blob 和附加 Blob,設定不變性原則。 不建議為作用中虛擬機器儲存 VHD 磁碟的分頁 Blob 設定不變性原則,因為系統將會阻止對磁碟的寫入動作,或者如果啟用了版本控制,每次寫入都會以新版本儲存。 Microsoft 建議您在鎖定任何限時原則之前,先徹底檢閱文件並測試您的案例。
具有 Blob 虛刪除的不可變儲存體
針對儲存體帳戶設定 Blob 虛刪除時,會將其套用至帳戶內的所有 Blob,不論合法保存或限時保留原則是否有效。 Microsoft 建議在套用任何不變性原則之前,先啟用虛刪除以提供額外的保護。
如果您啟用 Blob 虛刪除,然後設定不變性原則,在虛刪除保留原則過期之後,任何已虛刪除的 Blob 都會永久刪除。 虛刪除的 Blob 可以在虛刪除保留期間內還原。 尚未虛刪除的 Blob 或版本會受到不變性原則的保護,而且必須等到限時保留原則過期或移除法務保存措施之後,才能虛刪除。
使用 Blob 清查來追蹤不變性原則
Azure 儲存體 Blob 清查可概述儲存體帳戶中的容器,以及其內部的 Blob、快照集和 Blob 版本。 您可以使用 Blob 清查報告來了解 Blob 和容器的屬性,包括資源是否已設定不變性原則。
啟用 Blob 清查功能後,Azure 儲存體每天都會產生清查報告。 此報表供應商務和合規性需求方面的資料總覽。
如需 Blob 清查的詳細資訊,請參閱 Azure 儲存體 Blob 清查。
注意
如果在帳戶上啟用對版本層級不變性的支援,或者對於在清查原則中定義的目的地容器上啟用對版本層級不變性的支援,則您無法在該帳戶中設定清查原則。
大規模設定原則
您可以使用儲存體工作,根據您定義的一組條件,跨多個儲存體帳戶大規模地設定不變性原則。 儲存體工作是 [Azure 儲存體動作] 中可用的資源;可用於跨多個儲存體帳戶對數百萬個物件執行一般資料作業的無伺服器架構。 若要深入了解,請參閱什麼是 Azure 儲存體動作?。
定價
使用不可變儲存體不需要額外的容量費用。 不可變資料的定價方式與可變動的資料相同。 若使用版本層級的 WORM,帳單可能會更高,因為您已啟用版本控制,而且有與儲存額外版本相關聯的成本。 如需詳細資訊,請檢閱版本控制定價原則。 如需 Azure Blob 儲存體定價的詳細資料,請參閱 Azure 儲存體定價頁面。
在 Blob 版本上建立、修改或刪除限時保留原則或法務保存措施時,會導致寫入交易費用。
若無法支付帳單,而帳戶有作用中的限時保留原則,則會套用一般資料保留原則,如同您與 Microsoft 簽訂合約的條款及條件中所規定。 如需一般資訊,請參閱 Microsoft 的資料管理。
功能支援
這項功能與時間點還原和上次存取追蹤不相容。 此功能與客戶管理的非計劃性容錯移轉相容,不過,在上次同步後對不可變原則所做的任何變更 (例如鎖定限時保留原則、延長保留期限等等),將不會同步至備用區域。 容錯移轉完成後,您可以重做對備用區域的變更,以確保其符合不變性要求的最新狀態。 在已啟用網路檔案系統 (NFS) 3.0 通訊協定或 SSH 檔案傳輸通訊協定 (SFTP) 的帳戶中,不支援不變性原則。
某些工作負載 (例如 SQL 備份至 URL) 會建立 Blob,然後新增至其中。 如果容器具有作用中限時保留原則或法務保存措施,此模式將不會成功。 如需詳細資訊,請參閱 允許受保護的附加 Blob 寫入。
如需詳細資訊,請參閱 Azure 儲存體帳戶中的 Blob 儲存體功能支援。