删除存储对象

本页面介绍了如何从 Google Distributed Cloud (GDC) 网闸隔离存储桶中删除对象。

准备工作

存储桶是限定于特定项目的资源。项目充当容器,对存储桶进行分组,并支持通过 Management API 服务器对其进行管理。您必须先创建一个新项目,或选择一个您拥有足够权限的现有项目,然后才能执行本页面上的操作。

所需 IAM 角色

请与您的 IAM 项目管理员联系,请求在项目命名空间中授予以下角色:

  • Bucket Project Admin (project-bucket-admin):创建、更新和删除存储桶。
  • Bucket Object Project Viewer (project-bucket-object-viewer):查看和检查存储桶和对象的详细信息。

如需了解详情,请参阅授予存储桶访问权限。

准备环境

如需针对管理 API 服务器或全局 API 服务器运行命令,请执行以下操作:

  1. 如果您没有可用区级管理 API 服务器的 kubeconfig 文件,请登录并生成该文件。
  2. 对于双可用区存储桶,请执行以下操作:
    • 请与您的基础架构运维人员 (IO) 确认,是否已为您的配对可用区创建 BucketLocationConfig 自定义资源。
    • 为全局 API 服务器生成 kubeconfig 文件。

删除存储桶中的对象

控制台

  1. 在导航菜单中,点击对象存储。
  2. 点击包含对象的存储桶的名称。
  3. 等待系统将您重定向到存储桶详情页面,其中会以表格形式列出对象。
  4. 前往对象的详情页面,然后点击永久删除。或者,在存储桶对象列表视图中,选中对象旁边的复选框,然后点击永久删除。
  5. 等待几分钟,然后刷新页面,检查对象是否已删除。

请注意,双区域存储桶中的所有对象都采用版本控制,因此删除对象不会将其从存储空间中移除。而是会将对象标记为待删除,并且该对象将不再显示在 LIST 调用中。您仍然可以通过指定版本 ID 来检索该对象。只有在执行删除操作时指定 versionID,对象才会被永久删除。

gdcloud

从存储桶中删除文件:

gdcloud storage rm s3://FULLY_QUALIFIED_BUCKET_NAME/OBJECT

使用加密 v2 对存储桶中的对象进行加密粉碎

  1. 检索属于某个存储桶的所有 AEADKey:

    kubectl get aeadkeys -n PROJECT_NAMESPACE -l  cmek.security.gdc.goog/resource-name=FULLY_QUALIFIED_BUCKET_NAME
    
  2. 按照删除密钥中的说明删除预期的 AEADKey,以对对象进行加密粉碎。

加密粉碎双可用区存储桶

  1. 检索属于某个存储桶的所有 MZAEADKeys:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG \
  get mzaeadkey -n PROJECT_NAMESPACE -l cmek.security.gdc.goog/resource-name=FULLY_QUALIFIED_BUCKET_NAME
  1. 对于每个 MZAEADKey,请使用以下命令删除密钥及其可用区级 AEADKey 副本:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG \
  delete mzaeadkey KEY_NAME --namespace=PROJECT_NAMESPACE