了解如何使用 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 服务和密钥的环境。编辑器会预加载云开发所需的工具。
如需创建服务,请执行以下操作:
在 Cloud Code 状态栏中,点击活动项目名称。
在显示的“Quick Pick”菜单中,选择 New Application(新建应用),然后点击 Cloud Run Application(Cloud Run 应用)。
从 Cloud Run 示例列表中,选择 Python (Flask): Cloud Run。
为示例选择一个文件夹,然后点击 Create New Application(创建新应用)。
Cloud Shell Editor 在新工作区中加载服务后,请在
创建 Secret
借助 Secret Manager,您能以二进制 blob 或文本字符串的形式安全地存储、管理和访问 Secret。此外,它还可以管理您的密文,这意味着您无需处理虚拟机或操作服务。
如需使用 Cloud Code 的 Secret Manager 集成创建 Secret,请执行以下操作:
- 点击
Secret Manager 并等待一段时间进行加载。 - 如果系统提示您授权 Cloud Shell 进行 Google Cloud API 调用,请点击授权。
- 点击 add
创建 Secret 。 - 如果系统提示,请从下拉选择器中选择您的 Google Cloud 项目。
- 如果系统提示,请启用 Secret Manager API。
在显示的 Secret Manager - 创建密钥标签页中,在名称字段中输入以下内容:
my-secret
在密钥值字段中,输入:
Hello secret!
点击创建密钥,系统会显示一条消息,指示您的密钥已成功创建。
在代码中添加密钥
Secret 非常适合存储应用在运行时所需的数据库密码、API 密钥或 TLS 证书等配置信息。
如需向您的代码添加密钥,请执行以下操作:
打开
Cloud API 视图,然后选择Secret Manager API 。系统会打开一个标题为 Secret Manager API 的 Google Cloud 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 - Create Secret 标签页,请使用 file_copy 复制 ID。
如需随时获取 Secret 版本的 ID,请依次前往
Secret Manager > [SECRET_NAME] > Versions,将指针悬停在您的版本上,然后点击 复制资源 ID。如需添加版本 ID,请将占位符
替换为复制的版本 ID。<SECRET_VERSION_ID>
在 Cloud Run 模拟器上运行
如需测试新 Secret,请在 Cloud Run 模拟器本地运行 Cloud Run 服务。
- 从状态栏启动
Cloud Code 菜单。 - 如需构建服务并将其部署到模拟器,请选择
Run on Cloud Run Emulator 。 - 在随即显示的“Run/Debug on Cloud Run Emulator”标签页中,点击 Run。
首次运行配置时,此过程最多可能需要 5 分钟。
Output(输出) 面板会显示应用的构建和部署进度。应用构建完毕后,请点击
Output(输出) 面板中显示的 localhost 链接以启动应用。密钥的值会显示在成功图形下方。
查看和创建新的 Secret 版本
通过 Cloud Code 的 Secret Manager 视图,您可以快速查看项目的 Secret,以及管理它们的操作。
查看 Secret 版本的值
- 点击
Secret Manager 视图。 - 点击密钥以展开该密钥。
- 在版本文件夹中,右键点击要查看其值的编号版本,然后选择显示版本值。
请注意,您无法修改 Secret 版本。如需更新 Secret 的值,您必须创建一个新版本。
创建新的 Secret 版本
Secret 的值存储在 Secret 版本中。一个密钥可以有多个版本。这在 Secret 发生更改的情况非常有用。使用新版本更新 Secret 时,您不必更新代码。
- 点击
Secret Manager 视图。 - 右键点击密钥的名称,然后选择创建密钥版本。
- 在随即显示的 Secret Manager - 创建版本标签页中,输入新值,然后点击创建版本。
- 打开 Secret Manager - 创建密钥标签页后,点击 file_copy 复制顶部的 ID。
- 如需添加较新版本 ID,请将
app.py 中显示消息变量的当前版本替换为您复制的较新版本 ID。
latest
。
查看和管理密钥
停用 Secret 版本
Secret 版本创建后默认处于启用状态,这意味着可以访问这些版本。已停用的密钥无法访问,但您可以随时恢复对它的访问权限。
如需停用 Secret 版本,请执行以下操作:
- 点击 Cloud Code,然后展开 Secret Manager 部分。
- 点击密钥以展开该密钥。
- 在版本文件夹下,右键点击要停用的编号版本。
- 选择停用版本。
销毁密文版本
密文版本一旦销毁,便无法访问。销毁 Secret 版本是永久性操作。
- 点击 Cloud Code,然后展开 Secret Manager 部分。
- 点击密钥以展开该密钥。
- 在版本文件夹下,右键点击要销毁的版本。
- 选择销毁版本。
清理
要仅删除您为本快速入门创建的集群,请执行以下操作:
- 点击 Cloud Code,然后展开 Kubernetes 部分。
- 将指针悬停在集群名称上,然后点击 open_in_new 在 Google Cloud 控制台中打开。
- 点击删除,然后再次点击删除进行确认。
如需删除项目(以及关联的资源,包括所有集群),请执行以下操作:
进入 Google Cloud 控制台中的“项目”页面:
选择您为本快速入门创建的项目,然后点击删除。
输入项目 ID 进行确认,然后点击关停。
这将关闭该项目并安排将其删除。