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****
關于此命令的其他通用選項的更多信息,請參見通用選項。