有奖捉虫:云通信与企业服务文档专题,速来> HOT

概述

腾讯云对象存储(Cloud Object Storage,COS)提供了对象锁定功能,支持用户设定保留期限内的对象不可改写、不可删除。
对象锁定功能当前为对象级别,支持用户为单个或多个对象设置保留期限。用户也可以通过开启存储桶的对象锁定配置,对新上传到存储桶的对象默认设置对象锁定。
注意:
对象一旦设置了对象锁定,不支持解除对象锁定、不支持缩短保留期限,只允许延长保留期限。
说明:
基于对象锁定功能,对象存储 COS 可满足严格的电子记录保留要求,包括 SEC Rule 17a-4(f)、FINRA 4511、CFTC 1.31等合规要求。
SEC 17A-4 法规是美国证券交易委员会根据1934年美国证券交易法而颁布的法规,该法规概述了数据保留、索引、可访问性要求,适用于从事股票,债券和期货等金融证券交易或经纪业务公司,根据该法规,许多类型交易记录必须保留并不可重写和擦除,期限为两年内可立即访问,至少六年内为非立即访问。

存储桶开启对象锁定功能

在为对象加锁之前,存储桶需要先开启 WORM 功能。需要注意的是,开启对象锁定功能,仅是将存储桶标记为“可使用对象锁定功能”的状态,并不会自动对桶内所有对象加锁。存储桶开启 WORM 功能后,用户可以选择为指定对象开启对象锁定,或保持不锁定的状态。

存储桶的对象锁定配置一旦开启后,不支持关闭。开启对象锁定配置的存储桶,会受到以下限制:
不支持开启版本控制。若存储桶已开启版本控制,则无法开启对象锁定配置。
不支持开启存储桶复制。原因是,存储桶复制要求必须开启版本控制。
不支持开启智能分层配置。若存储桶已开启智能分层配置,则无法开启对象锁定配置。
不支持使用追加上传(Append)。

使用方法

您可以通过 API 方式为存储桶开启对象锁定配置。

使用 REST API

调用 PUT Bucket ObjectLockConfiguration 接口,开启对象锁定配置。

为对象设置保留期限

保留期限

存储桶开启对象锁定功能后,用户可为桶内对象配置锁定保留期限。COS 在对象的元数据中存储了一个时间戳用于标识锁定的过期时间(RetainUntilDate),在保留期限之前:
对象不可删除、修改。
对象的存储类型不可修改。
对象 HTTP 头部和用户元数据都不可修改,包括 Content-Type、Content-Encoding、 Content-Language、Content-Disposition、Cache-Control、Expires、x-cos-meta-。
用户可以单独为指定对象配置保留期限。对象上传时,支持通过 x-cos-object-lock-retain-until-date 头部配置保留期限;对象上传后,支持通过 PUT Object Retention 接口配置保留期限。
用户也可以通过设定存储桶默认配置,在对象上传时自动配置保留期限。详情可参考 存储桶默认配置

使用方法

您可以通过API 为对象设置保留期限。

使用 REST API

在上传时为对象设置保留期限 调用上传接口(PutObject、InitiateMultipartUploads、PostObject),并同时传入对象锁定相关的头部或表单域。详情请参见以下 API 文档:
在上传后为对象设置保留期限,详情请参见 PUT Object Retention
查看对象的保留期限,详情请参见 GET Object Retention

为存储桶设置默认保留天数

COS 支持为存储桶添加默认的对象锁定保留期限,单位为天。当用户上传对象未携带对象锁定头部时,会自动根据存储桶配置的保留天数为对象加锁。但是,当用户上传对象携带了对象锁定头部时,则会忽略存储桶配置,根据头部设置保留期限。
说明:
存储桶默认保留天数可以缩短、延长、关闭。
配置存储桶默认保留天数,只会对后续新增的对象生效,不会影响存量对象的锁定状态。
下面举例说明存储桶默认配置对对象保留期限的影响。
对象上传时间
存储桶默认配置
对象上传时头部
对象的锁定到期时间
2023-01-01T18:30:00Z
7天
x-cos-object-lock-retain-until-date: 2023-01-02T18:30:00Z
2023-01-02T18:30:00Z
2023-01-01T18:30:00Z
7天
x-cos-object-lock-retain-until-date: 2023-01-20T18:30:00Z
2023-01-20T18:30:00Z
2023-01-01T18:30:00Z
7天
未携带
2023-01-08T18:30:00Z
2023-01-01T18:30:00Z
未配置
x-cos-object-lock-retain-until-date: 2023-01-02T18:30:00Z
2023-01-02T18:30:00Z
2023-01-01T18:30:00Z
未配置
x-cos-object-lock-retain-until-date: 2023-01-20T18:30:00Z
2023-01-20T18:30:00Z
2023-01-01T18:30:00Z
未配置
未携带
不锁定

使用方法

您可以通过 API 设置存储桶的对象锁定默认配置。

REST API

您可以直接通过以下 API 管理对象锁定:

限制说明

1. 对象锁定功能目前仅对白名单客户开放,请 联系我们
2. MAZ 存储桶不支持开启对象锁定功能。
3. 对象锁定不支持版本控制功能,已开启对象锁定的存储桶不支持开启版本控制,存储桶版本控制处于开启、暂停状态,均不支持开启对象锁定。
4. 对象锁定不支持存储桶复制功能,由于对象锁定不兼容版本控制功能,且在存储桶复制规则下源存储桶、目标存储桶必须开启版本控制,所以开启对象锁定的存储桶无法作为存储桶复制的源存储桶、目标存储桶。
5. 对象锁定不支持智能分层功能。已开启对象锁定的存储桶不支持开启智能分层配置,存储桶开启智能分层配置后,不支持开启对象锁定。
6. 对象锁定与生命周期规则的关系。对象处于保留期内,生命周期配置的沉降、删除操作均不生效;对象超过保留期后,生命周期配置的沉降、删除操作可正常生效。
生命周期规则
对象锁定保留期
生命周期执行表现
20天沉降对象
30天保留期
上传后第20天,对象不沉降,上传后第31天对象沉降。
20天删除对象
30天保留期
上传后第20天,对象不删除,上传后第31天对象被删除。
20天沉降对象
10天保留期
上传后20天对象正常沉降。
20天删除对象
10天保留期
上传后20天对象正常删除。
7. 对存储桶开启对象锁定后,文件碎片不受对象锁定规则限制,用户可以清除存储桶内的文件碎片。
8. 对象锁定功能开启后无法关闭。
9. 开启对象锁定后,存储桶和对象 ACL 可以修改。