arrow_back

Google Cloud Storage - 存储桶锁定

登录 加入
访问 700 多个实验和课程

Google Cloud Storage - 存储桶锁定

实验 40 分钟 universal_currency_alt 1 个积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

GSP297

Google Cloud 自学实验的徽标

概览

在本实验中,您将学习如何使用 Cloud Storage 存储桶锁定功能,通过该功能可以为 Cloud Storage 存储桶配置数据保留政策,以管理对象在存储桶中必须保留的时长。该功能还可让您锁定数据保留政策,永久性地防止政策缩减或移除。

结合 Cloud Storage 详细的审核日志记录模式(用于记录 Cloud Storage 请求和响应详情)或对象生命周期管理,存储桶锁定可帮助您满足法规和合规性要求,例如与 FINRA、SEC 和 CFTC 相关的要求。您还可以利用存储桶锁定功能,满足医疗保健行业的特定数据保留法规要求。

学习内容

在本实验中,您将学习如何完成以下操作:

  • 创建存储桶
  • 定义对象保留政策
  • 移除保留政策

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:

    • “打开 Google Cloud 控制台”按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:将这些标签页安排在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在“实验详细信息”窗格中找到“用户名”。

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在“实验详细信息”窗格中找到“密码”。

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

  2. 在弹出的窗口中执行以下操作:

    • 继续完成 Cloud Shell 信息窗口中的设置。
    • 授权 Cloud Shell 使用您的凭据进行 Google Cloud API 调用。

如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 Project_ID 。输出内容中有一行说明了此会话的 Project_ID

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

输出:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注意:如需查看在 Google Cloud 中使用 gcloud 的完整文档,请参阅 gcloud CLI 概览指南

为本实验设置区域

gcloud config set compute/region {{{project_0.default_region | "REGION"}}}

Google Cloud 中已安装 Cloud Storage 实用工具 gsutil 并可直接使用。在本实验中,您将在 Cloud Shell 中使用 gsutil。

任务 1. 创建新存储桶

  1. 定义一个名为 Cloud Storage_BUCKET 的环境变量,并使用您的项目 ID 作为存储桶名称。使用以下命令,通过 Cloud SDK 获取您的项目 ID:
export BUCKET=$(gcloud config get-value project)
  1. 接下来,使用以下 gsutil 命令创建新存储桶:
gsutil mb "gs://$BUCKET"
  1. 点击授权

点击检查我的进度以验证是否完成了以下目标: 创建存储桶

任务 2. 定义保留政策

假设某金融分支机构需要满足 SEC Rule 17a-4 要求,将金融交易记录保留 6 年(在本实验中对应 10 秒)。为满足此要求,该分支机构的 IT 管理员(负责分支机构内部的日常记录管理和保留的技术管理员)希望创建一个 Cloud Storage 存储桶,并为其设置期限为 10 秒的保留政策。

了解如何为存储桶设置保留政策。

  1. 借助 Cloud Storage gsutil 工具,您可以使用“秒”、“天”、“月”和“年”来定义保留政策。例如,创建一个 10 秒的保留政策:
gsutil retention set 10s "gs://$BUCKET" 注意:您还可以用 10d 表示 10 天,用 10m 表示 10 个月,用 10y 表示 10 年。如需了解详情,请使用命令:gsutil help retention set
  1. 验证存储桶的保留政策:
gsutil retention get "gs://$BUCKET"

示例输出:

Retention Policy (UNLOCKED): Duration: 10 Second(s) Effective Time: Tue, 23 Jan 2018 01:04:05 GMT

Effective Time(生效时间)定义了政策在存储桶上的生效时间。

  1. 存储桶现在已设置保留政策,接下来添加一个交易记录对象,以对其进行测试:
gsutil cp gs://spls/gsp297/dummy_transactions "gs://$BUCKET/"
  1. 查看保留期限:
gsutil ls -L "gs://$BUCKET/dummy_transactions"

示例输出:

gs://YOUR_BUCKET_NAME/dummy_transactions: Creation time: Tue, 23 Jan 2018 00:45:21 GMT Update time: Thu, 25 Jan 2018 20:14:49 GMT Retention Expiration: Thu, 25 Jan 2018 20:14:59 GMT

给定对象的保留政策过期后,便可将其删除。

如需延长保留政策的期限,请使用 gsutil retention set 命令更新保留政策。

点击检查我的进度以验证是否完成了以下目标: 设置保留政策

任务 3. 锁定保留政策

在未锁定状态下,您可以从存储桶中移除保留政策或缩短保留时间。锁定保留政策后,便无法将其从存储桶中移除,也无法缩短保留时间。

  1. 锁定保留政策:
gsutil retention lock "gs://$BUCKET/"

确认锁定情况的示例输出:

This will PERMANENTLY set the Retention Policy on gs://YOUR-BUCKET-NAME to: Retention Policy (UNLOCKED): Duration: 10 Second(s) Effective Time: Wed, 07 Feb 2018 01:37:52 GMT This setting cannot be reverted! Continue? [y|N]:
  1. 输入 y 进行确认。
注意:如需查看存储桶的保留政策,请调用以下命令:

gsutil retention get "gs://$Cloud Storage_BUCKET/"

保留政策一旦锁定便无法解锁,只能延长其期限。如果自生效时间设置或上次更新以来经过的时间已超过保留政策期限,生效时间将会更新。

点击检查我的进度以验证是否完成了以下目标: 锁定保留政策

任务 4. 临时冻结

继续沿用上述示例,假设存储桶已配置锁定的 10 秒保留政策。

金融监管机构决定对其中一家分支机构的客户进行审核,并要求在审核期间保留这些记录。这些客户的部分 Cloud Storage 对象即将过期,很快就会被自动删除。

为处理此问题,监管调查开始后,分支机构的 IT 管理员为与此次审核相关的每个对象设置临时冻结标志。设置该标志后,即使对象保留期限已超过 10 秒,其仍会继续受到防删除保护。

  1. 为交易对象设置临时冻结:
gsutil retention temp set "gs://$BUCKET/dummy_transactions"
  1. 为对象设置临时冻结后,除非对其解除冻结,否则无法执行删除操作。例如,尝试删除对象:
gsutil rm "gs://$BUCKET/dummy_transactions"

您应该会看到以下错误消息:

AccessDeniedException: 403 Object 'YOUR-BUCKET-NAME/dummy_transactions is under active Temporary hold and cannot be deleted, overwritten or archived until hold is removed.
  1. 监管机构完成审核后,分支机构 IT 管理员即可移除临时冻结。使用以下命令解除冻结:
gsutil retention temp release "gs://$BUCKET/dummy_transactions"

点击检查我的进度以验证是否完成了以下目标: 设置临时冻结

  1. 现在您可以删除该文件,前提是该文件的保留政策已过期,否则请稍等片刻再试。
gsutil rm "gs://$BUCKET/dummy_transactions"

任务 5. 基于事件的冻结

继续沿用上述示例,假设存储桶已配置锁定的 10 秒保留政策。

除了将金融交易记录保留 10 秒外,该分支机构还需要从贷款结清之日起将贷款记录保留 10 秒。为此,该分支机构的 IT 管理员需要上传贷款记录,将其作为新的 Cloud Storage 对象,并设置基于事件的冻结标志。

每天,随着贷款的结清,该分支机构 IT 管理员都会取消相应 Cloud Storage 对象基于事件的冻结标记设置。无需采取进一步操作,因为 Cloud Storage 会自动计算新的保留政策,从那日起 10 秒后过期。

利用基于事件的冻结,您可以延迟保留政策的倒计时,直到冻结解除。基于事件的冻结可以针对每个对象进行管理,还可作为存储桶属性中的默认设置,在向存储桶添加新对象时自动应用。

了解如何为贷款启用基于事件的冻结。

  1. 使用以下命令,为存储桶启用默认的基于事件的冻结:
gsutil retention event-default set "gs://$BUCKET/"
  1. 使用以下命令,将示例贷款添加到存储桶中:
gsutil cp gs://spls/gsp297/dummy_loan "gs://$BUCKET/"
  1. 使用以下命令,验证是否已为新添加的贷款启用基于事件的冻结:
gsutil ls -L "gs://$BUCKET/dummy_loan"

您应该会看到类似如下所示的输出:

gs://YOUR-BUCKET-NAME/dummy_loan: Creation time: Fri, 26 Jan 2018 07:40:28 GMT Update time: Fri, 26 Jan 2018 07:40:28 GMT Event-Based Hold: Enabled

请注意,此场景未定义保留期限。必须先为对象解除基于事件的冻结,然后才能设置保留期限。

  1. 贷款结清后,分支机构 IT 管理员便可使用以下命令解除基于事件的冻结:
gsutil retention event release "gs://$BUCKET/dummy_loan"

您应该会看到类似如下所示的输出:

Releasing Event-Based Hold on gs://YOUR-BUCKET-NAME/dummy_loan...
  1. 基于事件的冻结解除后,存储桶的保留政策便会生效。使用以下命令验证示例贷款现在是否可设置“保留期限”字段:
gsutil ls -L "gs://$BUCKET/dummy_loan"

您应该会看到以下内容:

dummy_loan: Creation time: Fri, 26 Jan 2018 08:14:16 GMT Update time: Fri, 26 Jan 2018 08:14:25 GMT Retention Expiration: Fri, 26 Jan 2018 08:14:45 GMT 注意:您还可以使用以下命令,为特定对象设置基于事件的冻结:

gsutil retention event set "gs://bucket-name/object-name"
  1. 尝试从存储桶中删除该文件:
gsutil rm "gs://$BUCKET/dummy_loan"

点击检查我的进度以验证是否完成了以下目标: 创建基于事件的冻结

任务 6. 如何移除保留政策

不巧的是,该分支机构关停了贷款业务。分支机构 IT 管理员仍需在整个保留期限内维护现有记录,但再也不用在存储桶中生成任何记录。在最后一个贷款保留期限过期且不再需要冻结后,分支机构 IT 管理员便可删除空存储桶。即使存储桶设置了锁定的保留政策,仍可将其删除,因为其中不包含任何需要保留的数据。

  • 使用以下命令删除空存储桶:
gsutil rb "gs://$BUCKET/"

恭喜!

在本实验中,您学习了如何使用按时间定义的政策、临时冻结、基于事件的冻结来管理对象保留,以及如何删除设置了锁定状态的保留政策的存储桶。

参与下一项实验

详细了解 Cloud Storage:

后续步骤/了解详情

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

本手册的最后更新时间:2025 年 9 月 30 日

本实验的最后测试时间:2025 年 9 月 30 日

版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。