Azure Blob 儲存體 的不可變儲存允許你以 WORM(寫一次,多次讀取)狀態儲存關鍵業務資料。 在 WORM 狀態下,您無法在使用者指定的間隔內修改或刪除資料。 藉由為 Blob 資料設定不變性原則,您可以保護資料不會遭到覆寫和刪除。
Azure Blob 儲存體的不可變儲存體支援兩種類型的不變性原則:
限時保留原則:使用限時保留原則,使用者可以設定原則以在指定間隔內儲存資料。 設定限時保留原則時,可以建立和讀取物件,但是無法修改或刪除物件。 保留期間到期之後,可以刪除物件,但不能進行覆寫。
合法保存原則:合法保存會儲存不可變的資料,直到明確清除合法保存為止。 設定合法保存之後,可以建立和讀取 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 可以被刪除但無法覆寫。
Scope
你可以在以下範圍內設定基於時間的保留政策:
- 版本層級 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 狀態的時間長度不明時,請使用合法保存。
Scope
合法保存原則可設定於下列任一範圍:
版本層級 WORM 原則:可針對個別 Blob 版本設定法律保留,以便更細緻地管理敏感資料(帳戶必須已啟用版本控制)。
容器層級 WORM 原則:在容器層級設定的法務保存措施,會套用至該容器中的所有 Blob。 個別 Blob 無法使用本身的不變性原則進行設定。
Tags
你必須將容器層級的法律保留與一個或多個使用者定義的字母數字標籤關聯起來,這些標籤作為識別字串。 例如,標籤可能包含案件 ID 或事件名稱。
稽核記錄
每個具有有效合法保存的容器,都會提供原則稽核記錄。 此記錄包含使用者識別碼、命令類型、時間戳記及合法保存標籤。 依據 SEC 17a-4(f) 法規指導方針,在原則的存留期內會保留此稽核記錄。
Azure 活動記錄會提供更完整的所有管理服務活動記錄。 Azure 資源記錄會保留資料作業的相關資訊。 您有責任持續儲存這些日誌,這可能是法規或其他必要條件。
對版本層級的法務保存措施變更不會進行稽核。
不可變儲存體功能選項
下表顯示容器層級 WORM 與版本層級 WORM 之間的差異明細:
| 類別 | 容器層級 WORM | 版本層級 WORM |
|---|---|---|
| 原則細微性層級 | 政策只在容器層級設定。 你上傳到容器中的每個物件都會繼承不可變的政策集。 | 在帳號、容器或 blob 層級設定政策。 如果你在帳號層級設定政策,所有你上傳到該帳號的 blobs 都會繼承該政策。 容器會遵循相同的邏輯。 如果你在多個層級設定一個政策,優先順序永遠是 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 Tier 操作更改 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 儲存體功能支援。