You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过containerOverrides为Cloud Run Job安全传递密钥?求使用示例

使用Cloud Run Job的containerOverrides传递密钥(避免明文泄露)

你当前通过直接设置env的value传递敏感数据,这种方式会导致明文值出现在Cloud Run Jobs的管理界面中,存在密钥泄露风险。利用你发现的IEnvVarSource接口,可以通过引用Google Cloud Secret Manager中的密钥来安全传递敏感信息,避免明文暴露。

实现步骤与代码示例

  1. 前置准备:

    • 目标密钥已存储在Secret Manager中
    • 为Cloud Run Job的服务账号授予roles/secretmanager.secretAccessor权限,确保能读取该密钥
  2. 修改代码,使用valueSource引用密钥:
    替换原代码中直接设置value的环境变量配置,改用valueSource.secretKeyRef来引用Secret Manager中的密钥:

const [runOperation] = await jobsClient.runJob({
  name: jobPath,
  overrides: {
    containerOverrides: [
      {
        args: jobArguments,
        env: [
          {
            name: "FIRESTORE_DATABASE_URL",
            // 不再直接设置value,改用valueSource引用密钥
            valueSource: {
              secretKeyRef: {
                // 填写Secret的完整资源路径,格式:projects/[项目ID]/secrets/[密钥名称]
                secret: "projects/your-project-id/secrets/firestore-database-url",
                // 可选:指定密钥版本,默认使用最新版本
                version: "latest"
              }
            }
          },
        ],
      },
    ],
  },
});

说明

  • secret字段需要填写Secret Manager中密钥的完整资源路径,可在Secret Manager控制台中获取该路径
  • 若无需指定特定版本,version字段可省略,默认拉取最新版本的密钥
  • 配置完成后,Cloud Run Jobs界面仅显示密钥的引用信息,不会暴露明文值,彻底规避泄露风险

内容的提问来源于stack exchange,提问作者Dživo Jelić

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 18:43:22