在 Cloud Code for Cloud Shell 中使用 Secret Manager 管理 Secret

借助 Cloud Code 的 Secret Manager 集成,您可以在 IDE 中创建、查看、更新和使用 Secret,而无需在代码库中存储 Secret。

本页面介绍了如何在 IDE 中访问 Secret Manager,以及如何开始创建和管理 Secret。

启用 Secret Manager API

使用 Cloud Code 管理密文时,密文会安全地存储在 Secret Manager 中,您可以根据需要以编程方式提取。您只需要启用 Secret Manager API 以及管理密文所需的权限:

  1. 确保您使用的是应用代码所在的项目。您的 Secret 必须与应用代码位于同一项目中。

  2. 点击 Cloud Code,然后展开 Secret Manager 资源管理器。

  3. 如果您尚未启用 Secret Manager API,请在 Secret Manager Explorer 中点击启用 Secret Manager API

创建 Secret

如需使用 Secret Manager Explorer 创建 Secret,请按以下步骤操作:

  1. 在您的 IDE 中,点击 Cloud Code,然后展开 Secret Manager Explorer。

  2. Secret Manager 资源管理器中,点击 add 创建 Secret

    创建 Secret 对话框中,设置 Secret 的项目、名称、值和区域,并指定标签来整理 Secret。

或者,您也可以使用编辑器创建 Secret:

  1. 在编辑器中打开包含要作为 Secret 存储的文本的文件。
  2. 选中要存储为 Secret 的文本,右键点击文本,然后点击在 Secret Manager 中创建 Secret (Create Secret in Secret Manager)。
  3. 创建 Secret 对话框中,自定义 Secret 的项目、名称、值、区域和标签。

创建新版 Secret

如需使用 Secret Manager 创建新版 Secret,请按以下步骤操作:

  1. 右键点击现有 Secret,然后选择创建 Secret 版本 (Create Secret Version)。

  2. 创建版本对话框中,使用 Secret 值字段或通过导入文件设置现有密钥的新值。

  3. 如需移除密文的所有先前版本并仅保留您创建的新版本,请选择停用所有旧版本 (Disable all past versions)。

  4. 点击创建版本。您的版本已添加,您可以看到最新的 Secret 版本和以前的版本列在版本下拉列表下。

或者,您也可以在编辑器中创建新版 Secret:

  1. 在编辑器中,打开文件并选中要作为 Secret 存储的文本。

  2. 右键点击突出显示的文本,然后选择在 Secret Manager 中将版本添加到 Secret

管理 Secret 版本

如需启用、停用或销毁某个密钥版本,请右键点击该密钥,然后选择要执行的操作所对应的命令。对于已启用的 Secret 版本,您还可以查看版本的值。

查看 Secret

如需查看 Secret,请在 Secret Manager 资源管理器中从列表中选择一个密钥。Secret 的详细信息(例如名称、复制政策、创建时间戳和资源 ID)列在 Secret 名称下面。

在 Google Cloud 控制台中查看 Secret

或者,您也可以在 Google Cloud 控制台中查看 Secret,方法是在 Secret Manager Explorer 中右键点击相应密钥,然后点击在 Cloud 控制台中打开

在 Kubernetes Explorer 中查看 Secret

如需在 Kubernetes Explorer 中查看 Secret,请按以下步骤操作:

  1. 点击 Cloud Code,然后展开 Kubernetes Explorer。
  2. 展开集群,然后展开 Secret
  3. 展开密文以查看其详细信息。

从您的应用访问 Secret

创建密文后,您可以将其添加在代码中并设置身份验证。

如需从您的应用访问密钥,请执行以下操作:

  1. 安装 Secret Manager 客户端库。

    1. 点击 Cloud Code,然后展开 Cloud API Explorer。

    2. 展开 Cloud Security > Secret Manager API,然后按照您所用语言的“安装客户端库”部分中的说明操作。

  2. 在您的应用代码中自定义并添加相关代码段

    如需获取 Secret 的版本名称以在代码中使用,请在 Secret Manager 面板中选择 Secret,右键点击并选择复制资源 ID

  3. 如需完成身份验证设置,请按照客户端库身份验证指南进行操作:

    • 本地开发:如果您要在本地集群(如 minikube 或 Docker Desktop)或本地模拟器上进行开发,则应完成与工作流相关的“本地开发”部分中说明的步骤。
    • 远程开发:如果您在应用中使用 GKE 集群或 Cloud Run 服务,则应完成“远程开发”部分中与您的工作流相关的步骤,包括在服务帐号上设置所需角色的特定于 Secret Manager 的说明。

将 Secret 添加为环境变量

如需将现有的 Kubernetes Secret 作为环境变量添加到部署中,请按以下步骤操作:

  1. 点击 Cloud Code,然后展开 Kubernetes Explorer。
  2. 展开 minikube 集群,然后展开 Secret
  3. 右键点击代表部署对象的 Secret,然后点击将 Secret 添加为环境变量 (Add Secret as Environment Variable)。

将 Secret 装载为卷

如需将现有的 Kubernetes Secret 作为卷装载到部署的容器中,请按以下步骤操作:

  1. 点击 Cloud Code,然后展开 Kubernetes Explorer。
  2. 展开 minikube 集群,然后展开 Secret
  3. 右键点击代表部署对象的 Secret,然后点击以卷的形式装载 Secret

删除密钥

如需在 Cloud Code 中使用 Secret Manager 删除 Secret,请按以下步骤操作:

  1. 点击 Cloud Code,然后展开 Secret Manager 资源管理器。

  2. 右键点击现有密钥,然后选择在 Cloud 控制台中打开

  3. Secret 详情页面上,点击删除并按照提示删除密钥。