最近更新时间:2026-04-24 10:53:13
保留策略具有WORM(Write Once Read Many)特性,满足用户以不可删除、不可篡改方式保存和使用数据。如果您希望指定时间内任何用户(包括资源拥有者)均不能修改和删除KS3某个Bucket中的Object,您可以选择为Bucket配置保留策略。在保留策略指定的Object保留时间到期之前,仅支持在Bucket中上传和读取Object。Object保留时间到期后,才可以修改或删除Object。
保留策略功能支持 WORM 特性,可支持客户以不可擦除、不可删除的格式保留电子记录,以满足特定行业监管要求,适用于需要满足合规性要求、防篡改和防删除的场景。
机器学习:经过长时间训练得到模型数据是一种宝贵资产。如果训练过程中数据源或模型数据被覆盖或误删,会导致训练任务中断,进而造成 GPU 资源浪费。通过保留策略可以保护这些数据不被随意覆盖或删除。
智能驾驶:在智能驾驶系统中,为确保传感器数据、模型训练集及日志文件等关键数据的完整性与不可篡改性,满足日趋严格的合规监管要求,可使用保留策略对相关数据进行保护,确保数据一旦写入不可删除或覆盖,提升整体系统的安全性与可信性。
金融、医疗等合规场景:金融、保险、医疗等机构需要遵守严格的法律法规,对影像资料、客户信息等敏感信息进行严格管理和保护。使用保留策略功能可以确保数据在规定的保留期内不可覆盖或删除,满足合规审计的要求。
同一个Bucket中,不支持同时开通回收站和保留策略。
Bucket内的Object在保留策略生效期间,可通过设置生命周期规则进行存储类型转化,在保证合规性的前提下,降低存储成本,目前生命周期规则暂不支持删除保留期过期的文件。
生效规则
当基于时间的保留策略创建后,该策略默认处于InProgress状态,有效期为24小时。在此期间,Bucket资源处于保护状态。
启动保留策略24小时内
如果24小时内未提交锁定保留策略,则Bucket所有者以及授权用户可以删除该策略。
如果24小时内已提交锁定保留策略,则不允许删除该策略,且无法缩短保护周期,仅可延长保护周期。同时,Bucket内的数据处于保护状态,尝试删除或修改这些数据时,KS3将返回409 FileImmutable错误信息。
启动保留策略24小时后
如果超过24小时未锁定该保留策略,则该策略自动失效,您可以删除该策略。
删除规则
当删除某个Bucket时,该Bucket对应的保留策略也会被删除。
启动保留策略24小时内,如果该保留策略未提交锁定,则Bucket所有者以及授权用户可以删除该策略。
如果Bucket内有Object处于保护周期内,那么您将无法删除保留策略,同时也无法删除Bucket。
规则示例
假设您在2026年06月01日为某个Bucket创建了保护周期为30天的保留策略,且该策略在创建后进入锁定状态。您在不同时间上传了testfile1.txt、testfile2.txt、testfile3.txt三个Object。具体上传时间及到期时间如下:
Object名称 | 上传时间 | Object到期时间 |
|---|---|---|
testfile1.txt | 2026年04月01日 | 2026年04月30日 |
testfile2.txt | 2026年06月01日 | 2026年06月30日 |
testfile3.txt | 2026年09月01日 | 2026年09月30日 |
进入KS3管理控制台界面。
点击左侧存储空间,单击需要设置的存储空间名称,进入存储空间详情页面。
进入 空间设置 ->数据安全->保留策略 页面。
单击 编辑 配置策略。指定保留周期。
说明:保留周期以天为单位,取值范围为1~36500天。
单击确定。
创建后策略状态为待锁定。该状态的有效期为24小时。在此期间,相关Bucket资源将受到保护。若您决定不保留该策略,可在24小时内将其删除。
锁定保留策略。
单击锁定。
在弹出的对话框,单击确定。
锁定后无法修改或删除保留策略,且在保留周期内无法修改或删除Bucket中的数据。
7.修改保留周期。
单击编辑。
在弹出的对话框,修改保留周期。
只能延长保留周期,无法缩短。
详细说明请参见JAVA SDK
public void initBucketWorm() {
// 初始化 Ks3Client,参见“初始化”文档
Ks3Client ks3Client = initKs3Client();
try {
String bucketName = "your-bucket-name";
int retentionPeriodInDays = 30; // 保留期,单位为天
ks3Client.initiateBucketWorm(bucketName, retentionPeriodInDays);
System.out.println("Put Bucket Worm Succeed!");
} catch (Ks3ServiceException e) {
System.out.println("Ks3ServiceException occurred, which means the request was made to KS3, but KS3 returned an error response for some reason.");
System.out.println("Error Message: " + e.getErrorMessage());
System.out.println("Error Code: " + e.getErrorCode());
System.out.println("Request ID: " + e.getRequestId());
} catch (Ks3ClientException e) {
System.out.println("Ks3ClientException occurred, which means the client encountered an internal error while trying to communicate with KS3.");
System.out.println("Error Message: " + e.getMessage());
} finally {
// 不再使用时,关闭 Ks3Client
ks3Client.shutdown();
}
}保留策略提供数据合规存储,保护周期内数据不可删除或修改。相比之下,IAM policy和Bucket Policy保护的数据可能被修改或删除。
当需要长期存储且不允许修改或删除的重要数据,如医疗档案、技术文件、合同文书等,建议在指定Bucket内开启保留策略。
是否支持取消保留策略取决于其状态。
未提交锁定:Bucket拥有者和授权用户可删除。
已提交锁定:任何人均无法删除。
本文介绍的桶级别保留策略(BucketWorm)仅支持针对Bucket设置,不支持目录或单个对象。暂不支持单个Object设置独立的保留策略。
未存储Object:可直接删除。
已存储Object且过保护期:先删除所有Object,再删除Bucket。
已存储Object且在保护期内:无法删除。
保留策略API已开放,支持IAM 与Bucket policy。授权的IAM用户可通过控制台、API、SDK等方式创建或删除保留策略。
纯净模式
