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

如何使用Serverless从Google Secrets Manager获取密钥?有无AWS等效方案?

Google Secrets Manager 在 Serverless 框架中的等效实现

Serverless框架原生没有提供类似AWS SSM的${ssm(...)}语法来直接引用Google Secrets Manager的密钥,但可以通过以下两种方式实现等效的密钥加载功能:

方法一:使用第三方插件 serverless-google-secrets

这个插件能实现类似AWS的变量引用能力,步骤如下:

  1. 安装插件:
    npm install serverless-google-secrets --save-dev
    
  2. 在serverless.yml中配置插件和密钥映射:
    plugins:
      - serverless-google-secrets
    
    custom:
      googleSecrets:
        secrets:
          - name: prod/KEY  # 对应Google Secrets Manager中的密钥名称
            key: KEY        # 要注入到函数的环境变量名
    
    environment:
      KEY: ${googleSecrets:KEY}
    

方法二:通过脚本调用 Google Cloud SDK 获取密钥

如果不想依赖第三方插件,可以自行编写脚本在部署时拉取密钥并注入环境变量:

  1. 在serverless.yml中引用自定义脚本的输出:
    environment:
      KEY: ${file(./fetch-secret.js):prod/KEY}
    
  2. 创建fetch-secret.js脚本,借助gcloud命令拉取密钥:
    const { execSync } = require('child_process');
    
    module.exports = (secretId) => {
      try {
        return execSync(`gcloud secrets versions access latest --secret=${secretId}`).toString().trim();
      } catch (err) {
        throw new Error(`获取密钥 ${secretId} 失败: ${err.message}`);
      }
    };
    

注意:使用这种方式需要确保部署环境已安装并配置好Google Cloud SDK,且部署账号拥有访问目标密钥的权限。

内容的提问来源于stack exchange,提问作者Anonymous User

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 08:36:27