上云无忧 > 文档中心 > 百度智能云对象存储BOS设置回收站(开发者)
对象存储BOS
百度智能云对象存储BOS设置回收站(开发者)

文档简介:
当开发者在 BOS 进行数据存储和管理时,基于更高的数据可靠性要求,通常希望如下场景有更好的解决方案: 当使用数据时产生误删情况,希望有途径将数据找回;
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

应用场景

当开发者在 BOS 进行数据存储和管理时,基于更高的数据可靠性要求,通常希望如下场景有更好的解决方案:

  • 当使用数据时产生误删情况,希望有途径将数据找回;
  • 当一个 Bucket 通过 ACL 授权给多个用户,并给予他们 Write 权限时,希望能够避免这些用户对 Bucket 中的数据进行恶意删除操作

操作方式

基于上述场景为了提升 BOS 的数据可靠性,BOS 提供了回收站功能,Bucket 的 Owner 且对 Bucket 具备 Full Control 权限的用户可对 Bucket 进行回收站相关的配置。配置方法可根据开发习惯,使用 API 或控制台等多种方式:

  • 通过 API 管理回收站:

    • PutBucketTrash:开启回收站功能。
    • GetBucketTrash:查看当前回收站状态。
    • DeleteBucketTrash:关闭回收站功能。
  • 通过 Console 控制台设置回收站请参考设置回收站。

    1. 当Bucket开启回收站功能后,用户即可在该Bucket的回收站目录中查找到Bucket中被删除的数据。该回收站路径默认为Bucket/.trash/
    2. 如果您需要将回收站内的数据进行恢复,则直接rename该回收站内的文件,将其文件名中的.trash/路径去除即可
    3. 如果您需要将回收站内的数据进行彻底清除,则直接将.trash/路径下的某文件再次delete即可

同时,基于上述应用场景中的第二种情况,您也可以将回收站能力与Bucket ACL做一些组合,例如为某需要在BucketA中有Write权限的用户,配置如下ACL:

{
  "id": "policy_3563bce24f2049629f4e0b6bf7a2775d",
  "version": "v1",
  "grantee": [
                {
                    "id": "b124deeaf6f641c9ac27700b41a350a8"
                }
            ],
  "accessControlList": [
    {
      "service": "bce:bos",
      "region": "bj",
      "resource": [
        "BucketA"
      ],
      "effect": "Allow",
      "permission": [
        WRITE"
      ]
    },
    {
      "service": "bce:bos",
      "region": "bj",
      "resource": [
        "BucketA/.trash/"
      ],
      "effect": "Deny",
      "permission": [
        "DeleteObject"
      ]
    }
  ]
}

通过上述ACL,该用户可对Bucket进行写入和删除行为,但对于回收站内的数据无法进行二次彻底删除。

注意事项

  1. 当Bucket已开启回收站功能并设置回收站路径为.trash/,之后将Bucket内的文件A删除(原文件路径为Bucket/test/A),则该文件A的路径变为Bucke/.trash/test/A,之后您关闭该Bucket的回收站,则该文件A在Bucket中的保留路径仍为Bucket/.trash/test/A。因此,提醒您在关闭回收站功能后,同时按需将类似垃圾文件清除。
  2. 当Bucket已开启回收站功能并设置回收站路径为.trash/,删除后的文件将进入Bucket/.trash/目录下,之后您将回收站文件路径更改为.trashX/,路径变更前的回收站文件将保留在原位置,即Bucket/.trash/路径下,而之后被删除的文件,将进入Bucket/.trashX/路径下。因此,提醒您在变更回收站路径时,对回收站内原有文件按需进行搬迁。
  3. 删除归档类型文件时,归档类型的文件不会进入回收站,直接删除。

计费模式

  • BOS回收站不另外收费,回收站内的文件还视为Bucket内数据的一部分,按照其存储类型收取容量费用。
  • 当回收站内的文件被彻底清除后,将不收取容量费用。
相似文档
  • BOS支持用户在上传和复制请求(PutObject、PostObject、InitiateMultipartUpload、AppendObject、FetchObject、CopyObject)中携带x-bce-server-side-encryption的HTTP header并指定用户的加密算法(目前仅支持AES256),从而实现数据的有效安全保护。
  • 为了防止用户存储在 BOS 上的数据被其他人盗链,BOS 支持基于 HTTP header referer 字段的防盗链方法。用户可以通过 BOS 控制台设置 Referer 字段的白名单。设置白名单后,只有 Referer 字段在白名单内的用户才可以访问 Bucket 中存储的数据,不在白名单内的请求会被拒绝。但若用户的 Referer 为空时,默认可以访问,不受白名单限制。
  • 创建 Bucket 后,可使用 ACL 对 Bucket 权限进行管理。 操作方式: BOS 同时支持使用 API 与使用 SDK 管理 Bucket 权限,具体如下: 使用 API 管理 Bucket 权限 上传ACL文件 使用CannedAcl 使用 SDK 管理 Bucket 权限 Java SDK Python SDK PHP SDK C# SDK Android SDK
  • 目前 BOS 也提供 Object 级别的细粒度访问权限控制,即 Bucket 内不同 Object 对不同用户具有不同的访问控制权限。用户可以通过 CannedACL 和 ACL 文件的方式对单个 Object 的访问权限进行控制,Object 目前支持 READ 和 FULL_CONTROL 两种权限类型。
  • 在您的百度云账号下面,通过 IAM 可以创建具有自己 AccessKey 的子用户。您的百度云账号被称为主账号,创建出来的账号被称为子用户,使用子用户的 AccessKey 只能使用主账号授权的操作和资源,BOS已经接入IAM子用户系统,通过控制台多用户访问控制创建IAM子用户,您可以实现:
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部