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

如何从AWS Lambda、本地等外部环境访问Google Secret Manager?

这个需求完全可以实现,不需要自行实现OAuth认证,官方客户端库已经内置了完整的认证逻辑,按以下步骤操作即可:

前提准备

首先在GCP控制台完成基础配置:

  • 进入IAM页面创建专属服务账号,为该账号授予roles/secretmanager.secretAccessor(密钥访问者)权限,若有增删改密钥的需求可匹配对应更细粒度的权限
  • 导出该服务账号的JSON格式密钥文件,妥善保管,不要提交到代码仓库

本地PC端操作步骤

  1. 安装对应语言的官方Secret Manager客户端库,以Python为例执行命令:
    pip install google-cloud-secret-manager
  2. 配置凭证识别路径,有两种常用方式:
    • 临时使用:设置系统环境变量GOOGLE_APPLICATION_CREDENTIALS,值为服务账号JSON密钥文件在本地的绝对路径,客户端库会自动读取该变量加载凭证
    • 长期使用:安装Google Cloud SDK后执行gcloud auth application-default login,或直接把服务账号密钥文件放在系统默认凭证路径(Windows为%APPDATA%\gcloud\application_default_credentials.json,Linux/macOS为~/.config/gcloud/application_default_credentials.json),客户端库启动时会自动扫描识别
  3. 调用示例(Python):
from google.cloud import secretmanager

# 无需手动传入凭证,客户端库自动完成认证逻辑
client = secretmanager.SecretManagerServiceClient()

# 替换为你的GCP项目ID、密钥名称、指定版本(latest代表最新版本)
secret_path = "projects/你的GCP项目ID/secrets/你的密钥名称/versions/latest"
resp = client.access_secret_version(request={"name": secret_path})
# 解析得到明文密钥值
secret_value = resp.payload.data.decode("utf-8")

AWS Lambda端操作步骤

  1. 不要把服务账号密钥硬编码到代码中,可将JSON密钥的内容加密存储在Lambda的环境变量中,或存入AWS Secrets Manager中
  2. 打包部署包时将GCP Secret Manager客户端库一同打包,或预先制作成Lambda层挂载使用
  3. 代码中手动加载凭证即可,调用示例(Python):
import os
import json
from google.cloud import secretmanager
from google.oauth2 import service_account

# 从Lambda环境变量读取预先存入的服务账号密钥内容
gcp_key = json.loads(os.environ["GCP_SERVICE_ACCOUNT_KEY"])
credentials = service_account.Credentials.from_service_account_info(gcp_key)

# 用加载好的凭证初始化客户端
client = secretmanager.SecretManagerServiceClient(credentials=credentials)

# 后续调用逻辑和本地环境完全一致
secret_path = "projects/你的GCP项目ID/secrets/你的密钥名称/versions/latest"
resp = client.access_secret_version(request={"name": secret_path})
secret_value = resp.payload.data.decode("utf-8")

注意事项

  • 服务账号权限遵循最小够用原则,仅授予必要的密钥访问权限,降低密钥泄漏后的风险
  • 生产环境若对安全性要求更高,可配置GCP工作负载身份联合,为AWS Lambda的执行角色配置GCP信任关系,直接获取临时访问凭证,无需存储长期有效的服务账号密钥

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:45:05