Updated on 2026-09-23 GMT+08:00

Configuring WORM for Objects

If you want to prevent any user (including the bucket or object owner) from modifying or deleting specific objects in an OBS bucket for a specified period, you can configure object-level WORM.

This section describes how to configure WORM for objects when uploading them or after they are uploaded.

Constraints

  • A bucket-level WORM policy applies only to objects uploaded after the policy is configured. To protect existing objects, configure object-level WORM separately.
  • The metadata of a WORM-protected object can still be modified.

Important Notes

  • Before configuring object-level WORM, you must enable bucket-level WORM. If an object is protected by both bucket-level and object-level WORM, the object-level WORM policy takes precedence.
  • The retention period of object-level WORM can only be extended but cannot be shortened.
  • If you have deregistered your account or your account has been frozen, the WORM-protected objects will be permanently deleted.
  • WORM does not protect parts generated during multipart uploads.
  • If a bucket has WORM enabled, an append upload on this bucket will fail, with a 403 error returned.
  • Only the compliance mode is supported.

Access Control

To configure an object-level WORM policy, you must be the object owner or have the required permission. For authorization details, see Object-Level WORM Authorization Settings.

Prerequisites

WORM has been enabled for the bucket.

Configuring WORM When Uploading Objects

You can use OBS Console or APIs to configure object-level WORM. You cannot use SDKs, OBS Browser+, or obsutil to do so.

Configuring WORM or Extending the Retention Period After Objects Are Uploaded

You can use OBS Console or APIs to configure object-level WORM. You cannot use SDKs, OBS Browser+, or obsutil to do so.

If an object does not have WORM configured or its retention period needs to be extended, perform the following steps: