配置对象锁定(worm)防止对象被更改或删除-九游平台
obs提供worm(write once read many)功能,即一次写入多次读取,实现对象在用户指定的时间段内不能被删除和篡改。目前obs支持桶级和对象级的worm功能,提供合规模式一种对象锁定模式。
使用场景
obs提供合规模式的worm功能,合规模式是指如果您给一个对象应用了worm,那么任何用户在指定时间内都不能覆盖或删除受保护的对象版本,包括账号中的根用户。
根据作用目标的范围不同,worm可以分为桶级worm和对象级worm。桶级worm以桶为单位锁定,保护范围覆盖桶中的所有对象。对象级worm以对象为单位锁定,保护范围仅覆盖与worm策略绑定的对象。无论是对象级worm策略还是桶级worm策略,都要在开启桶级worm开关后,才能生效,否则不会保护桶内对象。worm策略只对策略生效之后新上传的对象生效。当对象同时被桶级worm和对象级worm覆盖时,优先遵从对象级worm的保护策略。
注意事项
- 开启了桶级worm开关,系统将自动开启多版本,并且不允许暂停多版本。worm保护是基于对象版本号的,配置worm的版本受到worm保护,没有配置worm的版本可正常删除。例如,test.txt 001受到worm保护。此时再次上传同名文件,产生新的对象版本test.txt 002,test.txt 002并未配置worm,那么test.txt 002就不受保护可以正常删除。当您下载对象时,不指定版本号下载的是最新对象,也就是test.txt 002。
- 处于保护中的对象不会被生命周期删除,但是能正常进行存储类别转换。受保护的对象不再受保护后,如果满足生命周期过期规则,将会被系统删除。
- 桶级worm开关一旦打开,则无法为该桶禁用桶级worm开关 ,也无法暂停桶的版本控制,但可以禁用桶级默认worm策略。
- 开启桶级worm开关的桶暂不支持跨区域复制能力。
- 在客户销户、欠费超期情况下,worm未到期数据会被删除而不做保留。
- 不支持迁移场景。
- worm不阻止修改对象元数据。
配置桶级worm
obs支持通过控制台、api方式配置桶级worm,不支持通过sdk、obs browser 、obsutil方式配置桶级worm。
暂不配置worm
- 在obs左侧导航栏选择“桶列表”。
- 在obs管理控制台桶列表中,单击待操作的桶,进入“对象”页面。
- 在左侧导航栏,单击“概览”,进入“概览”页面。
- 在“基础配置”区域下,单击“worm保留策略”卡片,系统弹出“配置保留策略”对话框。
- 选择“暂不配置”并单击“确定”。
图2 暂不配置保留策略
延长保留期
配置worm后,可以对对象进行延长保留期操作,系统将阻止在指定时间点前删除受保护的对象版本。
- 在obs左侧导航栏选择“桶列表”。
- 在obs管理控制台桶列表中,单击待操作的桶,进入“对象”页面。
- 找到需要延长保留期的对象,单击“更多>延长保留期”,选择时间点。
图3 延长保留期
保留期不支持缩短,仅支持选择延后的指定时间点。
例如:原保留期是2023年3月30日,如果您在2023年3月1日选择延长保留期,那么您可以选择2023年3月31日或以后的日期;如果您在2023年4月1日选择延长保留期,那么您可以选择当天(2023年4月1日)或以后的日期,如果您选择当天日期,在当天24点后该对象会失去worm策略的保护。
手动彻底删除worm对象
worm桶内对象未配置保留策略或者保留策略已过期,可选择对应的版本进行手动删除操作;如果对象版本在保留期内,则无法成功删除。
- 在obs左侧导航栏选择“桶列表”。
- 在obs管理控制台桶列表中,单击待操作的桶,进入“对象”页面。
- 启用“历史版本”开关。
- 勾选需要彻底删除的对象版本,单击搜索栏上方的“彻底删除”。
图4 彻底删除对象版本
- 单击弹窗中的“确定”,完成对象版本的彻底删除。
配置生命周期规则删除worm对象
配置对象过期删除规则后,worm桶内对象未配置保留策略或者保留策略已过期,则受规则影响自动被obs删除,worm桶内对象如果在保留期内,无法对其执行删除操作。

当桶开启了worm功能,则“已删除对象”列表不支持对文件夹进行彻底删除操作。如果需要彻底删除文件夹,仅支持配置生命周期规则进行过期删除。
- 在obs左侧导航栏选择“桶列表”。
- 在obs管理控制台桶列表中,单击待操作的桶,进入“对象”页面。
- 在左侧导航栏,单击“概览”,进入“概览”页面。
- 在左侧导航栏单击“基础配置>生命周期规则”,进入“生命周期规则”界面。
- 单击“创建”,系统弹出如图5所示对话框。
图5 创建生命周期规则
- 配置生命周期管理规则。
基本信息:
- “状态”:选中“启用”,启用本条生命周期规则。
- “规则名称”:用于识别不同的生命周期配置,其长度需不超过255字符。
- “前缀”:可选。
- 填写前缀:满足该前缀的对象将受生命周期规则管理,输入的对象前缀不能包括\:*?"<>|特殊字符,不能以/开头,不能两个/相邻。
- 未填写前缀:桶内所有对象都将受生命周期规则管理。
配置当前版本或历史版本:
对象过期删除天数:勾选后指定在对象最后一次更新后多少天,受规则影响的对象将过期并自动被obs删除。过期时间必须大于上方存储类别转换时间的最大值。
例如,您于2023年11月7日在obs中更新了(最后一次更新)以下几个文件:- log/未配置-1.log(注:此文件未配置worm保留策略)
- log/已过期-1.log(注:此文件配置的worm保留策略已过期)
- doc/保留期内-1.doc(注:此文件配置的worm保留策略在2023年11月30日过期)
您于2023年11月10日在obs中更新了(最后一次更新)以下几个文件:- log/未配置-2.log(注:此文件未配置worm保留策略)
- log/已过期-2.log(注:此文件配置的worm保留策略已过期)
- doc/保留期内-2.doc(注:此文件配置的worm保留策略在2023年11月30日过期)
如果您在2023年11月10日设置前缀为“log”的对象,过期删除的时间设置为一天,可能出现如下情况:
- 11月7日更新的对象“log/未配置-1.log”和“log/已过期-1.log”会在最近一次系统自动扫描后被删除,可能在11月10日当天,也可能在11月11日,这取决于系统的下一次扫描在何时进行。“doc/保留期内-1”不会被删除。
- 11月10日更新的对象“log/未配置-2.log”和“log/已过期-2.log”,每下一次系统扫描均会判断距上一次对象更新是否已满一天。如果已满一天,则在本次扫描时删除;如果未满一天,则会等到下次扫描再判断,直到满一天时删除,一般可能在11月11日或11月12日删除。“doc/保留期内-2”不会被删除。
更多配置生命周期规则详情请参见配置生命周期规则。
- 单击“确定”,完成生命周期规则配置过期删除worm对象的操作。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨