在 Cloud Shell 专用 Cloud Code 中使用 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 资源管理器中点击启用 Secret Manager API

创建 Secret

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

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

  2. 点击 add 创建 SecretSecret Manager Explorer。

    创建 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. 创建版本对话框中,使用密钥值字段或导入文件来设置现有密钥的新值。

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

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

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

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

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

管理 Secret 版本

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

查看 Secret

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

在 Google Cloud 控制台中查看密钥

或者,您也可以在 Google Cloud 控制台中右键点击 Secret 在 Secret Manager 探索器中打开密钥,然后点击在 Cloud 控制台

在 Kubernetes Explorer 中查看 Secret

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

  1. 点击 Cloud Code,然后展开 Kubernetes 资源管理器。
  2. 展开您的集群,然后展开 Secrets
  3. 展开密文以查看其详细信息。

从应用访问 Secret

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

如需从应用中访问 Secret,请执行以下操作:

  1. 安装 Secret Manager 客户端库。

    1. 点击 Cloud Code,然后展开 Cloud API 探索器。

    2. 展开云安全性 >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 探索器。
  2. 展开 minikube 集群,然后展开 Secret
  3. 右键点击代表部署对象的 Secret,然后点击将 Secret 添加为环境变量 (Add Secret as Environment Variable)。

将 Secret 装载为卷

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

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

删除密钥

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

  1. 点击 Cloud Code,然后展开 Secret Manager 探索器。

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

  3. Secret 详细信息页面上,点击删除,然后按照提示删除 Secret。