OSS文件删除或覆盖后能不能恢复?

OSS后端的冗余机制是针对服务器、硬件等出现故障进行数据恢复。阿里云无法恢复经您手动删除、覆盖或者配置规则自动删除的OSS数据。

数据删除和覆盖说明

OSS服务条款服务等级协议中关于数据删除和覆盖的说明如下:

  • 服务条款中关于“用户业务数据”的说明如下:

    • 您可自行对您的用户业务数据进行删除、更改等操作。如您自行释放服务或删除数据的,阿里云将删除您的数据,按照您的指令不再保留该数据。

    • 用户业务数据一经删除,即不可恢复;您应自行承担数据因此被删除所引发的后果和责任,您理解并同意,阿里云没有继续保留、导出或者返还用户业务数据的义务。

  • 服务等级协议中关于“数据可销毁性”服务要求如下:

    在用户主动删除数据或用户服务期满后需要销毁数据时,阿里云将自动清除对应物理服务器上磁盘和内存数据,使得数据无法恢复。

可能会造成数据删除或覆盖的操作

以下方式可能导致您的数据被删除或覆盖,请慎重操作。

  • 通过OSS控制台、命令行工具ossutil、图形化工具ossbrowser、SDK等方式删除文件。具体操作,请参见删除文件

  • 通过OSS控制台、命令行工具ossutil、图形化工具ossbrowser、SDK等方式上传同名文件到OSS,会导致OSS内已有文件被覆盖。

  • 如果您在生命周期规则中配置了定期删除文件的规则,OSS会根据生命周期的配置定期删除符合条件的文件。具体操作,请参见设置生命周期规则

  • 如果您配置了跨区域复制规则,且选择的数据复制策略是增/删/改同步,则对源存储空间(Bucket)进行文件修改或删除操作时,操作会同步到目标Bucket。具体操作,请参见设置跨区域复制

  • 没有正确的配置Bucket访问权限,导致文件被他人恶意删除或覆盖。关于访问权限的更多信息,请参见访问控制概述

如何避免误删或误覆盖

您可以通过以下方式避免文件被误删或误覆盖:

  • 开启版本控制

    开启版本控制功能后,误删除、误覆盖的文件会以历史版本的形式存储在Bucket中,您可以随时恢复历史版本。更多信息,请参见版本控制概述

  • 使用跨区域复制备份文件

    您可以使用跨区域复制的增/改同步数据复制策略功能,将数据备份到不同地域的另一个Bucket中。更多信息,请参见设置跨区域复制

  • 使用定时备份功能定时备份文件

    您可以配置定时备份功能,将您的文件定时备份到云备份(Cloud Backup)中。当您的文件丢失时,可尽快恢复您的文件。具体操作,请参见定时备份

  • 设置同名覆盖参数

    调用上传文件相关接口上传文件时将x-oss-forbid-overwrite参数设置为true,禁止覆盖同名Object。

  • 配置正确的访问权限

    Bucket的访问者配置正确的访问权限,配置时注意遵循以下原则:

    • 不使用阿里云账号(主账号)访问OSS。

    • 读写分离,对于只需要读数据的业务,只使用具有读权限的RAM用户或STS临时凭证。

    • 开放给临时用户访问时,推荐使用STS的临时凭证来访问OSS。

    • 针对不同的业务,授予“够用且最小范围”的OSS权限。

    • 妥善保管数据访问的凭据,例如阿里云账号密码、RAM用户访问凭据。

    关于权限配置的更多信息,请参见访问控制概述