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

GCP第二代Cloud Functions创建时如何使用Secrets密钥

创建2nd generation Cloud Function时使用Secrets密钥的方法

2nd generation Cloud Function没有把密钥配置选项放在和1st gen同位置的基础配置栏,可通过以下两种方式完成密钥挂载:

Cloud Function 1st gen 密钥添加选项界面
Cloud Function 2nd gen 基础配置页无直接密钥入口

控制台可视化配置

  • 填写完函数名称、区域、运行时等基础信息后,展开页面下方的运行时、构建和连接设置折叠面板
  • 找到面板内「安全和映像存储」分类下的Secret Manager板块,点击「添加Secret」按钮
  • 选择提前在Secret Manager中创建好的密钥及对应版本,按需选择挂载方式:
    • 作为环境变量注入:自定义环境变量名称,函数运行时可直接通过读取环境变量获取密钥值
    • 作为卷文件挂载:自定义容器内的文件挂载路径,函数运行时可通过读取对应路径的文件获取密钥内容
  • 配置完成后记得为函数绑定的运行时服务账号授予目标密钥的Secret Manager Secret Accessor角色,否则函数运行时会出现密钥访问权限报错。

gcloud命令行部署配置

如果通过命令行部署2nd gen函数,可直接在部署命令中通过--set-secrets参数指定密钥配置:

  • 注入为环境变量示例:
gcloud functions deploy 你的函数名 \
--gen2 \
--runtime=你的运行时版本(如python311、nodejs20) \
--region=部署区域 \
--source=代码路径 \
--entry-point=函数入口 \
--set-secrets=自定义环境变量名=projects/你的项目ID/secrets/你的密钥名/versions/密钥版本号
  • 挂载为文件示例:
gcloud functions deploy 你的函数名 \
--gen2 \
--runtime=你的运行时版本(如python311、nodejs20) \
--region=部署区域 \
--source=代码路径 \
--entry-point=函数入口 \
--set-secrets=容器内挂载路径=projects/你的项目ID/secrets/你的密钥名/versions/密钥版本号:mount

2nd gen Cloud Function底层基于Cloud Run架构实现,密钥配置逻辑与Cloud Run完全一致,和1st gen的入口位置差异是架构调整导致,并非移除了密钥挂载能力。

内容的提问来源于stack exchange,提问作者Sander van den Oord

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 13:51:10