# WORM简介
#### 使用场景
OBS提供WORM（Write Once Read Many）功能，实现对象在用户指定的时间段内不能被删除和篡改。目前OBS支持桶级和对象级的WORM功能，如果您希望在指定时间内任何用户（包含桶或对象的拥有者）均不能修改和删除OBS桶中的**所有对象** ，您可以配置**桶级WORM** ；如果您希望在指定时间内任何用户（包含桶或对象的拥有者）均不能修改和删除OBS桶中的**指定对象** ，您可以配置**对象级WORM**。
#### 桶级WORM与对象级WORM的区别
表1桶级WORM与对象级WORM的区别 
| 对比项   | 桶级WORM                                                                                                                                                                                                                                                                                                                                                                                                | 对象级WORM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| 保护范围   | 桶中的所有新上传的对象。 说明： 桶中已上传的对象需要单独配置对象级WORM，才能受WORM保护。                                                                                                                                                                                                                                                                         | 单个对象。 可以对新上传的对象或桶中存量对象设置WORM。                                                                                                                                                                                                                                                                                                                                                                                   |
| 配置方式 | 在创建桶时配置，也可以在桶创建后配置。                                                                                                                                                                                                                                                                                                                                                                                 | 需要先开启桶级WORM，才能配置对象级WORM。                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 保留期    | 设置天数或年，锁定时间为：保留策略生效的时刻 \~（保留策略生效的时刻+保留期）。 ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002666164535.png "点击放大") 例如：您在2026年5月11日14:53:50设置桶级WORM，保留期设置为3天，则桶中新上传的对象被锁定的时间为2026年5月11日14:53:50至2026年5月14日14:53:50。 | 可以选择继承桶的保留策略，也可以单独配置保留期。 单独配置保留期时，锁定时间为：设置的保留期截止时间点。 ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002635725446.png) 例如：您在2026年5月11日14:53:50设置对象级WORM，保留期设置为2026年5月20日，则新上传的对象被锁定的时间为2026年5月11日14:53:50至2026年5月20日23:59:59。 |
| 关闭WORM | 桶级WORM开启后无法关闭，但可以不设置或取消默认保留期。                                                                                                                                                                                                                                                                                                                                                                          | 对象级WORM配置后，不支持关闭WORM或取消默认保留期，只能延长保留期。                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 优先级  | 对象级WORM高于桶级WORM。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ||
   
#### 约束与限制
- 桶级WORM开关一旦打开，无法关闭，但可以禁用桶级默认保留期。
- 开启桶级WORM后，无法暂停桶的多版本控制。
- 开启桶级WORM开关的桶暂不支持跨区域复制能力。
- 桶级WORM策略只对策略生效之后新上传的对象生效，如果要使存量对象也受WORM策略保护，请单独为对象配置对象级WORM。
- 不支持迁移场景。
- WORM不阻止修改对象元数据。
- 并行文件系统不支持WORM。
 
#### 注意事项
- 开启对象级WORM功能前需要先开启桶级WORM，当对象同时被桶级WORM和对象级WORM锁定时，优先遵从对象级WORM的保护策略。
- 对象级WORM保留期只能延长不能缩短。
- 分段上传产生的分段文件不受WORM保护。
- 在配置桶日志记录时，不建议您将日志存储桶设置为WORM保留策略生效的桶，可能会由于老旧文件无法被删除而导致存储费用持续增长。
- 在开启了WORM开关的桶中，使用追加写上传对象将失败并返回403。
- 策略目前仅支持合规模式。
 
#### 权限控制
- 您必须是桶拥有者或拥有配置桶级默认WORM策略的权限，才能配置桶级WORM。相关授权，请参见[桶级WORM授权信息](https://support.huaweicloud.com/api-obs/obs_04_0167.html)。
- 您必须是对象拥有者或拥有配置对象级默认WORM策略的权限，才能配置对象级WORM。相关授权，请参见[对象级WORM授权信息](https://support.huaweicloud.com/api-obs/obs_04_0166.html)。
 
#### WORM与其他功能协同工作
- [结合多版本控制]
  开启桶级WORM开关前，需要先开启多版本控制。使用控制台配置WORM时，控制台会自动开启多版本，并且不允许暂停多版本。使用API配置WORM时，需要您自行调用[设置桶的多版本状态](https://support.huaweicloud.com/api-obs/obs_04_0037.html)接口开启多版本。
  版本对象保护机制：
  - WORM对所有版本对象提供保护，在保留期内不允许删除或覆盖任何版本对象。
  
  - 开启WORM后，允许上传同名对象，产生新的版本对象，其同样受WORM保护。
  
  - WORM不作用于删除标记，清理删除标记不受WORM的限制。
   
- [结合生命周期]
  - 处于保护中的对象不会被生命周期删除，但是能正常进行存储类别转换。受保护的对象不再受保护后，如果满足生命周期过期规则，将会被系统删除。
  
  - 删除标记不受WORM保护，可以通过配置生命周期规则来自动清理无历史版本的删除标记。
   
- [结合跨区域复制]
  WORM结合[跨区域复制](https://support.huaweicloud.com/usermanual-obs/obs_03_0003.html#ZH-CN_TOPIC_0000002288445746)协同工作时，存在如下情况：
  - 当源桶处于WORM保留期时，暂不支持配置跨区域复制，且已配置的跨区域复制规则将不生效。
  
  - 当目标桶处于WORM保留期时：源桶中的对象会被复制到目标桶中，且受桶级WORM保护；在目标桶WORM策略生效前上传的存量对象不受桶级WORM保护，需要单独为每个对象配置对象级WORM，才能使存量对象受WORM保护。
   
- [结合服务端加密]
  WORM结合[服务端加密](https://support.huaweicloud.com/usermanual-obs/obs_03_0088.html#ZH-CN_TOPIC_0000002417464641)协同工作时，存在如下情况：
  - 当桶同时配置了WORM和服务端加密时，两者互不影响，各自生效使用。您可以为加密对象配置对象级WORM，也可以在上传对象时同时配置服务端加密和对象级WORM。
  
  - 上传对象后支持配置WORM，但上传对象后不支持配置服务端加密。
  
  - 如果对象无法被修改或删除，可能是由于对象处于WORM保留期，还有可能是对象被加密，而您没有加密相关授权，所以无法修改或删除对象。
   
