了解如何使用 Cloud Code 的 Secret Manager 集成创建和管理 Secret。
如需遵循有关此任务的分步指导,请直接在 Cloud Shell Editor 中点击操作演示:
准备工作
-
In the Google Cloud console, go to the project selector page.
-
Select or create a Google Cloud project.
- 安装 Git,以便 Cloud Code 可以执行 Git 操作,例如克隆示例。
- 如果您尚未安装 Cloud Code 插件,请先安装该插件。
创建 Cloud Run 服务
将 Cloud Shell Editor 用作创建 Cloud Run 服务和 Secret 的环境。编辑器会预加载云开发所需的工具。
如需创建服务,请执行以下操作:
在 Cloud Code 状态栏中,点击活跃项目名称。
在显示的“快速选择”菜单中,选择新建应用,然后 然后点击 Cloud Run 应用。
从 Cloud Run 示例列表中选择 Python (Flask): Cloud Run。
为您的示例选择一个文件夹,然后点击 Create New Application(创建新应用)。
Cloud Shell Editor 在新工作区中加载您的服务后,您可以在
创建 Secret
Secret Manager 允许您将 Secret 作为二进制 blob 或文本字符串进行安全存储、管理和访问。此外,它还会管理您的 Secret,这意味着您无需处理虚拟机或操作服务。
如需使用 Cloud Code 的 Secret Manager 集成创建 Secret,请执行以下操作:
- 点击
秘密 管理器 ,并稍等片刻。 - 如果系统提示您授权 Cloud Shell 进行 Google Cloud API 调用,请点击授权。
- 依次点击 add(添加)
Create Secret (创建 Secret)。 - 在系统提示时,从下拉选择器中选择您的 Google Cloud 项目。
- 如果系统提示,请启用 Secret Manager API。
在随即显示的 Secret Manager - 创建 Secret 标签页中,在名称字段中输入以下内容:
my-secret
在 Secret 值字段中,输入:
Hello secret!
点击创建 Secret,系统会显示一条消息,告知您 Secret 已成功创建。
向代码添加 Secret
Secret 非常适合用于存储应用运行时所需的数据库密码、API 密钥或 TLS 证书等配置信息。
如需向代码添加 Secret,请执行以下操作:
打开
云 API 视图,然后选择Secret Manager API 。系统随即会打开一个 Google Cloud API“详情”标签页,标题为 Secret Manager API。
在安装客户端库部分,点击 Python 标签页,然后点击 play_arrow 在终端中运行。这会安装
google-cloud-secret-manager
客户端库。打开
requirements.txt ,并在文件底部添加以下行:google-cloud-secret-manager==2.1.0
将会自动保存您的更改。
如需获取 Secret 的最新值,请打开
app.py ,然后将以下函数:复制并粘贴到 hello 函数后面 :def access_secret_version(secret_version_id): """Return the value of a secret's version""" from google.cloud import secretmanager # Create the Secret Manager client. client = secretmanager.SecretManagerServiceClient() # Access the secret version. response = client.access_secret_version(name=secret_version_id) # Return the decoded payload. return response.payload.data.decode('UTF-8')
如需调用
access_secret_version
函数,请将消息变量 替换为以下代码:message = access_secret_version("<SECRET_VERSION_ID>")
如果您仍打开着 Secret Manager - 创建 Secret 标签页,请file_copy 复制该 ID。
如需随时获取密钥版本的 ID,请前往
秘密 经理 >[SECRET_NAME] >请按住 将鼠标悬停在您的版本上 复制资源 ID。如需添加版本 ID,请将占位符
替换为您复制的版本 ID。<SECRET_VERSION_ID>
在 Cloud Run 模拟器上运行
如需测试新 Secret,请在 Cloud Run 模拟器上本地运行 Cloud Run 服务。
- 从状态栏启动
Cloud Code 菜单。 - 如需构建服务并将其部署到模拟器,请选择
在 Cloud Run 模拟器上运行 。 - 在显示的“在 Cloud Run 模拟器上运行/调试”标签页中,点击 Run。
首次运行配置时,此过程最多可能需要 5 分钟。
输出 面板会显示应用构建和部署的进度。构建好应用后,点击 出现在您的
输出 面板。您的密钥值会显示在成功图形下方。
查看和创建新的 Secret 版本
借助 Cloud Code 的 Secret Manager 视图,您可以快速查看项目的 Secret,并执行管理 Secret 的操作。
查看 Secret 版本的值
- 点击
Secret Manager 视图。 - 点击 Secret 以展开 Secret。
- 在版本文件夹中,右键点击您要查看其值的编号版本,然后选择线上版本值。
请注意,您无法修改 Secret 版本。如需更新 Secret 的值,您必须创建新的版本。
创建新的 Secret 版本
Secret 的值存储在 Secret 版本中。一个 Secret 可以有多个版本。这在 Secret 发生变化的情况下非常有用。使用新版本更新 Secret 意味着您无需更新代码。
- 点击
秘密 经理 视图。 - 右键点击 Secret 的名称,然后选择创建 Secret 版本。
- 在随即显示的 Secret Manager - 创建版本标签页中,输入新值,然后点击创建版本。
- 打开 Secret Manager - Create Secret 标签页后,点击 file_copy 点击复制将 ID 复制到顶层。
- 如需添加较新版本 ID,请将
app.py 中显示的消息变量中的当前版本替换为您复制的较新版本 ID。
latest
。
查看和管理 Secret
停用 Secret 版本
Secret 版本在创建后默认处于启用状态,这意味着可以访问这些版本。已停用的 Secret 无法访问,但您可以随时恢复访问权限 任何时候
如需停用 Secret 版本,请执行以下操作:
- 点击 Cloud Code,然后展开 Secret Manager 部分。
- 点击 Secret 即可展开它。
- 在版本文件夹下,右键点击要停用的编号版本。
- 选择停用版本。
销毁密文版本
密文版本一旦销毁,便无法访问。销毁 Secret 版本是永久的。
- 点击 Cloud Code,然后展开 Secret Manager 部分。
- 点击 Secret 以展开 Secret。
- 在版本文件夹下,右键点击要销毁的版本。
- 选择销毁版本。
清理
如需仅删除您为本快速入门创建的集群,请执行以下操作:
- 点击 Cloud Code,然后展开 Kubernetes 部分。
- 将指针悬停在集群名称上,然后点击 open_in_new 在 Google Cloud 控制台中打开。
- 点击删除,然后再次点击删除进行确认。
如需删除项目(以及关联的资源,包括所有集群),请执行以下操作:
进入 Google Cloud 控制台中的“项目”页面:
选择您为本快速入门创建的项目,然后点击删除。
输入项目 ID 进行确认,然后点击关停。
这将关闭该项目并安排将其删除。