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建立一條合規保留原則,然後鎖定該策略。
建立合規保留原則
命令格式
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
鎖定合規保留原則
命令格式
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****
關於此命令的其他通用選項的更多資訊,請參見通用選項。