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****
关于此命令的其他通用选项的更多信息,请参见通用选项。