全部產品
Search
文件中心

Object Storage Service:worm(合規保留原則)

更新時間:Jul 31, 2024

OSS保留原則具有WORM(Write Once Read Many)特性,滿足使用者以不可刪除、不可篡改的方式儲存和使用資料。如果您希望指定時間內任何使用者(包括資源擁有者)均不能修改和刪除OSS某個Bucket中的Object,您需要通過worm命令為Bucket配置保留原則。在保留原則指定的Object保留時間到期之前,僅支援在Bucket中上傳和讀取Object。Object保留時間到期後,才可以修改或刪除Object。

注意事項

  • 要建立合規保留原則,您必須具有oss:InitiateBucketWorm許可權;要鎖定合規保留原則,您必須具有oss:CompleteBucketWorm許可權;要延長保留天數,您必須具有oss:ExtendBucketWorm許可權;要擷取合規保留原則,您必須具有oss:GetBucketWorm許可權;要刪除未鎖定的合規保留原則,您必須具有oss:AbortBucketWorm許可權。具體操作,請參見為RAM使用者授權自訂的權限原則

  • 從ossutil 1.6.16版本開始,命令列中Binary名稱支援直接使用ossutil,您無需根據系統重新整理Binary名稱。如果您的ossutil版本低於1.6.16,則需要根據系統重新整理Binary名稱。更多資訊,請參見命令列工具ossutil命令參考

  • 關於合規保留原則的更多資訊,請參見合規保留原則

建立並鎖定合規保留原則

若您希望使用合規保留原則保護您Bucket中的檔案,您需要為Bucket建立一條合規保留原則,然後鎖定該策略。

  1. 建立合規保留原則

    • 命令格式

      ossutil worm init oss://BucketName days

      參數說明:

      參數

      說明

      BucketName

      配置合規保留原則的目標Bucket名稱。

      days

      指定合規保留原則的保留周期。在保留周期內,您無法對目標Bucket中的Object進行任何修改和刪除操作。

      • 單位:天

      • 取值範圍:1~25550

    • 使用樣本

      為examplebucket建立合規保留原則,並指定其保留周期為180天。

      ossutil worm init oss://examplebucket 180

      以下輸出結果表明已成功建立合規保留原則。

      init success,worm id is 581D8A7FFA064C80827CAB4076A93A78
  2. 鎖定合規保留原則

    • 命令格式

      ossutil worm complete oss://BucketName WormId

      參數說明:

      參數

      說明

      BucketName

      指定要鎖定合規保留原則的目標Bucket名稱。

      WormId

      填寫建立合規保留原則時返回的策略ID。

    • 使用樣本

      鎖定examplebucket的合規保留原則。

      ossutil worm complete oss://examplebucket 581D8A7FFA064C80827CAB4076A93A78

      以下輸出結果表明鎖定合規保留原則。

      0.073810(s) elapsed

延長保留周期

合規保留原則鎖定後,在保留周期未到期之前,任何人都無法修改和刪除Bucket中的Object。若當前的保留周期無法滿足資料保護的需求,您可以通過以下命令延長保留周期。

  • 命令格式

    ossutil worm extend oss://BucketName days WormId
  • 使用樣本

    將examplebucket的合規保留原則的保留周期延長到360天。

    ossutil worm extend oss://examplebucket 360 581D8A7FFA064C80827CAB4076A93A78

    以下輸出結果表明保留周期已延長到360天。

    0.067810(s) elapsed

查詢合規保留原則配置

對於已建立的合規保留原則,您可以通過以下命令查詢配置參數。

  • 命令格式

    ossutil worm get oss://BucketName
  • 使用樣本

    查詢examplebucket的合規保留原則。

    ossutil worm get oss://examplebucket

    以下輸出結果表明已查詢到合規保留原則的配置參數,結果中包含策略ID、狀態、保留天數、策略建立時間。

    <WormConfiguration>
          <WormId>581D8A7FFA064C80827CAB4076A93A78</WormId>
          <State>Locked</State>
          <RetentionPeriodInDays>360</RetentionPeriodInDays>
          <CreationDate>2021-01-19T03:36:53.000Z</CreationDate>
      </WormConfiguration>

刪除合規保留原則

在合規保留原則未鎖定前,您可以刪除該策略。

  • 命令格式

    ossutil worm abort oss://BucketName
  • 使用樣本

    刪除為examplebucket配置的合規保留原則。

    ossutil worm abort oss://examplebucket

    以下輸出結果表明策略已刪除。

    0.067810(s) elapsed

通用選項

當您需要通過命令列工具ossutil切換至另一個地區的Bucket時,可以通過-e選項指定該Bucket所屬的Endpoint。當您需要通過命令列工具ossutil切換至另一個阿里雲帳號下的Bucket時,可以通過-i選項指定該帳號的AccessKey ID,並通過-k選項指定該帳號的AccessKey Secret。

例如您需要為另一個阿里雲帳號下,華東1(杭州)名為test的Bucket建立合規保留原則,命令如下:

ossutil worm init oss://test -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

關於此命令的其他通用選項的更多資訊,請參見通用選項